[ovs-dev] [PATCH v1 0/6] Memory access optimization for flow scalability of userspace datapath.

Van Haaren, Harry harry.van.haaren at intel.com
Wed Jul 8 10:46:02 UTC 2020


> -----Original Message-----
> From: Yanqin Wei <Yanqin.Wei at arm.com>
> Sent: Wednesday, July 8, 2020 9:17 AM
> To: Van Haaren, Harry <harry.van.haaren at intel.com>; dev at openvswitch.org
> Cc: Ruifeng Wang <Ruifeng.Wang at arm.com>; Lijian Zhang
> <Lijian.Zhang at arm.com>; i.maximets at ovn.org; nd <nd at arm.com>; Stokes, Ian
> <ian.stokes at intel.com>; William Tu <u9012063 at gmail.com>
> Subject: RE: [ovs-dev] [PATCH v1 0/6] Memory access optimization for flow
> scalability of userspace datapath.
> 
> Hi Harry,
> 
> > >
> > > OVS userspace datapath is a program with heavy memory access. It needs
> > > to load/store a large number of memory, including packet header,
> > > metadata, EMC/SMC/DPCLS tables and so on. It causes a lot of cache
> > > line missing and refilling, which has a great impact on flow
> > > scalability. And in some cases, EMC has a negative impact on the
> > > overall performance. It is difficult for user to dynamically manage the
> > enabling of EMC.
> > >
> > > This series of patches improve memory access of userspace datapath as
> > > follows:
> > > 1. Reduce the number of metadata cache line accessed by non-tunnel traffic.
> > > 2. Decrease unnecessary memory load/store for batch/flow.
> > > 3. Modify the layout of EMC data struct. Centralize the storage of
> > > hash value.
> > >
> > > In the NIC2NIC traffic tests, the overall performance improvement is
> > > observed, especially in multi-flow cases.
> > > Flows           delta
> > > 1-1K flows      5-10%
> > > 10K flows       20%
> > > 100K flows      40%
> > > EMC disable     10%
> >
> > Hi Yanqin,
> >
> > A quick simple test here with EMC disabled shows similar performance results
> > to your data above, nice work. I think the optimizations here make sense, to
> > not touch extra cache-lines until required (eg tunnel metadata), particularly
> > for outer packet parsing.
> Many thanks for your time to test and review the patch.

Performed some EMC based tests and multi-flow tests, ran "make check" unit tests;
Tested-by: Harry van Haaren <harry.van.haaren at intel.com>

> > I hope to enable more optimizations around dpif-netdev in 2.15, so if you are
> > also planning to do more work in this area, it would be good to sync to avoid
> > excessive rebasing in future?
> That is great to hear that. If we have new work planed in 2.15, we will discuss
> with you and community.

That would be great - looking forward to collaborating there.

> > Regards, -Harry
> >
> > <snip patch details>


More information about the dev mailing list