dpdk的安装

dpdk的安装,第1张

然后根据服务器类型和网卡类型选择就可以

第一步: x86_64-native-linuxapp-gcc

第二步: Insert IGB UIO module

第三步: Setup hugepage mappings for NUMA systems

第四步: Bind Ethernet/Crypto device to IGB UIO module

但是遇到问题1:

/bin/sh: cc: 未找到命令 ,已解决

原因 没有安装gcc

在线安装gcc即可

然后就可以继续安装了

遇到问题2: 安装IGB UIO module遇到的问题

kernel版本不匹配

查看安装的kernel版本:

查看我的版本 uname -r

rpm命令查看我所安装的内核版本 rpm -qa kernel

然后进行调整,具体可以 参考

然后就可以运行dpdk自带的example中的样例了

如何运行example中的样例呢:

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本身提供的特性,还有额外的内存池、环形缓存等,虽然封装得很好,但都是比较常用经常接触的技术。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/7129996.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-02
下一篇 2023-04-02

发表评论

登录后才能评论

评论列表(0条)

保存