The Intel® Data Plane Development Kit (Intel® DPDK) is changing the way companies develop solutions for wire-speed DPI and other packet processing functions. The dpdk.org Open-Source Project established by 6WIND aims to accelerate the development of Intel architecture-based networking products by making the Intel DPDK libraries, drivers and documentation available on one site, together with information on third party support and enhancements. System developers should find the dpdk.org Open-Source Project a valuable resource, making the benefits of the Intel DPDK readily accessible to a wide range of companies.

In this blog I am going to explore the benefits of using Intel DPDK and review the resources available through the dpdk.org Open-Source Project and the wider ecosystem. For this blog I have been talking to 6WIND, a commercial software supplier and an Affiliate member of the Intel® Intelligent Systems Alliance. The 250-plus members of the Alliance collaborate closely with Intel to create hardware, software, tools, and services to help speed intelligent systems to market.

Intel® Data Plane Development Kit

The Intel DPDK is a set of source code programming libraries that accelerate basic data plane functions for Intel® processors. The Intel DPDK libraries have been optimized for packet processing performance on IA processors such as the Intel® Xeon® Processor E5-2600 and ES-2400 series. By using the Intel DPDK system developers can quickly implement packet processing functions, significantly reducing time to market.

The Intel DPDK Memory Manager is responsible for allocating pools of objects in memory. The Memory Manager creates a pool in memory space using a ring to store free objects. The Intel DPDK Buffer Manager handles pre-allocated fixed size buffers which are stored in memory pools. The Buffer Manager significantly reduces the amount of time the operating system spends allocating and de-allocating buffers. The Intel DPDK Queue Manager implements lockless queues, instead of using spinlocks, allowing different software components to process packets, while avoiding unnecessary wait times. The Intel DPDK Flow Classifier uses the Intel® Streaming SIMD Extensions (Intel® SSE) to implement hash based flow classification to quickly place packets into flows for processing. This is an efficient mechanism that greatly improves throughput.

The Intel DPDK includes Poll Mode Drivers for Gigabit Ethernet (GE) and 10GE controllers. The drivers are designed to work without asynchronous, interrupt based, signaling mechanisms, greatly increasing the packet pipeline performance.

The Intel DPDK is provided as free, unsupported, BSD-licensed source, downloadable from Intel, in addition to part of commercial solutions from leading ecosystem companies including Wind River, Tieto and 6WIND, and through the dpdk.org Open-Source Project.

dpdk.org Open-Source Project

The dpdk.org Open-Source Project was established in April 2013 by 6WIND. The project provides a central store for source code, documents and application examples. The dpdk.org site includes libraries, drivers, documentation, development mailing list, git repository and support relevant to high-performance packet processing using the Intel DPDK. The site also includes links to relevant press releases from key ecosystem companies. To ensure the best user experience the Intel source code provided through dpdk.org have been thoroughly tested and may be one or two revisions behind the latest version available direct from Intel.

The dpdk.org Open-Source Project seems to be gaining significant interest. “We have already had 50 companies download code from the site” says Charlie Ashton, VP of Marketing at 6WIND.

Enhanced Support for Intel® Data Plane Development Kit

The three leading companies providing commercial support for Intel DPDK are Wind River, Tieto and 6WIND. The Wind River Intelligent Network Platform (INP) is an integrated software solution for intelligent network systems. The Wind River INP integrates an application acceleration engine, content inspection engine and flow analysis engine. All three engines leverage the performance of the Intel DPDK. The platform is optimized for Wind River Carrier Grade Linux which includes Intel DPDK as an integrated and supported run-time component.

Tieto provides an integrated service offering combining Managed Services, Consulting and System Integration. The company provides professional software services for multi-core packet processing for wireless and fixed infrastructure with support for Intel DPDK.

This growing support ecosystem is extending access to the Intel DPDK and high performance data plane software. Developers can quickly implement packet processing functions using the Intel DPDK and receive support through ecosystem members or dpdk.org.