聊起InfiniBand,搞AI训练的人会本能地把它和“顶级算力集群”绑在一起,搞网络运维的人则会想起被端口速率、散热风扇和子网管理器支配的深夜。这两年大模型把行业卷得厉害,几乎所有头部算力集群公布规格时都少不了巨量InfiniBand互联的提法,但真正亲手搭过、调过、排障过这套网络的人,依然不多。这篇文章我想从一个经历过多代IB产品的从业者角度,把主流厂商格局、产品代际、选型逻辑和落地部署的坑一次讲透,给正在纠结“要不要上IB、怎么上IB”的人一份能直接参考的实战记录。
我尽量不去复述厂商发布会PPT里那些漂亮话,而是讲清楚每一代产品解决了什么问题、为什么这个市场最后只剩一家玩家、以及你在实际采购和运维时最容易踩的点。如果你对IB只有一个模糊的概念,看完应该能建立起完整的技术判断框架;如果你已经在维护IB网络,后面的排障和调优部分应该也能给你一些启发。
1. 先别被参数吓到:InfiniBand究竟解决什么问题
1.1 传统以太网在AI/HPC场景里的尴尬
要理解InfiniBand,最好先理解它对标的痛点。早期数据中心大多用的是普通以太网,服务器之间通信依赖TCP/IP协议栈。TCP/IP设计的出发点是“在不可靠链路上可靠传输”,所以它做了大量校验、确认、重传、窗口调优的机制。这些机制在普通网页访问、文件共享场景下没问题,因为单次请求的数据量不大,几十微秒的延迟增加几乎感觉不到。
但到了高性能计算和AI训练场景,情况完全不同。一个GPU节点要在训练过程中频繁向其他几百个节点发送参数梯度,通信模式是多对多、周期性的,数据量动辄几十GB。传统TCP/IP的问题立刻暴露:CPU要深度参与协议处理,中断和拷贝开销巨大;一旦网络出现瞬时拥塞,丢包后触发TCP重传,时延可能从微秒级直接飙升到毫秒级;而且TCP的拥塞控制是端到端的推断式控制,永远滞后于真实网络状态。说白了,以太网像是城市通勤道路,设计时先保证“能走”,没考虑“高峰期全部车同时上路还要不堵”。
我在刚开始管理AI集群时,听开发抱怨最多的一句话是“GPU利用率上不去”。后来一查,瓶颈根本不在显卡,而在网卡和协议栈。一千张GPU卡之间彼此通信,汇聚带宽需求惊人,普通千兆或万兆以太网根本扛不住,哪怕上了25G/100G以太网,TCP的协议开销依然会吃掉很大一部分有效吞吐。
1.2 InfiniBand的设计思路是用专用公路替换通用公路
InfiniBand的思路和以太网完全不同。它从设计第一天起就不是“通用网络”,而是面向高性能计算和存储互联的专用网络。它是起源自1999年一项由Intel、Compaq、HP等公司推动的I/O总线标准,后来逐渐演变成真正的网络技术。核心设计有几个关键词:高带宽、低延迟、低CPU占用、无损传输。
实现这些目标依赖几个底层机制。第一个是内核旁路(Kernel Bypass)。普通网络数据要读取,需要从网卡到内核缓冲区再到用户应用,中途经过协议栈、内存拷贝、系统调用;而InfiniBand允许应用直接和网卡交换数据,通过“队列对”(Queue Pair,QP)机制完成发送接收,CPU几乎不参与数据通路。第二个是基于信用的流控机制。它不像TCP那样靠丢包来判断拥塞,而是逐跳(hop-by-hop)用信用额度控制,发送端只有在确认对端有足够缓冲区后才发送数据,从机制上避免了丢包。第三个是RDMA,也就是远程直接内存访问,数据可以从一台机器内存直接搬到另一台机器内存,不需要双方操作系统的介入。
用一个生活化类比:以太网像普通公路,路上有红绿灯、有各种社会车辆,堵车时所有车一起减速。InfiniBand更像一条为特定车队封闭的高速专用道,专车直达、全程没有红绿灯,连收费站都是自动扣费。这套机制带来的实际效果是:端到端延迟可以做到亚微秒级,CPU占用率大幅下降,带宽利用率能跑到90%以上,而传统以太网在相同压力下很容易掉到70%以下。
2. 厂商格局解读:NVIDIA独占之后,其他人为什么不跟了
2.1 一场并购重塑了整个InfiniBand生态
现在聊InfiniBand厂商,绕不开NVIDIA。但在十多年前,这个赛道远不止一家。早期的InfiniBand市场有Mellanox、Voltaire、QLogic、Intel等多家互相竞争,其中Mellanox逐渐把产品和生态做起来了,旗下有ConnectX系列网卡、Quantum系列交换机、LinkX系列线缆光模块,几乎覆盖整个IB网络栈。真正让Mellanox封神的是它在RDMA、GPUDirect RDMA这些技术上的提前布局,和英伟达GPU一起,在HPC和后来的AI浪潮中形成了很深的绑定。
2020年4月,NVIDIA以近70亿美元完成对Mellanox的收购,这在当时是数据中心领域震惊业内的一笔交易。很多人只把它理解成“NVIDIA买了一家网卡公司”,但实际操作中,这笔收购的意义是把“GPU算力”和“高速网络”整合成了一套整体方案。NVIDIA并没有搅乱Mellanox的产品线,反而把IB深度融入自己的DGX/HGX整机系统,让InfiniBand从可选组件变成了很多AI集群的标准配置。你可以说这是商业策略,也可以说是生态绑定,但它客观上让IB的技术迭代节奏和GPU迭代挂上了钩:GPU算力翻倍,网络必须同步升级。
2.2 其他老玩家的退场是自然淘汰还是无奈
再看看那些已经退场的名字。Intel早期也做IB交换机,后来把重点转向了自研的Omni-Path互连技术,想用更低的成本抢占HPC市场。Omni-Path早期在部分超算里确实有部署,但生态一直没做起来,软件兼容性、集群规模支撑能力都不如IB,最终被NVIDIA收购Mellanox之后的那一轮竞争彻底边缘化,后来Intel自己也宣布停止Omni-Path研发。QLogic曾经收购了InfiniPath和TrueScale相关技术,但也只停留在部分区域市场,最终没有形成气候。Voltaire是做IB交换机名气不小的一家,2011年被Mellanox直接收购。还有更早的QsNet、Infinicon等,基本都消失在了行业整合中。
这个赛道出现“赢家通吃”,有几个现实原因。第一是技术壁垒太高。IB是端到端的整体方案,物理层、链路层、网络层、传输层全部由一套协议栈统一定义,而且要做自适应路由、拥塞控制、基于信用的无损传输、子网管理等复杂功能,新玩家想切入,必须同时搞定芯片、固件、驱动、管理软件,成本和周期远超一般网络产品。第二是生态绑定太深。IB的优势不只在硬件,CUDA生态、GPU Direct技术、NVIDIA的集合通信库(NCCL)都和它深度配合,第三方厂商很难复制这一整套协同优化的效果。第三是市场盘子不算大。相比全球庞大的以太网市场,IB是相对垂直的细分领域,后来者投入同样的研发经费,很难在AI和HPC之外看到足够的回报。
现在业界甚至有一个有点夸张的说法:InfiniBand基本等于NVIDIA,NVIDIA就是InfiniBand。虽然不完全准确,但也反映现实。如果你打开采购清单,HCA网卡是ConnectX系列,交换机是Quantum系列,线缆是LinkX系列,管理软件是UFM,几乎清一色都是同一家。
2.3 NVIDIA当前产品矩阵一览
梳理当前NVIDIA侧主流InfiniBand产品,可以从三个维度看:网卡、交换机和线缆。网卡这边,ConnectX系列是核心。ConnectX-5比老一代EDR网络有了明显提升,后来在性价比市场还推出过支持HDR100的版本;ConnectX-6把速率推到HDR 200Gb/s,支持RDMA、NVMe-oF、加密、虚拟化等功能,适合主流IB接入;ConnectX-7则是NDR产品,单端口400Gb/s,支持更强的拥塞控制和自适应路由,AI集群和超算的高端节点普遍选它。它是GPU服务器里最常见的HCA之一,因为一颗卡就能提供超大带宽,配合GPU Direct RDMA能很好释放多卡间通信压力。
交换机这边,Quantum系列是IB交换机的主力。入门和中端集群可以用Quantum QM8700这个级别,对应HDR 200G,存储和数据中心场景都覆盖到了;再往上是NDR代际的QM9700/9790系列,支持400G端口高密度接入,面向万卡级甚至更大规模集群。NVIDIA现在也把网络产品划分成以太网侧Spectrum系列和IB侧Quantum系列两条线,后者才是今天讨论的主角。线缆和光模块则是LinkX系列,铜缆DAC、有源光缆AOC、可插拔光模块都有,采购时官方认证线缆的兼容性最好,后面部署部分我会专门讲线缆踩过的坑。
3. 产品代际横向拆解:从HDR到NDR,网卡和交换机怎么选
3.1 一张表看懂IB核心技术路线
InfiniBand从诞生到现在经历了很多代,每一代都用速率翻倍的方式迭代。判断一套IB网络“是哪一年代表”的方法很简单:看单端口速率和PHY层的调制方式。早期的SDR单端口10Gb/s,DDR是20Gb/s,QDR到40Gb/s,FDR是56Gb/s,EDR到100Gb/s,HDR跳到200Gb/s,NDR目前做到400Gb/s。每一代向下兼容,但速率不同,不同代际的设备混插时只能协商到低速率。实际部署中这是很多人忽视的点:买了新的NDR交换机,如果服务器里还是老HDR网卡,最终链路只会跑在HDR速率上,厂商参数表里的400G不会自动生效。
把主流代际的关键参数列出来更直观:
| 代际 | 典型单端口速率 | 单Lane速率 | 发布时间 | 典型HCA | 典型交换机 |
|---|---|---|---|---|---|
| EDR | 100Gb/s | 25G | 约2014年 | ConnectX-5 | QM8800系列 |
| HDR | 200Gb/s | 50G | 约2018年 | ConnectX-6 | QM8700系列 |
| HDR500 | 最高可达500Gb/s | 50G多通道增强 | HDR中期 | ConnectX-6 Dx | QM8790系列 |
| NDR | 400Gb/s | 100G | 约2022年 | ConnectX-7 | QM9700/QM9790系列 |
| XDR | 预计800Gb/s | 200G | 路线图阶段 | 待发布 | 待发布 |
从EDR到HDR再到NDR,表面上是速率翻倍,更深层的变化是PAM4调制技术的引入。以前以太网和IB大多用NRZ(非归零)编码,一个符号只能传1bit;到了HDR以后,PAM4一个符号能传2bit,相同波特率下的吞吐直接翻倍,代价是对信噪比更敏感、对线缆和光模块的要求更高。这也是为什么NDR时代的布线容错空间更小,劣质线缆非常容易导致链路误码率飙升。
3.2 网卡选型看什么:ConnectX具体怎么挑
选HCA网卡不能只看接口速率,还得看PCIe通道数量、链路代际、以及是否支持你需要的功能特性。比如ConnectX-6是PCIe 4.0 x16,而ConnectX-7原生支持PCIe 5.0,理论接口带宽能覆盖400G的网络吞吐。实际选购时,要确认服务器的PCIe插槽能支持对应的代际和lane数;如果主板只有PCIe 4.0,买一块PCIe 5.0的网卡也能用,但通信带宽可能降一档,物理速率提升带来的收益会打折扣。
另外需要关注网卡的形态和端口数。ConnectX-6和ConnectX-7都有单端口和双端口版本,双端口版可以用两路200G捆绑成400G,也可以在两张GPU服务器间做冗余链路。对于普通训练节点,双端口的HCA配一个2层IB拓扑,普遍体验是单点故障少、带宽扩展灵活。还要注意网卡是否支持RoCE、NVMe-oF这些“跨界”功能。一台服务器如果既要跑AI训练又要接存储,尽量选一个能同时支持IB和以太网双模式的HCA,避免为不同业务准备两套网卡硬件。
从成本端考虑,也不需要盲目上最新一代。很多成本敏感的场景里,HDR其实比NDR更划算,尤其是单集群规模在128/256节点以下时,HDR的200G带宽对大部分AI训练任务是够用的。上一代产品生命周期成熟,驱动稳定,二手和现货市场也相对充裕,适合预算有限但希望体验IB性能的团队。
3.3 交换机与组网拓扑:不只是堆端口数
IB交换机的选择核心不是单台设备端口密度,而是组网后能不能满足全局通信带宽。AI训练网络最常用的组网是两层或三层的胖树(Fat-Tree)拓扑。两层胖树适合几百个节点以内的集群,所有叶子交换机上行到同样的核心交换机,带宽收敛比,比如leaf和spine用相同速率端口,就能做到无收敛。到了千卡以上规模,通常要拉三层spine,这时候交换机需要支持自适应路由、拥塞控制、以及在链路故障时快速收敛,这些能力是由芯片硬件和管理固件共同决定的。
NVIDIA交换机上那些“支持NDR”的指标,实际能跑到多少,和端口速率、内部缓存、路由算法都有关系。主流旗舰交换机单机端口密度是三四十口400G起步,集群规模再大就靠级联。部署时建议按照厂商参考架构来选信,不要自己拍脑袋搭非标拓扑。参考架构里的端口映射、线缆长度、SM部署方式都经过验证,能少踩很多坑。
4. 绕不开的对手:RoCE、UEC和以太网阵营的真实差距
4.1 RoCE并不是等闲之辈
聊IB必然绕不开RoCE(RDMA over Converged Ethernet)。RoCE的核心思路是:能不能把RDMA这种高效率和低开销的通信方式搬到标准以太网上?按照这个思路发展出的RoCEv2,是目前许多互联网企业和云厂商在AI集群里大规模采用的技术。它的硬件成本比IB低,底层可以复用成熟的25G/100G/400G交换机生态,运维人员掌握的以太网技能也更为普及。
RoCEv2要真正跑出接近IB的效果,需要底层以太网无损,不能有拥塞丢包。为此要配置PFC(优先级流控)、ECN(显式拥塞通知)、ETS等机制。操作上比IB要复杂得多,因为PFC是逐跳作用的,一个配置错误的交换机可能导致优先级阻塞扩散到整个网络。IB的设计天生就无损,基于信用流控和更精细的拥塞控制,在万卡规模下故障定位和调优的体验通常比RoCE更顺畅。不少从业者的经验是:小规模环境里RoCE和IB差距没有想象中那么大,一旦集群规模上千卡、通信模式复杂,IB的稳定性和性能优势才会真正凸显。
4.2 以太网阵营正在加速“围剿”
近两年业界出现了一个明显动向:Ultra Ethernet Consortium(UEC)成立,AMD、Arista、Broadcom、Cisco、Intel、Meta、Microsoft这些主力玩家都在里面,目标是把标准以太网改造成能支撑超大规模AI和高性能计算的新型网络。与此同时,NVIDIA自己也推出了Spectrum-X等以太网优化方案,这表明即便是InfiniBand的主导厂商,也在布局以太网侧的“无损+RDMA”能力。
UEC如果顺利推进,未来AI集群完全有可能普遍使用以太网,并配合RoCE或新的传输协议满足通信需求。但技术路线从提出到标准落地,再到设备大规模商业化,通常会经历好几年时间,而且未来即使以太网性能上升了,IB多年积累的生态、工具链、自适应路由实现经验依然是它的护城河。短期内两套体系会并行,很难说谁立刻吃掉谁。
4.3 我的真实选型判断
关于最终选IB还是RoCE,我的实际标准很简单:如果集群规模在几百卡以内、整体网络架构以以太网为主、供应链以传统服务器和交换机为主,直接用RoCEv2往往已经够用,成本还低;如果目标是用几千卡跑基础大模型训练,对通信延迟和可预期性要求极高,且愿意为网络稳定性承担溢价,那么IB依然是更省心的选择。现在市面上很多新建AI集群,会直接采购NVIDIA整机柜方案,而方案里网络默认就是IB,这时候单独纠结“IB还是以太网”反而没有意义,整机方案已经帮你把选择做完了。
还有一点容易被忽略:技术选型要考虑售后技能。IB网络调优和排障需要的知识体系和以太网不太一样,比如要理解SM、QP、credit机制、GPUDirect配置。如果你的运维团队去过没接触过OFED和MLNX驱动,贸然上IB可能会因为不会用而背上“不好用”的锅。同样,RoCE的无损配置也需要较高的网络经验。先把团队能力摸清楚再选技术,比单纯对比参数更实际。
5. 实战部署要点:一套IB集群从采购到调优避坑清单
5.1 从硬件清单到组网,5步搭建基础IB网络
如果确定了要上IB,第一步是列清单。一台训练节点通常配一张HCA网卡,双端口版本接入两台不同叶子交换机。核心网络至少有两台spine交换机支撑冗余。线缆看距离:机房内部1~3米可以用DAC铜缆,便宜、功耗低;跨机柜甚至跨机房再考虑AOC有源光缆或光模块加光纤。一定注意端口的连接器定义,HDR/QDR/N端口之间不兼容,线缆必须匹配,这也是采购时容易出问题的地方。
第二步是安装驱动和固件。官方MLNX_OFED驱动是必装的,安装前先核对Linux内核版本,用系统包管理器装对应版本。设置网卡IP地址时,IB的IP是通过ipaddr或opensm创建的子网接口(如ib0)来做上层配置,与传统网卡管理方式不同。装好后用ibstatus看一下链路速率和状态,用ibstat查看HCA卡的具体型号、固件版本、物理端口状态,确认链路处于Active而不是Init状态。
第三步是规划IP和子网。IB子网编号用默认的0xfe80000000000000开头,在单子网里不用改,多子网互联时再做设置。每台机器通过ib0接口配置IP,后续TCP服务照常跑,但上层业务要走RDMA时需要知道入口在IB端口上,而不是普通的eth0。
第四步是部署子网管理器。IB网络必须有至少一台机器运行SM(Subnet Manager),SM负责计算路由、分配LID地址、检测链路状态。生产环境强烈建议跑双SM做高可用,一台主SM出现问题,备SM可以在秒级接管。如果没有SM,整个IB网络会是Down状态,所有端口都无法通信,这一点和普通以太网截然不同,很多新手第一次配置IB时的“全盘不通”几乎都是因为忘记启动SM。
第五步是测试基本连通性。可以用ibping,需要先给目标机器分配logical LID地址或使用GID方式,然后再用RDMA带宽测试工具如ib_write_bw、ib_read_bw验证点对点带宽。在HDR环境下跑通单条200G链路后,再逐步搭建整个fat-tree拓扑,验证多路径和故障切换能力。
5.2 子网管理器SM:它的角色比你想象的更重要
很多人在IB网络部署中踩的坑,归根结底是没搞明白SM的定位。你可以把它理解成IB网络的操作系统,所有端口、交换机、路由表都由它管理。IB交换机本身不像以太网交换机那样通过动态路由协议自己协商路径,而是被动接受SM下发的转发表。交换机重启、链路抖动、增删节点,都需要SM重新计算并下发更新,所以SM所在服务器和它本身的高可用配置,直接决定了整张IB网络的稳定性。
实际生产里我们遇到过主SM进程异常但机器没宕机的情况,备SM因为没有及时探测到超时而没有接管,结果全网链路一直处于退化状态。排查时通过sminfo、smpquery等工具确认活跃SM的GUID和优先级,之后我们给SM配置了更严格的健康探测周期,并把SM进程用systemd托管,做到崩溃自动重启。如果集群规模大,还建议用NVIDIA UFM管理平台,它集成了SM和监控功能,能可视化呈现全网拓扑、端口速率、温度和事件告警,比原生命令行直观很多。
5.3 性能调优与网上排查的几个方向
跑AI训练时发现通信性能不到预期,先不要怀疑IB不行,可以从三个方向排查。第一是确认GPUDirect RDMA有没有真正生效。很多情况下RDMA流量仍然走的是主机内存中转,而不是GPU显存之间直接通信。用nvidia-smi topo -m查看GPU和HCA是否挂在同一颗CPU的PCIe switch下面,在NCCL环境变量中把GPUDirect相关选项打开,观察带宽测试结果来验证。第二是确认队列对和并发度配置。RDMA通信在建连时QP数量、Inflight请求数量、报文大小等参数会影响吞吐,不是简单把数据发出去就行,需要根据网络延迟带宽积做调优。第三是检查是否存在链路误码和硬件降速。用ibdiagnet做全网健康扫描,它会检测误码率、信噪比和非降级链路,很直观,批量模式下可以帮助快速定位坏线缆和光模块。
这里分享一个记忆深刻的排障经历:某次训练集群整体带宽低于预期,最初怀疑是交换机配置文件问题,后来用ibdiagnet扫描后,发现一批光模块的误码率高出正常值几个数量级。换掉光模块后,性能立刻恢复正常。原因是这批模块是第三方兼容模块,固件版本和交换机不完全匹配,在高温下信号质量恶化严重。从那以后我们对所有非原厂线缆和光模块执行了严格的入网测试,宁可在验收阶段多花时间做压力测试,也不要上线后半夜打电话抢修。
6. 关于IB的后续走向,我的几点判断
6.1 800G之后,IB还有多大成长空间
NDR接下来是XDR,单端口800Gb/s,预计会跟随AI集群需求逐步商用。NVIDIA推动IB升级的逻辑一直没有变:GPU单卡算力快速增长,通信带宽必须同步跟上,否则训练效率会被网络卡死。从PCIe 5.0到PCIe 6.0,从HDR到NDR再到XDR,每次硬件升级都能支撑起更大规模的集合通信任务,所以IB在超大规模AI集群里的用量大概率会继续增长。
但值得留意的是,机内互连技术(比如NVLink)和网络互连之间的边界会在未来更加明显。机内的NVLink可以做到每卡数千GB/s,远超外部网络;跨节点通信则继续由IB或无损以太网承担。这种分工决定了IB解决的重点可能从“追求绝对峰值带宽”转向“在超大集群规模下保持稳定、可预测的集体通信性能”,带宽只是其中一个评价维度,延迟、抖动、拥塞控制和可运维性会变得更加重要。
6.2 什么样的人现在值得入手IB
按我目前的经验,如果你正在负责一个中等规模AI项目,节点数量几十台以内,预算又有限,那可以先从RoCEv2或HDR级别的IB入手,HDR的性价比很合适。如果项目方向是长期做基础大模型预训练、集群规模会持续扩展到几百上千卡,那么一步到位上NDR会更安心,避免一年后因为带宽不够再推倒重来。对HPC领域的团队来说,IB在并行计算场景下的生态和工具链积累依然是最好的,只要有相关预算和运维支持,继续选用IB不会错。
我个人在实操中的一个体会是,InfiniBand这套网络的“坑”远比看起来要多,但绝大多数坑都不是技术原理上的深奥问题,而是布线、固件、配置和监控这些基础设施问题。只要你按照厂商参考架构做设计,严格验收每一条链路,配好高可用SM,再借助UFM和ibdiagnet这类工具进行日常巡检,IB会是一个非常省心的高性能网络。写到这里,我建议第一次尝试IB的朋友,先找两台服务器加一台小交换机,搭一个最小的两节点拓扑,亲手把这些命令和流程走一遍,比看再多资料都更有用。