DPDK: Inter VM communication of iperf3 TCP throughput is very low on same host compare to non DPDK throughput
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
DPDK |
New
|
Undecided
|
Unassigned | ||
devstack |
Invalid
|
Undecided
|
Unassigned | ||
networking-ovs-dpdk |
Incomplete
|
Medium
|
Unassigned |
Bug Description
Host - ubuntu16.04
devstack - stable/newton
which install DPDK 16.07 and OVS 2.6 versions
with DPDK plugin and following DPDK configurations
Grub changes
GRUB_CMDLINE_
local.conf - changes for DPDK
enable_plugin networking-ovs-dpdk https:/
OVS_DPDK_
OVS_NUM_HUGEPAGES=8
OVS_CORE_MASK=2
OVS_PMD_CORE_MASK=4
OVS_DPDK_
OVS_SOCKET_MEM=2048
OVS_DPDK_
OVS_ALLOCATE_
OVS_HUGEPAGE_
MULTI_HOST=1
OVS_DATAPATH_
before VM creation
#nova flavor-key m1.small set hw:mem_
Able to create two ubuntu instance in flavor m1.small
Achieved iperf3 tcp throughput of ~7.5Gbps
Ensured the vhostport is created and HugePage is consumed at the end of 2VM created each of 2GB ie 4GB for VMs and 2GB for socket totally 6GB
$ sudo cat /proc/meminfo |grep Huge
AnonHugePages: 0 kB
HugePages_Total: 8
HugePages_Free: 2
HugePages_Rsvd: 0
HugePages_Surp: 0
Hugepagesize: 1048576 kB
The same scenario carried for without DPDK case of openstack and achieved higher throughput of ~19Gbps, which is contradictory to the expected results. Kindly suggest me what additional DPDK configuration to be done for high throughput. Also tried cpu pinning and multi queue for OpenStack DPDK but no improvement in the result.
description: | updated |
Changed in devstack: | |
status: | New → Invalid |
Changed in networking-ovs-dpdk: | |
status: | Triaged → Incomplete |
Hello. Just several questions about setup you are running.
1 - What is NUMA topology on your host?
2 - If there is NUMA topology, how PMD threads are spreading across NUMA nodes?
Best performance might be achieved if all PMD threads (as well as all vCPU pinned to VMs) are located on a same NUMA node.
For more detailed information about performance tuning please refer to https:/ /github. com/openvswitch /ovs/blob/ branch- 2.6/INSTALL. DPDK-ADVANCED. md