[ovs-discuss] some questions about ovs datapath performace
jpettit at ovn.org
Fri Dec 9 08:21:09 UTC 2016
> On Dec 8, 2016, at 10:00 PM, Benq Wu <59466980 at qq.com> wrote:
> <OpenVswitch Performance measurements & analysis> written by Madhu Challa, shows some tests that datapath forwarding performance is lower than ovs+dpdk.
> STANDARD-OVS DPDK-OVS LINUX-BRIDGE
> Gbits / sec 1.159 9.9 1.04
> Mpps 1.72 14.85 1.55
> 1) What is the main reason for the lower performance of datapath compared with ovs+dpdk?
The kernel provides a number of services as the packet traverses the kernel--whether they're needed or not. With DPDK, the packet is handed directly to userspace from the NIC, and any service that's needed on the packet needs to be written in userapce for DPDK. Both approaches are working on improvements: the DPDK folks are adding additional services that DPDK applications can use, and the kernel folks are reducing the overhead needed to process packets. Each approach has pluses and minuses depending on what you're trying to accomplish.
> 2) If we create some kthreads for datapath to poll the NIC，and running datapath in the kthreads, how about the performance compared with ovs+dpdk? That should not be lower than ovs+dpdk in theory, I guess.
There's a fair amount of overhead in processing the packet in the kernel as it traverses the networking stack that simply doesn't happen in DPDK due to bypassing the kernel.
More information about the discuss