RDMA主要三大优势核心原理是什么?

三大优势:

  • Zero Copy:零拷贝(本质:只有用户态内存,无copy内核态内存)
  • Kenel Bypass:内核旁路(本质:只有用户态和网卡,没有kernel事儿)
  • No CPU Involvement:无CPU参与(本质:只有对端网卡参与,无需对端CPU参与)

Involvement: 美 /ɪnˈvɑːlvmənt/ n. 卷入,参与,介入;投入,沉迷;

  1. involvement in介入;参与
  2. job involvement工作投入;职务参与;工作认同

具体三大优势具体是指什么?

  • Zero Copy::是数据的零拷贝,没有数据从用户态到内核态再到网卡的拷贝,无论是tx和rx都是直接网卡直接到内存,对立面是内核协议栈的数据经过多次拷贝。本质是数据move,是网卡访问用户态的内存,访问方式是DMA,是虚拟内存页表转化为HPA之后交给网卡直接DMA,主要能降低时延。注意主体是:流动数据,介质是内存。从发送层面是zero copy,接收层面也是。所以它表达的是 数据 在RDMA里面的特点。另外每次copy的时候CPU是通过虚拟地址访存,会存在Cache、TLB等多个miss的可能性,关于Zero Copy进一步减少这些性能损耗
  • Kenel Bypass:是数据收发内核旁路,但是管理面需要参与。核心原理是memory region直接映射和处理,以及网卡的PCIe bar空间映射到用户态通过doorbell通知。也避免了内核态和用户态的切换,双重降低时延。 本质在于处理主体是网卡直接搬运。注意主体是:Kernel。Kernel Bypass是用户态 bypass了kernel,直接和网卡写作。从发送层面是kernel bypass的,接收层面也是bypass的。当然同时也带来一些劣势,就是无法使用内核提供的一些工具比如tcpdump等,所以未来XDP应该还是有很大发展空间。
  • No CPU Involvement:是远端的CPU无需投入,比如write和read,就无需远端cpu投入,直接网卡通过DMA进行读取。本质是网卡直接通过DMA进行读写。注意主体是:CPU

其他:

  • RDMA提供一种基于事务的verbs(RDMA应用编程接口(API))从而提高并行能力。能提高吞吐
  • 上面提到了三个主体:数据、kernel、CPU,还有一个隐藏的主题是网卡。其中kernel和CPU都减少了参与,那就是网卡完成了这个工作,准确是网卡的通过DMA直接搬运内存。其中内存中数据减少了copy,是网卡可以直接DMA访问用户态的内存完成。
  • 7
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值