目录
作者bandaoyu,本文随时更新,原地址:https://blog.csdn.net/bandaoyu/article/details/112588762
DPDK和RDMA的区别结论
相同点:
1)两者均为kernel bypass技术,可以减少中断次数,消除内核态到用户态的内存拷贝;
相异点:
1)DPDK是将协议栈上移到用户态,而RDMA是将协议栈下沉到网卡硬件,DPDK仍然会消耗CPU资源;
2)DPDK的并发度取决于CPU核数,而RDMA的收包速率完全取决于网卡的硬件转发能力
3)DPDK在低负荷场景下会造成CPU的无谓空转,RDMA不存在此问题
4)DPDK用户可获得协议栈的控制权,可自主定制协议栈;RDMA则无法定制协议栈
DPDK是Intel主导,提供了基于用户态的数据链路层的功能,可以在上面构建出基于用户态的网络栈。实际使用中一个显然的缺点是只有poll功能,没有陷入中断来减少对CPU的消耗(空转问题)。
DPDK和RDMA的区别
(作者:异客z,链接:https://www.jianshu.com/p/09b4b756b833来源:简书)
DPDK
DPDK网络层:
硬件中断->放弃中断流程;
用户层通过设备映射取包->进入用户层协议栈->逻辑层->业务层;
核心技术:
1)将协议栈上移到用户态,利用UIO技术直接将设备数据映射拷贝到用户态
2)利用大页技术,降低TLB cache miss,提高TLB访问命中率
3)通过CPU亲和性,绑定