Intel DPDK
- Single Intel Xeon processor platform achieves over 80 Mpps throughput
- http://www.intel.com/content/dam/www/public/us/en/documents/solution-briefs/communications-packet-processing-brief.pdf
Key software components
-
Environment Abstraction Layer provides access to low-level resources: memory space, logical cores
-
Memory Pool Manager allocates numa-aware pools of objects in huge-page memory space
-
Buffer Manager pre-allocates fixed size buffers
-
Queue Manager implements safe lockless queues instead of using spinlocks
-
Ring Manager provides a lockless implementation for single or multi producer/consumer enqueue/dequeue operations suporting bulk operations to reduce overhead for efficient passing of events, data and packet buffers
-
Flow Classification provides an efficient mechanism for generating a hash used to combine packets into flows
-
Poll Mode Drivers for 1GbE and 10GbE Ethernet controllers greatly speed up the packet pipeline