FOSDEM15 SDN developer room talk
DPDK performance
How to not just do a demo with DPDK
The Intel DPDK provides a platform for building high performance Network Function Virtualization applications. But it is hard to get high performance unless certain design tradeoffs are made. This talk focuses on the lessons learned in creating the Brocade vRouter using DPDK. It covers some of the architecture, locking and low level issues that all have to be dealt with to achieve 80 Million packets per second forwarding.
24. LPM issues
●
Prefix → 8 bit next hop
●
Missing barriers
●
Rule update
●
Fixed size /8 table
25. PCI passthrough
●
I/O TLB size
– Hypervisor uses IOMMU to map guest
– IOMMU has small TLB cache
– Guest I/O exceeds TLB
●
Solution
– 1G hugepage on host KVM
– Put Guest in huge pages
– Only on KVM – requires manual configuration
26. DPDK Issues
●
Static configuration
– Features
– CPU architecture
– Table sizes
●
Machine specific initialization
– # of Cores, Memory Channels
●
Poor device model
– Works for Intel E1000 like devices
27. Conclusion
●
DPDK can be used to build fast router
– 12M pps per core
●
Lots of ways to go slow
– Fewer ways to go fast