dpdk 技术 可否 应用于linux

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了dpdk 技术 可否 应用于linux相关的知识,希望对你有一定的参考价值。

参考技术A DPDK主要使用了UIO、HUGEPAGE和CPU Affinity机制三个技术点来提高高速网络数据的处理性能。
UIO是实现用户空间下驱动程序的支撑机制,DPDK使用UIO机制使网卡驱动程序(主要是intel自身的千兆igb与万兆ixgbe驱动程序)运行在用户态,并采用轮询和零拷贝方式从网卡收取报文,提高收发报文的性能。
HUGEPAGE的主要好处是通过利用大内存页提高内存的使用效率,DPDK在HUGEPAGE机制上构建内存管理系统,提高应用程序处理报文的性能。

CPU Affinity机制主要是让各个CPU各自干自己的事情,DPDK使用CPU Affinity机制将控制面线程以及各个数据面线程绑定到不同的CPU核,节省反复调度的性能消耗。其工作模式类似于一个CPU核绑定一个死循环线程,专心处理各自的业务。比如两个网卡eth0和eth1都收包,可以让cpu0专心处理eth0,cpu1专心处理eth1,没必要cpu0一下处理eth0,一下又处理eth1,这样就提高了多核CPU的使用效率。
所以,这样看来,DPDK并不高深,用到的东西也都是Linux本身提供的特性,还有额外的内存池、环形缓存等,虽然封装得很好,但都是比较常用经常接触的技术。
参考技术B dpdk就是运行于通用linux+x86系统上的,具有intel核心的网卡即可。
dpdk的特点有:
Dpdk驱动拿数据,绕过内核,跑在用户态,避免核心态到用户态的拷贝,即UIO
利用cpu亲和性,线程绑定核,避免线程核间切换开销
使用大页缓存提高内存访问效率
轮询代替中断,提高报文的收发效率
参考技术C 完全可以应用的

linux dpdk 怎样获取流量

参考技术A dpdk是用户态驱动,网卡绑定dpdk驱动后,开启混杂模式,就可以收发包了。 参考技术B 网络接口没配置好吧,没有IPV4地址,我们通常用的是IPV4,IPV6还没普及,不知你的是什么配置?

以上是关于dpdk 技术 可否 应用于linux的主要内容,如果未能解决你的问题,请参考以下文章

dpdk实例flow_classify

dpdk实例flow_classify

dpdk实例flow_classify

linux后台开发必备DPDK技术精髓

DPDK

DPDK快速上手指南(18.02)