ovs v ovs-dpdk
TRANSCRIPT
OVSv
OVS-DPDK
ABOUT ME
Md Safiyat Reza
Open-source enthusiast
Delving into cloud.
safiyat
@reza_safiyat
What is OVS?
VM
virtio driver
ping 8.8.8.8
OK, wait a sec
virtio driver
QEMU virtiobackend
VM wants to ping 8.8.8.8
OK, wait a sec
QEMU virtiobackend
tap device
Hey there, ping 8.8.8.8 for me
OK, gimme a moment
tap device
Kernel
Here is an ICMP packet. Do what you
do best.
Get back to you in a jiffy
Why OVS-DPDK?
• Lots of components between VM and physical networking infrastructure
causing scalability issues and performance degradation.
• Context switches
• Polling
• Hugepages
• Pinned CPUs
• Userspace IO
• Kernel flows are basically a cache
• OVS performs very well so long as the packets hit this cache
• Default flow timeout is 10 seconds.
• Most of the overhead here is in copying packets in the userspace and context switching.
Standard OVS OVS-DPDK
Gbps 1.159 9.9
MPPS 1.72 14.85
Throughput
• Xeon [email protected] GHz
• Intel 82599EB
• Linux Kernel 3.17
Standard OVS OVS-DPDK Difference
TCP 46 33 ~ 30%
UDP 51 32 ~ 37%
Latency
• Xeon [email protected] GHz
• Intel 82599EB
• Linux Kernel 3.17
Thank you!