The DPDK implements a run to completion model for packet processing, where all resources must be allocated prior to calling Data Plane applications, running as execution units on logical processing cores. The model does not support a scheduler and all devices are accessed by polling. The primary reason for not using interrupts is the performance overhead imposed by interrupt processing.
ref: https://doc.dpdk.org/guides/prog_guide/overview.html
- Ring Manager (librte_ring)
- Memory Pool Manager (librte_mempool)
- Network Packet Buffer Manager (librte_mbuf)
- Time Manager (librte_timer)
Check Fig 3.1
Ref: https://doc.dpdk.org/guides/prog_guide/env_abstraction_layer.html