欢迎您访问365答案网,请分享给你的朋友!
生活常识 学习资料

高性能NFSIPoIBRDMA

时间:2023-06-21
概念

InfiniBand (以下简称IB)只是RDMA实现方式的一种!RDMA本身只是一种概念,具体实现不同厂商都有自己的实现方式,目前市场上能见到的RDMA产品可以分为三类:

InfiniBand --- 这个最早是IBM和HP等一群大佬在做,现在主要交给以色列的Mellanox (IBM 控股),但是InfiniBand从L2到L4都需要自己的专有硬件,所以成本非常高!RoCE --- RDMA over Converged Ethernet,RoCE这个东西实际上是Mellanox鉴于IB过于昂贵这个事实推出的一种低成本的产品,实际上的核心就是把IB的包架在通用Ethernet上发出去,因此对于RoCE,实际上它的二层包头已经是普通以太网的包头。 iWARP --- iWARP直接将RDMA实现在了TCP上,优点是成本最低,只需要采购支持iWARP的NIC即可使用RDMA,缺点是性能不好,因为TCP本身协议栈过于重量级,即便是按照一般iWARP厂商的做法将TCP offload到硬件上实现,也很难追上IB和RoCE的性能。目前在做iWARP的主要是Intel和Chelsio两家,从现在的观察Chelsio略胜一筹,而Intel则有点想放弃iWARP转投RoCE之势。​​​

需要说明的一点,其实不管是iWARP还是RoCE,实际上并不是自己重新发明了RDMA,而是利用了IB的上层接口修改了下层的实现,所以RoCE这个名字并不是很准确,比较准确的说法应该是IB over Converged Ethernet。此外,三种实现方式使用的user space api是一样的,都是libibverbs,这个东西原本也就是给IB用的,相当于IB的socket。

参考:RDMA技术详解(一):RDMA概述 - 知乎

在各互联网公司中,有将 RDMA 技术用于生产环境的实例吗? - 知乎

测试

测试条件。文章比较早期,还用的ext2格式,硬盘用的SATA,跑不满10Gb的网卡。不过测试过程和结果还是比较有价值的

 

NFS over IPoIB / NFS over RDMA

测试结果 

datagram mode

使用数据报模式时( datagram mode),不可靠、断开的队列对不允许大于 InfiniBand 链接层 MTU 的数据包通过。IPoIB 层会在要传输的 IP 数据包顶部添加一个 4 字节的 IPoIB 标头。因此,IPoIB MTU 必须比 InfiniBand 链接层小 4 字节。因为在 InfiniBand 链接层 MTU 一般为 2048 字节,则数据报模式中的 IPoIB 设备则通常为 2044 字节。
 

connected mode

使用连接模式时(connected mode),可靠且连接的队列对类型允许大于 InfiniBand 链接层 MTU 的信息通过,同时在两端均采用主机适配器处理数据包片段并将其组合。这样使用连接模式时不会对通过 InfiniBand 适配器发送的 IPoIB 信息有大小限制,但是IP数据包size字段仅具有16bit,因此最大字节数只能为 65535。最大允许的 MTU 实际比65535小,因为65535同时要给不同 TCP/IP 标头分配尺寸。因此,连接模式中获得 IPoIB MTU 最大为 65520,这样可保证为所有需要的 TCP 标头提供足够的空间。
 

参考

​​​​​​http://www.cs.cmu.edu/~wtantisi/files/nfs-pdl08-poster.pdf

​​​​​​【RDMA】HCA卡的MTU仅仅对IPOIB有效,对RDMA没有速度提升? |IPoIB 和IBoE(ROCE、iWARP )的区别..._小鱼菜鸟的博客-CSDN博客

在各互联网公司中,有将 RDMA 技术用于生产环境的实例吗? - 知乎

【RDMA】技术详解(一):RDMA概述_bandaoyu的note-CSDN博客_rdma技术详解

Copyright © 2016-2020 www.365daan.com All Rights Reserved. 365答案网 版权所有 备案号:

部分内容来自互联网,版权归原作者所有,如有冒犯请联系我们,我们将在三个工作时内妥善处理。