[ovs-dev] [PATCH 0/4] DPDK performance improvement: exact match cache

Daniele Di Proietto ddiproietto at vmware.com
Wed Jul 23 00:06:22 UTC 2014


This series introduces in dpif-netdev an exact match cache for frequently
used flows. It uses the RSS hash (currently implemented only for netdev-dpdk)
to search the miniflow in an hash table.

While there might be still some tuning left to do, these patch provides
significant performance improvements for the following simple testcase:

CPU: Intel(R) Xeon(R) CPU E5-2650 0 @ 2.00GHz
NIC: Intel Corporation Ethernet Controller 10-Gigabit X540-AT2 (rev 01)
     dual port (dpdk0, dpdk1)

    Bridge "br0"
        Port "dpdk1"
            Interface "dpdk1"
                type: dpdk
        Port "br0"
            Interface "br0"
                type: internal
        Port "dpdk0"
            Interface "dpdk0"
                type: dpdk

Source connected to dpdk0, sink to dpdk1

1 flow 64 bytes UDP packets going from source to sink

zero drop throughput:

   master: ~ 5.5 Mpps
new patch: ~12.5 Mpps

Daniele Di Proietto (4):
  dpif-netdev: Reduce netdev_flow_key size
  dpif-netdev: Reintroduce ref_cnt for dp_netdev_flow
  ofpbuf: Add ofpbuf_rss()
  dpif-netdev: Added exact match cache

 lib/dpif-netdev.c | 451 +++++++++++++++++++++++++++++++++++++++++++++---------
 lib/netdev-dpdk.c |   3 +-
 lib/ofpbuf.h      |  13 ++
 3 files changed, 391 insertions(+), 76 deletions(-)

-- 
2.0.0




More information about the dev mailing list