dpdk理解

dpdk几个特性:

   1)PMD

   2)igb_uio和uio互动配合,解决网卡硬中断处理流程

   3)hugepage    

   4)无锁队列

   5)cpu亲和性绑定

   6)kni技术

   7)pipe-line处理模型

每一个分开说,都有很多东西,其实面试过程中很多人都说使用过DPDK,但是不知道为什么使用DPDK。

从服务器角度,是为了解决高并发性能问题,传统的程序架构有那些问题呢?

1)一个socket 流程,数据需要拷贝两次(这个很多资料这么写,其实不准确),准确是dma一次,kernel到用户态一次,

      dma拷贝过程是没有cpu参与的,但是第二次是cpu执行。   dpdk可以解决第二次拷贝问题,实现零拷贝,零拷贝是指没有cpu参与。

2)网卡收发包会产生很多软中断,这个需要提前学一下网卡的收发包原理,i40e和ixgbe等。 dpdk通过PMD机制,解决软中断问题。

3)程序执行起来,相互间的切换。dpdk通过cpu亲和性,提高访问的一致性,减少cache miss。这里和大页内存使用有关系,需要了解cpu取址过程,memery-> l1 l2 l3 cache -> 寄存器

   然后失败了,查MMU,这时查tlb。这个过程了解了,就是知道为什么使用大页内存了。这个地方我也是晕的!TLB是一个硬件设备,处于CPU和MMU之间,主要缓存页表信息,有一套更新和管理积极,如果想搞懂大页原理,需要把这关流程梳理,后续有时间梳理。

4)pipe-line模式,这个是面试时候经常问道,深入浅出书中,详细介绍了两种模型,其中一种模型就是这个,简单理解就是流水线模式。目前使用dpdk的云服务器,都是使用这种模式。相对比较比较好理解,其实重要的为什么选这个模型。

现在不做dpdk了,很多问题也没有再细则追。

哪里说的不对,请各位批评指正,相互学习。

  • 0
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值