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

Yanqin Wei Yanqin.Wei at arm.com
Wed Jul 8 08:17:00 UTC 2020


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. 
> 
> 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.
> 
> Regards, -Harry
> 
> <snip patch details>


More information about the dev mailing list