Data Plane Development Kit (DPDK) is an open source community project developed to accelerate packet processing workloads running on a variety of CPU architectures including Arm. 

Learn more

DPDK enables the telecommunications industry to implement performance-sensitive applications like the 5G wireless base stations, equipment for mobile networks, and voice in purpose built and cloud native form factors. 


Sample applications

DPDK source code, latest release, and documentation are hosted on dpdk.org. Besides providing the efficient packet processing framework, DPDK also packages a comprehensive number of sample applications to build from.

These sample applications provide an out-of-box experience for benchmarking and system assessments as well as providing the building blocks for Proof of Concept. 

Learn more

Arm features

Support for latest Arm architecture features are included in DPDK drivers and libraries to maximize performance.

  • Vector processing to increase data path throughput
  • Lock-free algorithms are used in libraries to provide scalability across large number of cores in a SoC.
  • C11 memory model is used wherever possible to leverage relaxed memory model for Arm architecture.
  • Memory barriers have been tuned in drivers to be optimal for Arm platforms.

All these features help provide better instructions per cycle (IPC) and improve the overall performance. 

Learn more

Ecosystem

Along with Arm, ecosystem partners such as Marvell, NXP and others contribute to the development and maintenance of DPDK.

Continuous Integration and Continuous Deployment (CI/CD) has been enabled for Arm. Now, every patch submitted to the DPDK mailing list is compiled and tested on Arm platforms, which ensures that DPDK code always works well on Arm platforms. Travis CI also enables a service where developers can validate their patches on Arm platforms.

Learn more

Resources

Community Forums

Not answered access secure generic timer
  • ARMv8 Exception Model
  • Security
  • Arm64
0 votes 68 views 0 replies Started 7 days ago by armsss Answer this
Not answered How do branch instructions influence the performance of Cortex-A77? 0 votes 81 views 0 replies Started 9 days ago by hyf_sysu Answer this
Suggested answer Getting Dummy character while receiving UART data,How to fix it ? 0 votes 455 views 2 replies Latest 10 days ago by Jerome Decamps - 杜尚杰 Answer this
Suggested answer Sht11 interfacing with lpc1758 0 votes 130 views 1 replies Latest 14 days ago by Andy Neil Answer this
Suggested answer Arm Cortex A57 controller 0 votes 287 views 1 replies Latest 15 days ago by Tyler_p Answer this
Not answered M7 to NIC-400 connectivity via AXIM
  • Cortex-M7
  • CoreLink NIC-400 Network Interconnect
0 votes 87 views 0 replies Started 20 days ago by Ramaswamy Vishwanath Answer this
Not answered access secure generic timer Started 7 days ago by armsss 0 replies 68 views
Not answered How do branch instructions influence the performance of Cortex-A77? Started 9 days ago by hyf_sysu 0 replies 81 views
Suggested answer Getting Dummy character while receiving UART data,How to fix it ? Latest 10 days ago by Jerome Decamps - 杜尚杰 2 replies 455 views
Suggested answer Sht11 interfacing with lpc1758 Latest 14 days ago by Andy Neil 1 replies 130 views
Suggested answer Arm Cortex A57 controller Latest 15 days ago by Tyler_p 1 replies 287 views
Not answered M7 to NIC-400 connectivity via AXIM Started 20 days ago by Ramaswamy Vishwanath 0 replies 87 views