[ovs-dev] Update on DDlog port of ovn-northd

Mark Michelson mmichels at redhat.com
Mon Jul 15 13:30:05 UTC 2019


I did install DDlog originally back in early December last year. So 
there are probably remnants of that still present. However, I did 
perform a `stack install` using an updated pull of master on Friday. So 
I guess the `stack install` didn't get rid of the old installation?

Also, there's no `ddlog --version` or anything similar to see what 
version of DDlog is installed. That could be a nice feature to have in 
the near future.

On 7/12/19 12:40 PM, Leonid Ryzhyk wrote:
> Thanks for trying it out!  Sounds like you have a very old version of 
> ddlog. If you install from source, please make sure that you run `stack 
> install` and that there is no other version off ddlog in your path other 
> than the one created by `stack install`.
> 
> Leonid
> 
> On Fri, Jul 12, 2019, 9:05 AM Mark Michelson <mmichels at redhat.com 
> <mailto:mmichels at redhat.com>> wrote:
> 
>     On 7/12/19 3:29 AM, Leonid Ryzhyk wrote:
>      > Dear OVN developers,
>      >
>      > This is a brief update on the state of the DDlog port of ovn-northd.
>      >
>      > We completed the initial implementation of ovn-northd in DDlog
>     few months
>      > ago.  Justin kindly
>      > helped to integrate it with OVN, so that it can be used as a drop-in
>      > replacement for the C
>      > version (and passes all the tests in the OVN test suite).  The DDlog
>      > implementation does
>      > not have any of the new features/improvements added in April 2019
>     or later.
>      >
>      > ## Repository
>      >
>      > The code is in the `ddlog-dev` branch of the `ovn-org/ovn`
>     repository:
>      > https://github.com/ovn-org/ovn/tree/ddlog-dev
> 
>     Hi Leonid,
> 
>     I ran into an issue when attempting to build ovn-northd. I successfully
>     installed DDLog, but then I encountered this issue when building OVN:
> 
>     ddlog -i ovn/northd/ovn_northd.dl -L
>     /home/putnopvut/differential-datalog/lib
>     ddlog: Failed to parse input file: "ovn/northd/ovn_northd.dl" (line 94,
>     column 5):
>     unexpected "&"
>     expecting "not", variable name, relation name, "var", expression or "."
> 
>     The line in question looks like this:
> 
>           &SwitchPort(.lsp = lsp, .sw = &sw),
> 
>     Any idea what's gone wrong here?
> 
>     Thanks,
> 
>     Mark Michelson
> 
> 
> 
>      >
>      > ## Documentation
>      >
>      > Building and using ovn-northd-ddlog:
>      >
>     https://github.com/ovn-org/ovn/blob/ddlog-dev/ovn/northd/docs/design.md
>      >
>      > Debugging ovn-northd-ddlog:
>      >
>     https://github.com/ovn-org/ovn/blob/ddlog-dev/ovn/northd/docs/debugging.md
>      >
>      > ## Preliminary performance results
>      >
>      > Han Zhou kindly tested ovn-northd-ddlog with his OVN scale test
>     and even
>      > found a nasty
>      > performance bug in the process (thanks, Han!).  He reports that DDlog
>      > speeds up the test
>      > by almost a factor of 10:
>      >
>      > - ddlog version: 7:39min
>      > - C version: 67:47min
>      >
>      > This is great, and in fact profiling shows that there is still
>     plenty of
>      > space for
>      > improvement.  He also reports a 10+ times increase in memory
>     footprint:
>      >
>      > - ddlog version: 1944696KB
>      > - C version: 147984KB
>      >
>      > Again, we are working on a number of optimizations, which should
>     reduce
>      > this overhead; although it will never be as low as C, since DDlog
>      > fundamentally
>      > needs to cache more state to enable fast incremental computation.
>      >
>      > Han also used DDlog's record&replay feature to capture all northd
>      > transactions
>      > performed by the scale test in a format that can be replayed
>     against the
>      > standalone DDlog executable without having to reproduce Han's
>     OpenStack
>      > setup.
>      > The replay file is here: http://ryzhyk.net/replay.tgz
>      >
>      > Instructions for replaying this script:
>      >
>     https://github.com/ovn-org/ovn/blob/ddlog-dev/ovn/northd/docs/debugging.md#record-and-replay-ddlog-execution
>      > The script will run for a few
>      > minutes and finally print some profiling information, including the
>      > breakdown of
>      > DDlog's CPU and memory usage.
>      >
>      > ## Next steps
>      >
>      > We seek help from the OVN community in maintaining
>     ovn-northd-ddlog.  The
>      > first
>      > step is to start porting new OVN features introduced in the last
>     few months
>      > to
>      > DDlog.
>      >
>      > Leonid
> 
>     Hi Leonid,
> 
>     I attempted
> 
>      > _______________________________________________
>      > dev mailing list
>      > dev at openvswitch.org <mailto:dev at openvswitch.org>
>      > https://mail.openvswitch.org/mailman/listinfo/ovs-dev
>      >
> 



More information about the dev mailing list