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

本文详细介绍了IPoIB(IP over InfiniBand)的概念及其在InfiniBand RDMA网络中的角色,解释了如何使现有IP应用程序无需修改即可运行于InfiniBand网络上,同时对比了数据报模式与连接模式的不同特性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

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 - 博客园

<think>好的,我需要回答用户关于光纤接口RDMA的配置使用教程以及技术文档的问题。首先,我得理解用户的需求。他们可能是在搭建高性能计算环境或者云计算平台,需要优化数据传输效率降低延迟。用户提到了光口RDMA,所以需要结合这两者的技术细节配置步骤。 首先,我应该回顾一下RDMA的基本概念,确保自己理解正确。RDMA允许直接在内存之间传输数据,无需CPU参与,这对于高吞吐量低延迟的应用场景非常重要。而光纤接口,比如InfiniBand或RoCE,通常用于支持RDMA网络环境。用户可能想知道如何配置这些硬件以及相应的软件栈。 接下来,我需要检查现有的引用内容,看看有哪些信息可以利用。引用[1]详细介绍了InfiniBand的特点,包括其支持RDMA的能力,不同速度的端口,以及在高性能计算中的应用。引用[4]提到了应用程序直接访问虚拟内存,无需操作系统干预,这RDMA的工作原理一致。这些信息可以作为回答的基础,可能需要引用到。 然后,我应该考虑配置光纤接口RDMA的步骤。通常,这包括硬件安装、驱动安装、网络配置、RDMA库的安装以及测试验证。需要分步骤说明,并且确保每一步都清晰易懂。例如,硬件部分要确认使用的是InfiniBand还是RoCE,因为两者的配置可能不同。软件方面,可能需要安装Mellanox的驱动或者Linux的RDMA套件。 另外,用户可能需要技术文档的推荐,比如官方指南、开源项目或者社区资源。引用[3]提到了FPGA项目中的高速接口网络传输,虽然不直接相关,但可能可以推荐类似的工程资源作为参考。不过需要谨慎,确保推荐的内容确实相关。 还要注意用户提到的光口配置,这可能涉及光纤线缆的选择、交换机的设置以及MTU大小的调整。比如,InfiniBand通常需要较大的MTU提升吞吐量,而RoCE v2可能需要在以太网上配置优先级流控制(PFC)以避免拥塞。 测试部分需要使用像perftest这样的工具,验证RDMA的性能。同时,用户可能需要故障排除的提示,比如检查链路状态、确认驱动版本等。 最后,要确保回答符合之前提到的系统级指令,比如使用正确的LaTeX格式,生成相关问题,引用标记等。例如,在提到InfiniBand的速度时,使用$10Gb/s$到$56Gb/s$这样的格式。同时,生成的相关问题需要围绕RDMA光纤接口的优化、应用场景、协议对比等展开。 可能存在的挑战是确保技术细节的准确性,尤其是在不同RDMA协议(InfiniBand、RoCEiWARP)的区别配置方法上。需要确认各个步骤适用于大部分情况,同时提醒用户根据具体硬件调整。 总结一下,回答的结构应该是先介绍RDMA光纤接口的基础,然后分步骤说明配置方法,推荐文档,最后提供测试问题排查建议,并生成相关问题。需要引用已有的引用内容,比如InfiniBand的特点RDMA的优势,以增强回答的可信度。</think>### 光纤接口与RDMA配置技术指南 #### 一、RDMA与光纤接口基础 1. **RDMA技术核心** RDMA(远程直接内存访问)允许网络设备直接读写对方内存,无需CPU参与,显著降低延迟CPU开销。其核心优势在于数据传输绕过操作系统内核,通过$VPI$(虚拟协议接口)直接访问内存[^4]。 - 支持协议:InfiniBand(原生RDMA)、RoCERDMA over Converged Ethernet)、iWARP(基于TCP)。 2. **光纤接口类型** - **InfiniBand光口**:提供$10Gb/s$(SDR)至$56Gb/s$(FDR)带宽,原生支持RDMA,常用于超算中心金融交易系统[^1]。 - **以太网光口(RoCE)**:通过无损以太网(如配置PFCECN)实现RDMA,需支持$40Gb/s$或$100Gb/s$光纤模块。 #### 二、配置步骤(以InfiniBand为例) 1. **硬件准备** - 安装InfiniBand HCA(如Mellanox ConnectX系列)及兼容光模块(如QSFP28)。 - 使用光纤线缆连接至InfiniBand交换机,确保链路状态正常(`iblinkinfo`命令查看)。 2. **驱动与软件栈安装** ```bash # Ubuntu示例:安装OFED驱动工具包 wget https://www.mellanox.com/downloads/ofed/MLNX_OFED-5.8-1.0.1.1/MLNX_OFED_LINUX-5.8-1.0.1.1-ubuntu20.04-x86_64.tgz tar -xzvf MLNX_OFED_LINUX-5.8-1.0.1.1-ubuntu20.04-x86_64.tgz cd MLNX_OFED_LINUX-5.8-1.0.1.1-ubuntu20.04-x86_64 sudo ./mlnxofedinstall --all sudo /etc/init.d/openibd restart ``` 3. **网络配置** - 设置子网管理器(Subnet Manager): ```bash sudo opensm -B /etc/opensm/opensm.conf ``` - 配置MTU为4096以提升吞吐量: ```bash sudo ibportstate -G 1 -D 0x1b41 # 激活端口 sudo ifconfig ib0 mtu 4096 up ``` 4. **RDMA功能验证** - 使用`ibv_rc_pingpong`测试RDMA通信: ```bash # 服务端 ibv_rc_pingpong -d mlx5_0 -g 0 # 客户端 ibv_rc_pingpong -d mlx5_0 -g 0 <server_ip> ``` #### 三、技术文档推荐 1. **官方资源** - [InfiniBand架构规范](https://www.infinibandta.org/)(IBTA发布)[^1] - Mellanox官方文档:[RDMA配置指南](https://docs.nvidia.com/networking/) 2. **开源项目参考** - RDMA性能测试工具:[perftest](https://github.com/linux-rdma/perftest) - 基于FPGA的RDMA加速方案(类似引用[3]中高速接口设计)[^3] #### 四、常见问题排查 - **链路不通**:检查光模块兼容性(`ethtool -m ib0`)交换机端口状态。 - **RDMA性能低**:确认MTU设置、CPU亲性绑定,禁用无关中断(`irqbalance`)。 - **驱动兼容性**:需匹配内核版本(`uname -r`与OFED版本对应)。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值