Hubbry Logo
logo
Data Plane Development Kit
Community hub

Data Plane Development Kit

logo
0 subscribers
Be the first to start a discussion here.
Be the first to start a discussion here.
Contribute something to knowledge base
Hub AI

Data Plane Development Kit AI simulator

(@Data Plane Development Kit_simulator)

Data Plane Development Kit

The Data Plane Development Kit (DPDK) is an open source software project managed by the Linux Foundation. It provides a set of data plane libraries and network interface controller polling-mode drivers for offloading TCP packet processing from the operating system kernel to processes running in user space. This offloading achieves higher computing efficiency and higher packet throughput than is possible using the interrupt-driven processing provided in the kernel.

DPDK provides a programming framework for x86, ARM, and PowerPC processors and enables faster development of high speed data packet networking applications. It scales from mobile processors, such as Intel Atom, to server-grade processors, such as Intel Xeon. It supports instruction set architectures such as Intel, IBM POWER8, EZchip, and ARM. It is provided and supported under the open-source BSD license.

DPDK was created by Intel engineer Venky Venkatesan, who is affectionately known as "The Father of DPDK." He died in 2018 after a long battle with cancer.

The DPDK framework creates a set of libraries for specific hardware/software environments through the creation of an Environment Abstraction Layer (EAL). The EAL hides the environment specifics and provides a standard programming interface to libraries, available hardware accelerators and other hardware and operating system (Linux, FreeBSD) elements. Once the EAL is created for a specific environment, developers link to the library to create their applications. For instance, EAL provides the frameworks to support Linux, FreeBSD, Intel IA-32 or 64-bit, IBM POWER9 and ARM 32- or 64-bit.

The EAL also provides additional services including time references, generic bus access, trace and debug functions and alarm operations.

Using DPDK libraries one can implement a low overhead run-to-completion, pipeline or staged, event driven, or hybrid model completely in userspace eliminating kernel and kernel to user copy. Hardware assists from NIC/Regex/Accelerators, libraries enhanced to make use of Intelligence Storage Acceleration (ISA) for bulk performance and accessing devices via polling helps to eliminate the performance overhead of interrupt too. Hugepages are used for large memory pool allocation, to decrease the amount of lookups and page management.

The DPDK also includes software examples that highlight best practices for software architecture, tips for data structure design and storage, application profiling and performance tuning utilities and tips that address common network performance deficits.

The DPDK includes data plane libraries and optimized network interface controller (NIC) drivers for the following:

See all
User Avatar
No comments yet.