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 TLB stage2 translation 0 votes 39 views 0 replies Started yesterday by Zaoya Answer this
Answered Which ARM micro controller should I choose? 0 votes 729 views 4 replies Latest 6 days ago by raj_99 Answer this
Not answered Cortex-M0+ core Hang up in FFFF FFFEh address when executing DSB instruction.
  • Real Time Operating Systems (RTOS)
  • 3 (HardFault)
  • Cortex-M0+
0 votes 64 views 0 replies Started 11 days ago by Ponsuke606 Answer this
Suggested answer How to get/download core_cr5.h
  • Cortex-R5
0 votes 197 views 1 replies Latest 24 days ago by hulk789 Answer this
Not answered After first execution control goes to task 2 but i want him to go to task1 what i suppose to do here?
  • Real Time Operating Systems (RTOS)
0 votes 123 views 0 replies Started 26 days ago by omkardixi Answer this
Not answered How to change baud rate using UART during run time?
  • Real Time Operating Systems (RTOS)
  • Keil MDK Professional Edition
0 votes 155 views 0 replies Started 28 days ago by omkardixi Answer this
Not answered TLB stage2 translation Started yesterday by Zaoya 0 replies 39 views
Answered Which ARM micro controller should I choose? Latest 6 days ago by raj_99 4 replies 729 views
Not answered Cortex-M0+ core Hang up in FFFF FFFEh address when executing DSB instruction. Started 11 days ago by Ponsuke606 0 replies 64 views
Suggested answer How to get/download core_cr5.h Latest 24 days ago by hulk789 1 replies 197 views
Not answered After first execution control goes to task 2 but i want him to go to task1 what i suppose to do here? Started 26 days ago by omkardixi 0 replies 123 views
Not answered How to change baud rate using UART during run time? Started 28 days ago by omkardixi 0 replies 155 views