Intel® Data Plane Development Kit (Intel® DPDK) is a set of optimized data plane software libraries and drivers that can be used to accelerate packet processing on Intel® architecture. The performance of Intel DPDK scales with improvements in processor technology from Intel® Atom™ to Intel® Xeon® processors. In April 2013 6WIND established dpdk.org an Open Source Project where Intel DPDK is offered under the open source BSD* license. Whether using the open source solution or the Intel DPDK, developers now have the ability to accelerate network applications across a broad spectrum, including telecom, enterprise, and cloud applications. The advantages of combining Intel DPDK with Intel hardware include portability, scalability, and integration with other Intel hardware solutions for even more performance gains. This blog will cover various use cases including virtual switching, big data, and next-generation firewalls where Intel DPDK packet handling has been of value.
Network Function Virtualization
Intel DPDK can be very useful when incorporated within virtualized environments. For example, a recent trend in Software Defined Networks (SDN) is increasing demand for fast host-based packet handling and a move towards Network Functions Virtualization (NFV). NFV is a new way to provide network functions such as firewalls, domain name service, and network address translation as a fully virtualized infrastructure. One example of this is Open vSwitch*, which is an open source solution capable of providing virtual switching. Intel DPDK has been combined with Open vSwitch to provide an accelerated experience.
Telecommunications Industry
The telecommunications industry is increasingly moving towards virtualization in an effort to provide more agility, flexibility, and standardization within its network environments, which over time have traditionally grown in a more heterogeneous way. In the white paper “Carrier Cloud Telecoms – Exploring the Challenges of Deploying Virtualization and SDN in Telecoms Networks”, Tieto in collaboration with Intel showed a Cloud telecom’s use case that combines SDN, NFV, Intel DPDK, Openflow*, and Open vSwitch. They looked at multiple scenarios that include dynamic provisioning of 4G/LTE traffic and resources in a virtualized SDN environment, high-performance and energy-efficient packet processing, and protocol distribution using the Intel DPDK and the Tieto IP stack (TIP), 4G/LTE to 3G video stream handover scenario, and a Packet Data Network Gateway scenario where SDN is used for the handover of Internet traffic.
The white paper NEC* Virtualized EPC Innovation Powered by Multi Core Intel® Architecture Processors, discusses how NEC was able to deploy a virtualized Evolved Packet Core (vEPC), which is a framework for converging data and voice on 4G Long-Term Evolution (LTE) networks, on a common Intel architecture server platform with Intel DPDK and achieve carrier grade service. NEC adopted the Intel DPDK for its vEPC in order to significantly improve the data plane forwarding performance in a virtualization environment.
Next-generation Firewalls
The need for continued refinements in network security have led to improved implementations of firewalls, which is another growing segment that can benefit from Intel DPDK. These next-generation firewalls may also be part of an NFV solution. Basic firewalls that are used for simple packet filtering have evolved in recent years to perform more advanced applications such as intrusion detection and prevention (IPS), network antivirus, IPsec, SSL, application control, and more. These features all reside in the data plane and require deep packet inspection of the data streams, cryptographic and compression capabilities, and heavy processing of the packet contents. A next-generation firewall was designed using Wind River Network Acceleration Platform with Intel DPDK and Intel® QuickAssist Technology§. Intel provides the hardware to receive and transmit network traffic efficiently, along with fast CPUs and large caches, which are ideal for operating with these data-intensive applications. Intel DPDK provides the mechanisms that support high-performance alternatives to Linux* system calls, bypassing the generic issues of the Linux kernel. Finally, Wind River Network Acceleration Platform builds on the Intel infrastructure to provide acceleration of native Linux applications such as an Apache server and provide even higher acceleration for security applications ported onto the network acceleration engine. For more information on this use case see the white paper “Multi-Core Networking For The New Data Plane” and watch a live demonstration here, which provides an example of a next-generation firewall capable of analytics to monitor user traffic applications, and content inspection for malware. On a related note, Intel DPDK is combined with Hyperscan and other Intel technologies for a next-generation IPS solution, which is included as part of the Intel® Security Controller.
Big Data Analytics
For a use case involving Big Data analytics, Aspera and Intel investigated ultra-high-speed data transfer solutions built on Aspera’s fasp* transport technology and the Intel® Xeon® processor E5-2600 v3 product family. The solution was able to achieve predictable ultra-high WAN transfer speeds on commodity Internet connections on both bare metal and virtualized hardware platforms, including over networks with hundreds of milliseconds of round-trip time and several percentage points of packet loss characteristic of typical global-distance WANs. By using Intel DPDK, software engineers were able to reduce the number of memory copies needed to send and receive a packet. This enabled Aspera to boost single stream data transfer speeds to 37.75 Gbps on the tested system1, which represents network utilization of 39 Gbps when Ethernet framing and IP packet headers are accounted for. The team also began preliminary investigation of the transfer performance on virtualized platforms by testing on a kernel-based virtual machine (KVM) hypervisor and obtained initial transfer speeds of 16.1 Gbps. The KVM solution was not yet NUMA or memory optimized, and thus the team expects to obtain even faster speeds as they apply these optimizations in the future. For details about performance findings, system specifications, software specifications, etc. see the white paper Big Data Technologies for Ultra-High-Speed data Transfer and Processing.
Power Grid
As the world’s largest electric utility company, the State Grid Corporation of China (SGCC) provides power to about 1.1 billion people. SGCC relies on a high performance computing cluster to ensure the power grid’s safe and stable operation. With the expansion of China’s power grid size, SGCC’s Advanced Digital Power System Simulator* (ADPSS*) had to be enhanced to meet the state’s increasing power supply demands. The white paper “An integrated Intel® architecture based solution for power grid simulation” explores these challenges. Intel DPDK was one of the key ingredients used to reduce the latency to within 50 microseconds for ADPSS. This was a requirement for creating a large scale power system simulation for 3,000 generators and 30,000 grid transmission lines.
Summary
Intel DPDK can help with a broad spectrum of use cases including NFV, next-generation firewalls, and big data across different industries such as telecommunications, energy, and information technology. It can provide optimization anytime you have high performance applications utilizing small (64 byte) networking data packets. It offers a simple software programming model that scales from Intel Atom processors to the latest Intel Xeon processors, providing flexible system configurations to meet any customer requirements for performance and scalable I/O. The benefits provided by Intel DPDK can be combined with other Intel technologies for additional improvements. These can include Intel QuickAssist Technology, a cryptographic accelerator and Hyperscan, a Deep Packet Inspection solution.
Resources
Open-Source Project
dpdk.org
Intel® DPDK: Overview
http://www.intel.com/content/www/us/en/intelligent-systems/intel-technology/dpdk-packet-processing-ia-overview-presentation.html
Intel® DPDK: Installation and Configuration Guide
http://www.intel.com/content/www/us/en/intelligent-systems/intel-technology/intel-dpdk-getting-started-guide.html.
Intel® DPDK: Programmer’s Guide
http://www.intel.com/content/www/us/en/intelligent-systems/intel-technology/intel-dpdk-programmers-guide.html.
Intel® DPDK: API Reference Documentation
http://www.intel.com/content/www/us/en/intelligent-systems/intel-technology/intel-dpdk-api-reference.html.
Intel DPDK: Sample Applications
http://www.intel.com/content/www/us/en/intelligent-systems/intel-technology/intel-dpdk-sample-applications-user-guide.html.
Intel® DPDK: Latest Source Code Packages for the Intel® DPDK Library
http://www.intel.com/content/www/us/en/intelligent-systems/intel-technology/dpdk-source-code.html
About the Author
David Mulnix has been a software engineer with Intel Corporation for over 15 years. His areas of focus have included software automation, server power and performance analysis, and cloud security.