[ovs-dev] Integration of Open vSwitch

Simon Horman horms at verge.net.au
Thu Dec 1 07:51:38 UTC 2011


On Wed, Nov 30, 2011 at 09:40:28PM +0800, Herbert Xu wrote:
> On Wed, Nov 30, 2011 at 08:14:51AM -0500, jamal wrote:
> > On Wed, 2011-11-30 at 15:00 +0800, Herbert Xu wrote:
> > 
> > 
> > > The other factor I considered is scalability.  The OVS code as is
> > > is not really friendly to SMP/NUMA scalability (but as Eric pointed,
> > > neither is the classifier/action layer). 
> > 
> > Did you mean the qdisc funnel-to-interface part which Eric is hopefully
> > going to work on now that bql is in? classifier/action happens way
> > before that.
> 
> I actually meant the scalability with adding/deleting flows,
> or in the case with qdiscs, filters.
> 
> OVS is quite scalable on the fast-path, but when it comes to
> new flows, you have a bottleneck.

Having done some testing of OVS in relation to both the
number of flows I can stuff into the system and how fast I can do so,
I agree.

As it stands I don't believe that there has been a whole lot
of work so far on optimising for high rates of new flows. I say
this based on a low-hang optimisations I have found (and discussed
on the OVS dev list).

Obviously at some point the low-hanging fruit can all be picked and
making things faster becomes more difficult. And it seems to me
that the user-space controller is only single threaded and that
is a significant bottle-neck to scaling flow creation beyond some point.

But I also suspect there are lot of use-cases for OVS where the
current code scales sufficiently.





More information about the dev mailing list