【RDMA】HCA卡的MTU仅仅对IPOIB有效,对RDMA没有速度提升? |IPoIB 和IBoE(ROCE、iWARP )的区别

目录

IPoIB(IP over InfiniBand)

IPoIB 和IBoE(ROCE、iWARP )的区别


HCA:在Infiniband/RoCE规范中,将RDMA网卡称为HCA,全称为Host Channel Adapter。(https://blog.csdn.net/bandaoyu/article/details/125234262?spm=1001.2014.3001.5501

HCA卡的MTU仅仅对IPOIB有效,对RDMA没有速度提升---- 存疑,未验证!

另外的几个知识点:
1. HCA卡的MTU查看方式:ifconfig -a

2.HCA卡connect mode 也仅仅适用于IPOIB.

参考网址:
https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/7/html/Networking_Guide/sec-Configuring_the_Subnet_Manager.html

原文链接:https://blog.csdn.net/msdnchina/article/details/71703080

IPoIB(IP over InfiniBand)

9.6. 配置 IPoIB Red Hat Enterprise Linux 7 | Red Hat Customer Portal (中文,翻译有误)

13.8. Configuring IPoIB Red Hat Enterprise Linux 7 | Red Hat Customer Portal  (英文)

IPoIB(IP over InfiniBand) 的角色是在 InfiniBand RDMA 网络顶层提供 IP 网络模拟层。

这样就可以让现有应用程序无需修改即可在 InfiniBand 网络(非IP网络?)中运行。但那些应用程序的性能相比原本使用 RDMA 通讯编写的应用程序要低。对一些应用程序来说,如果不需要修改,使用 RDMA 通讯,性能降级是可以接受的。IPoIB 可让那些不那么主要的应用程序在网络中以其原有形式运行。

因为 iWARP 和 RoCE/IBoE 网络实际上是在其 IP 链接层顶层附带 RDMA 层的 IP 网络,他们不需要 IPoIB。因此,内核会拒绝在 iWARP 或 RoCE/IBoE 设备中创建任何 IPoIB 设备。

可将 IPoIB 设备配置为以数据报或连接模式运行。不同之处在于 IPoIB 层尝试在通讯另一端机器中打开的队列对类型。在数据报模式中会打开不可靠、断开连接的队列对;而在连接模式中会打开可靠且连接的队列对。

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

Design and Performance Evaluation of IPoIB Gateway | Semantic Scholar

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

连接模式选项通常有较高性能,但也会消耗更多的内核内存。因为大多数系统考虑的是性能而不是用内存消耗,因此连接模式是最常用的用户模式。

但如果将系统配置为连接模式,它必须可以使用数据报模式发送多播流量(InfiniBand 交换机及结构无法使用连接模式传递多播流量),且可以在与未配置连接模式的主机通讯时返回数据报模式。管理员应意识到如果他们要运行发送多播数据的程序,且那些程序要以接口中的最大 MTU 发送多播数据,则需要将该接口配置为数据报操作,或者使用将多播程序配置为将其发送数据包大小限制在数据报允许的数据包范围内的其他方法。


链接:https://www.jianshu.com/p/b2b94a4d5ff6

2012 workshop wed_ethernet_servicesoveri_poibInfiniBand架构和技术实战总结_架构师技术联盟-CSDN博客

2012 workshop wed_ethernet_servicesoveri_poib

相比原生RDMA IPoIB 大概有20%的性能下降。

RDMA 在 随机的小的读方面带来的利益大在写方面带来的利益就就比较小了。 

debian - IPoIB (IP over InfiniBand) vs. RDMA performance - Server Fault

IPoIB 和IBoE(ROCE、iWARP )的区别

IPoIB 就是使得使用IP通信的程序可以不需要修改就能在 InfiniBand RDMA 网络设备上通信?

IBoE 就是使得 在IP网络中也能使用IB 接口和IB协议进行通信?

IPoIB(IP over InfiniBand) 的角色是在 InfiniBand RDMA 网络顶层提供 IP 网络模拟层。

这样就可以让现有应用程序无需修改即可在 InfiniBand 网络(非IP网络?)中运行。但那些应用程序的性能相比原本使用 RDMA 通讯编写的应用程序要低。对一些应用程序来说,如果不需要修改,使用 RDMA 通讯,性能降级是可以接受的。IPoIB 可让那些不那么主要的应用程序在网络中以其原有形式运行。

IPoIB是InfiniBand的上层协议之一

InfiniBand为不同类型的用户提供了不同的上层协议,并为某些管理功能定义了消息和协议。InfiniBand主要支持SDP、SRP、iSER、RDS、IPoIB和uDAPL等上层协议。

  • SDP(SocketsDirect Protocol)是InfiniBand Trade Association (IBTA)制定的基于infiniband的一种协议,它允许用户已有的使用TCP/IP协议的程序运行在高速的infiniband之上。
  • SRP(SCSIRDMA Protocol)是InfiniBand中的一种通信协议,在InfiniBand中将SCSI命令进行打包,允许SCSI命令通过RDMA(远程直接内存访问)在不同的系统之间进行通信,实现存储设备共享和RDMA通信服务。
  • iSER(iSCSIRDMA Protocol)类似于SRP(SCSI RDMA protocol)协议,是IB SAN的一种协议 ,其主要作用是把iSCSI协议的命令和数据通过RDMA的方式跑到例如Infiniband这种网络上,作为iSCSI RDMA的存储协议iSER已被IETF所标准化。
  • RDS(ReliableDatagram Sockets)协议UDP 类似,设计用于在Infiniband 上使用套接字来发送和接收数据。实际是由Oracle公司研发的运行在infiniband之上,直接基于IPC的协议。
  • IPoIB(IP-over-IB)是为了实现INFINIBAND网络与TCP/IP网络兼容而制定的协议,基于TCP/IP协议,对于用户应用程序是透明的,并且可以提供更大的带宽,也就是原先使用TCP/IP协议栈的应用不需要任何修改就能使用IPoIB。
  • uDAPL(UserDirect Access Programming Library)用户直接访问编程库是标准的API,通过远程直接内存访问 RDMA功能的互连(如InfiniBand)来提高数据中心应用程序数据消息传送性能、伸缩性和可靠性。

其中IPoIB

The role of IPoIB is to provide an IP network emulation layer on top of InfiniBand RDMA networks. 

Because both iWARP and RoCE/IBoE networks are actually IP networks with RDMA layered on top of their IP link layer, they have no need of IPoIB. As a result, the kernel will refuse to create any IPoIB devices on top of iWARP or RoCE/IBoE RDMA devices.

IPoIB Limitations

IPoIB solves many problems for us. However, compared to a standard Ethernet network interface, it has some limitations:

  • IPoIB supports IP-based application only (since the Ethernet header isn't encapsulated).
  • SM/SA must always be available in order for IPoIB to function.
  • The MAC address of an IPoIB network interface is 20 bytes.
  • The MAC address of the network interface can't be controlled by the user.
  • The MAC address of the IPoIB network interface may change in consecutive loading of the IPoIB module and it isn't persistent (i.e. a constant attribute of the interface).
  • Configuring VLANs in an IPoIB network interface requires awareness of the SM to the corresponding P_Keys.

Non-standard interface for managing VLANs.

InfiniBand 与Intel Omni-Path Architecture - allcloud - 博客园

posted on 2022-10-04 01:23  bdy  阅读(202)  评论(0编辑  收藏  举报

导航