[ovs-dev] ovn-northd-ddlog scale issues

Ben Pfaff blp at ovn.org
Fri Jul 2 00:57:49 UTC 2021


On Thu, Jul 01, 2021 at 12:18:12AM -0700, Ben Pfaff wrote:
> On Tue, Jun 29, 2021 at 03:32:26PM -0700, Ben Pfaff wrote:
> > On Mon, Jun 28, 2021 at 05:40:53PM +0200, Dumitru Ceara wrote:
> > > On 5/20/21 5:50 PM, Ben Pfaff wrote:
> > > > On Thu, May 20, 2021 at 05:06:26PM +0200, Dumitru Ceara wrote:
> > > >> On 4/7/21 6:49 PM, Ben Pfaff wrote:
> > > >>
> > > >> [...]
> > > >>
> > > >>>>
> > > >>>> Thanks!  I can download them now.  It's back on my to-do list.
> > > >>>
> > > >>> I can reproduce the problem now.  I haven't fixed it yet, but I did fix
> > > >>> a nasty performance problem in ovn-nbctl that became really apparent
> > > >>> when working with your databases:
> > > >>> https://mail.openvswitch.org/pipermail/ovs-dev/2021-April/381909.html
> > > >>
> > > >> I was wondering if you had a chance to look at this since.
> > > > 
> > > > I haven't kept going.  I consider my series that gives a 5x performance
> > > > improvement a kind of checkpoint along the way.  I assumed at first that
> > > > it would get reviewed quickly so I could move on to other things, but no
> > > > one has looked at it yet.
> > > > 
> > > 
> > > 
> > > Hi Ben,
> > > 
> > > Just a note, I've tried this again with ovn-northd-ddlog built from
> > > current OVN master branch, running against the same DBs:
> > 
> > I've identified the problem.  It's because of the ReachableLogicalRouter
> > relation, which holds all pairs of routers (A,B) such that a packet at
> > router A can transit switches and rotuers to arrive at router B.  This
> > is inherently O(n**2) and in this example n is about 8,000.
> > 
> > I'll fix it.
> 
> The following is pretty close, but I see three test failures I need to
> investigate:
> 
>      273: ovn.at:11253       ovn -- vlan traffic for external network with distributed router gateway port -- ovn-northd-ddlog -- dp-groups=yes
>      641: ovn.at:26903       ovn -- proxy-arp: 1 HVs, 1 LSs, 1 lport/LS, 1 LR -- ovn-northd-ddlog -- dp-groups=yes
>           proxy-arp
>      642: ovn.at:26903       ovn -- proxy-arp: 1 HVs, 1 LSs, 1 lport/LS, 1 LR -- ovn-northd-ddlog -- dp-groups=no
>           proxy-arp

These test failures were red herrings.  I posted a formal version of
this patch for review:
https://patchwork.ozlabs.org/project/ovn/patch/20210702005640.1627098-1-blp@ovn.org/


More information about the dev mailing list