DPDK定义:
DPDK: Data Plane Development Kit ,
DPDK的技术特点:
2) 用户态驱动:规避不必要的内存拷贝和系统调用,便于快速迭代优化
3) 亲和性与独占:利用线程亲和绑定的方式,特定任务可以被指定只在某个核上工作,避免线程在不同核间频繁切换,保证更多的cache命中
4) 降低访存开销:利用内存大页HUGEPAGE降低TLB miss,利用内存多通道交错访问提高内存访问有效带宽
5) 软件调优:结构的cache line对齐,适时地预取数据,多元数据批量操作
6)对新硬件技术DDIO、SIMD等新技术的应用
7)RSS、offload 等网卡技术的应用
DPDK框架
核心库Core Libs提供系统抽象、大页内存、缓存池、定时器及无锁环等基础组件。
PMD库,提供全用户态驱动,以便通过轮询和线程绑定得到极高网络吞吐,支持各种本地和虚拟网卡。
Classify库,支持精确匹配,最长匹配和通配符匹配,提供常用包处理的查表操作。
Qos库,提供网络服务质量相关组件,限速和调度。
再识DPDK, 软件包的处理能力
1. DPDK加速网络节点
2. DPDK加速计算节点
3. DPDK加速存储节点