DPDK--02

1. 简介

 

2. 什么是DPDK?

1. Data Plane Development Kit  数据平台开发工具

2. DPDK是一组lib库和工具包的集合

3. 特点

1. 提供应用空间下驱动程序的支持,网卡驱动是运行在用户空间的。

2. DPDK绕过了Linux内核的网络驱动模块。

3. DPDK能显著提升虚拟化网络设备的数据采集效率。

4. 对比传统模式

1. 传统中断模式,包处理任务存在内核态与用户态的切换,以及多次的内存拷贝,系统消耗变大,以CPU为核心的系统存在很大的处理瓶颈。

2. DPDK用户空间的轮询模式驱动:网卡设备可以通过DMA方式将数据包传输到事先分配好的缓冲区,这个缓冲区位于用户空间,应用程序通过不断轮询的方式可以读取数据包并在原地址上直接处理,不需要中断,而且也省去了内核到应用层的数据包拷贝过程。

3. Intel DPDK在用户空间就可以开发驱动,与传统的在内核中开发驱动相比,安全系数大大降低。因为内核层权限比较高,操作相对比较危险,可能因为小的代码bug就会导致系统崩溃。

4. Linux操作系统的页大小只有4K,容易发生没有命中。

5. Intel DPDK缓冲区管理库提供了Hugepage大页内存,大小有2MB和1GB页面两种,可以得到明显性能的提升,因为采用大页内存的话,可以需要更少的页,从而需要更少的TLB,这样就减少了虚拟页地址到物理页地址的转换时间。

6. CPU亲和性,Linux的核心间的调度和共享内存争用会严重影响性能;利用Intel DPDK的CPU affinity可以将各个线程绑定到不同的cpu,可以省去来回反复调度带来的性能上的消耗。

7. 内存池和无锁环形缓存管理,Intel DPDK将库和API优化成了无锁,比如无锁队列,可以防止多线程程序发生死锁,避免队列中锁的开销,在缓存区的使用过程中提高了缓冲区申请释放的效率。

8.  有这样一个说法,在硬件性能已经达到如此高的标准,内核软件方面已经非常滞后了。

5. 有什么缺点或不足?

 

参考 DPDK--01

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值