A Look at Intel’s Dataplane Development Kit

The increased performance and cost-efficiency of modern multi-core architectures allows for packet processing implemented in software instead of using dedicated hardware. Such solutions provide large flexibility as features can be added at any time. The drawback of such systems are bottlenecks which appear during the processing of packets at line rate up to 10 Gbit/s. Hence, specialized high-speed packet processing frameworks are needed to use the full potential of commodity hardware. Different research groups have identified several limiting factors and proposed their own solutions by implementing custom drivers and kernel modules. We provide a survey-like introduction to three different frameworks: the Intel Dataplane Development Kit, netmap and PF RING DNA. To understand the required background of packet processing implemented in software, we explain the mechanisms of modern network adapters and network stacks by reference to Unix-based operating systems. In particular, we present and compare the different techniques that are used by those frameworks to make high-speed packet processing feasible.