[ovs-dev] criteria/benchmarks for an improved userspace datapath classifier?

Ian Stokes ian.stokes at intel.com
Tue Jul 2 18:43:52 UTC 2019

On 7/2/2019 6:00 PM, Ben Pfaff wrote:
> Hi Ilya and Ian.  Please allow me to introduce Michal Orsak, a grad
> student currently looking at packet classifiers.  He's implemented a
> novel classifier that is faster than the one already in OVS in the
> benchmarks that he's run.  His classifier is tree-based, like most
> high-performance classifiers, but also incremental so that flows can be
> inserted and deleted individually without undue delay.  Ultimately, it
> might make sense to replace the OVS userspace datapath classifier by one
> based on the concepts that he's come up with.

Thanks for the introduction Ben. I wasn't aware of Michals work. The 
timing is quite apt as currently I've been looking at Harrys (CCd) 
approach to improving performance for the current DPCLS.


I was hoping to have this approach in place for OVS 2.12 as there's been 
ongoing testing/reviews across the community with general improvements 
of ~ 15% or more for both x86 and ARM architectures which looks promising.

I'd be interested in seeing Michals proposals if there are patches 
available that would be great.

> A difficulty with classifiers, however, is coming up with an appropriate
> set of benchmarks to compare them fairly.  The userspace datapath
> focuses on performance, so do you have a set of benchmarks that you
> recommend for comparison?  Are there other criteria that would be
> important (besides correctness)?

Agreed, that's something we've been looking for feedback on from the 
community to date. Most testing we have seen have been performance focused.

The areas I think that would be good to measure would be flow 
addition/flow deletion overhead in CPU cycles. Also memory and time 
complexity comparisons for existing and proposed techniques might be 
nice to see.


> (I'd take answers from anyone, not just Ian and Ilya!)
> Thanks,
> Ben.

More information about the dev mailing list