Data Path Development Kit (DPDK)
Packet handling in Kernel has performance overheads due to interrupt handling in Kernel, data copy between Kernel and user space, system calls, and context switching. The Data Plane Development Kit (DPDK) provides high-performance packet processing libraries and user-space drivers for accelerated user-space data paths. The DPDK uses a run-to-completion model for enhanced network packet throughput and performance with much lower latency. It employs methods to avoid polling threads instead of interrupt processing, huge pages, multi-core processing, processor affinity, no copy from Kernel, lockless ring design with readers, and writers running on separate cores. Refer http://dpdk.org/.
Open vSwitch with DPDK
Open vSwitch can use the DPDK library to operate entirely in the user space as separate threads of the vswitch
daemon (vswitchd
).
Figure 8: OVS-DPDK components
Using DPDK with OVS provides a performance boost by optimizing hotspot areas inside OVS using the...