ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

InfiniBand是什么?与以太网、RDMA、AI集群网络的本质区别

InfiniBand是什么?与以太网、RDMA、AI集群网络的本质区别 第一次听到 InfiniBand简称 IB这个词的人十有八九会被它的中文直译名“无限带宽”唬住。我当年第一次在机房里见到 IB 实机也下意识觉得这是更贵、更快的“万兆以太网”。等到真正把 IB 链路拉起来、跑完一轮 MPI 带宽测试才意识到这种想象错得有多离谱——InfiniBand 的“Infini”确实来自 infinite但它并不是要取代以太网去做通用网络而是专门给高性能计算和 AI 集群准备的一套“算力互联”协议栈。换句话说一台普通服务器上网用不到它但一台 GPU 服务器想高效和其他 GPU 对话IB 可能是最省心的选择。下面我会用尽量通俗的话解释 IB 到底是什么它的协议和硬件是怎么配合的以及它和以太网之间最关键的几个区别。如果你正在面临 HPC 集群、AI 训练网络或者分布式存储组网的选型可以参考我这几年来回折腾后积累的实际判断。1. 为什么会有 IB算力互联需要的不只是一张“更快的网卡”1.1 以太网解决的是“连通”IB 解决的是“效率”聊 IB 之前得先想清楚服务器之间的流量其实分成两类。一类是通用业务流量网页请求、数据库查询、容器通信特点是路径乱、规模大、连接多目的只是“连得上、差不多不丢包就行”。另一类是算力集群里的流量MPI 通信、GPU 分布式训练的参数梯度交换、分布式存储的数据回写。这类流量有个致命特点单个消息可能很小但数量极大而且对延迟极其敏感。一个 8 字节的同步消息如果在网络里多磨蹭 1 微秒外面看起来可能只是慢了一点点放到上万节点并行计算里就是整个任务被卡在原地。以太网从诞生第一天起就不是为第二种流量设计的。它要兼容打印机、路由器、服务器、云平台甚至各种嵌入式终端。为了让连接足够“通用”以太网的协议栈必须一层一层往上搭每层都留足余地。这种设计换来了超强的生态适配性也换来了协议开销和不确定的时延波动。你可以在以太网上把丢包率压得很低但无法天然保证每次转发都像钟表一样稳定。InfiniBand 走的是另一条路。它最初是几家大厂在 1999 年前后为了替代服务器内部并行总线而定义的互联规范后来逐渐从机箱内部延伸到机柜与数据中心。设计目标从头到尾只有一句话让计算节点之间的数据传输又稳、又快、又少占 CPU。它不是“另一种局域网”更像是一条为计算设备专门开辟的专用铁路。1.2 IB 的“无限带宽”名不副实但点破了它的独特基因很多人把 IB 幻想成“无限带宽”实际恰恰相反IB 是有边界的。它强调的是有限物理区域内、数量可控设备之间的确定性传输。翻译成大白话就是我不追求谁都能接进来我只负责把已经规划好的服务器集群连接做到极致。这个基因决定了 IB 和以太网的所有差异。以太网的广播域、VLAN、路由协议、安全策略都是后加的复杂机制IB 的寻址、路由、流控、可靠性则是一开始就在硬件里强制设计好的。用交通工具打比方以太网是公路上跑的卡车哪儿都能去但路上有红绿灯会堵车IB 是厂区里的专用轨道轨道只能通到特定车间一旦通起来每一班车都按时刻表跑。理解了这种基因差异后面看协议细节就不会乱。2. IB 的底层运转方式和以太网完全不同的几个关键点2.1 物理链路Lane 决定速率代际决定上限IB 物理层和以太网最大的共同点是都用了 SerDes 差分信号把数据跑在铜缆或光纤上。但 IB 对“通道”的处理方式更直白一条 IB 物理链路内部可以捆绑多个 lane常见的是 4 个 lane称为 4X每个 lane 有固定速率。链路总带宽等于 lane 数乘单 lane 速率。这也解释了为什么 IB 的速率演进总是跳跃式的。从最早的 SDR 到后来的 DDR、QDR、FDR、EDR、HDR、NDR每一代基本就是把单链路速率翻一倍或更新一次编码方式。IB 代际单链路速率与 4X 链路总带宽约大概出现的年代SDR2.5 Gbps/lane约 10 Gbps2001 年前后DDR5 Gbps/lane约 20 Gbps2005 年前后QDR10 Gbps/lane约 40 Gbps2008 年前后FDR14.0625 Gbps/lane约 56 Gbps2011 年前后EDR25 Gbps/lane约 100 Gbps2015 年前后HDR50 Gbps/lane约 200 Gbps2019 年前后NDR100 Gbps/lane约 400 Gbps2022 年前后XDR200 Gbps/lane约 800 Gbps2024 年之后开始铺开这里想提醒一点表格里的数字是链路聚合后的标称速率实际有效载荷还要扣除前导码、校验和编码开销。但看趋势比看数字重要——IB 的单链路速率基本跟着 SerDes 工艺水平走它并没有比以太网神秘太多只是把整条路径上的协议裁剪得更符合高性能计算的需求。实际接线时有个容易踩的坑不同代际的 IB 物理规格不一定兼容。SDR/DDR/QDR 时代还能通过线缆协商降速兼容到了 FDR/EDR/HDR 之后模块和线缆的编码方式差距明显插错常常导致链路起不来。所以别只看网卡是什么代际交换机端口、光模块、线缆规格最好每次一起核对。2.2 链路层的信用流控从源头杜绝“塞车丢包”以太网在二层是“发出去就不管”的设计数据帧到了交换机如果缓冲区满了就直接丢弃。看似简单但在高性能场景里任何一次拥塞丢包都需要上层协议去发现和重传开销非常大。IB 在链路层则用了完全不同的信用流控credit-based flow control接收方在硬件里预先分配好缓冲区额度然后周期性告诉发送方“我还剩多少信用可以用”发送方只有拿到信用额度才发送数据。这个过程很像餐厅发餐券。厨房不一次性把所有菜做好而是根据前厅回收的空盘数量决定下一批菜能不能下锅这样永远不会出现“菜做了一大堆、桌上腾不出位置”的情况。IB 的信用流控在硬件上实现时延极低而且让数据流在正常情况下不会因缓冲区溢出而丢失。注意这里说的是“不会因拥塞丢包”链路故障导致的错包仍然会丢——这个区别很重要后面讲误解时会再展开。信用流控还配合了虚拟通道Virtual Lane机制。一条物理链路可以被划分成多个虚拟通道比如流量控制消息走 VL0大数据块走 VL1互不干扰。当某条链路被大流量占满时管理消息仍然能优先通过避免了以太网常见的“管理请求被业务洪峰堵死”的尴尬。2.3 子网管理器与寻址IB 的路由是“被集中管出来的”以太网的二层寻址靠 MAC 地址加 MAC 表三层靠 IP 地址和路由协议设计上是分布式完成、自发协商没有谁统一指挥。而 IB 网络里有一个非常特殊的角色子网管理器Subnet ManagerSM。这个管理器可以是软件也可以固化在交换机里。它负责发现整个 IB 子网的拓扑给所有节点的端口分配 LID本地标识符计算最优路径然后把这些转发规则下发到各交换机的硬件转发表。LID 可以理解成 IB 子网内部的“临时地址”。以太网交换机看到 MAC 地址还要查表学习IB 交换机则在 SM 分配 LID 的同时就拿到的就是完整的路由信息。子网内所有数据包都会带源 LID 和目的 LID交换机只需要精确匹配。子网之间要互通或者和外部网络互通时才需要 IB 路由器用 64 位的 GID 做全局寻址。如果子网没有规划好GID 冲突、P_Key 不匹配之类的问题会让你排查到怀疑人生。这个设计带来两个实际效果。第一IB 拓扑的自动发现和管理能力很强新挂上去一台交换机SM 很快算好路径并下发不需要像以太网那样担心二层环路、生成树阻塞、STP 收敛等问题。第二集中式的 SM 一旦出问题或者主备切换异常整个子网的路径计算都会受影响。生产环境里OpenSM 这类组件的配置不能太“裸”至少要规划好主备节点和 Subnet 管理权限。我在实际运维里最常用的几个 IB 诊断命令就是ibstat # 查看网卡端口状态、链路速率 ibswitches # 查看子网内的交换机列表 ibdiagnet # 做完整的连通性和健康检查ibstat 能快速判断端口是不是 Active、链路速率是否符合预期ibdiagnet 跑一遍能发现线缆、供电、LID 分配的问题。新手第一次接触 IB不要一上来就去抓包分析先拿这些命令把物理层和链路层的状态确认完后面的事情会简单一大截。另外IB 的 P_Key 分区机制和以太网 VLAN 有相似之处。P_Key 是用来隔离不同业务流量的很多第一次接入 IB 子网的人发现“明明链路是 UP 的怎么对端不通”十次里有八次是 P_Key 没配对。排查 IB 连通性问题时先看链路速率再看 SM 里有没有分到 LID最后看 P_Key这个顺序基本能覆盖九成故障。2.4 传输层的队列对与 RDMA让网卡直接读写内存IB 和以太网在传输层上的差异最明显。以太网上最常见的传输模型是 socket应用通过操作系统协议栈创建 TCP 连接数据从用户态复制到内核再经网卡发送接收侧则要经过中断、拷贝、通知。每一步都有 CPU 参与时延很难压到微秒级以下。IB 的默认语义是 RDMA远程直接内存访问。应用在使用 IB 之前需要创建队列对Queue PairQP一个 QP 就是一条完整的数据收发通道。调用 verbs 接口下发工作请求WQE网卡拿到之后直接用硬件 DMA 把内存里的数据发出去。发送完成后对应的完成队列CQ会通知应用整个过程不需要操作系统协议栈反复处理数据包。应用还会提前注册内存区域网卡可以直接操作这整块物理内存实现零拷贝传输。用 RDMA 做远程读写就像我给你一把我家里储物柜的钥匙让你按标签自己把文件放进指定格子。你不是把文件递到我手里而是直接放进目标位置我再核对一下有没有放错。这比传统方式省掉了一层又一层的“快递分发”手续。IB 的传输服务类型分可靠连接RC、不可靠连接UC、可靠数据报RD、不可靠数据报UD等。生产环境中最常用的还是 RC因为它提供端到端可靠性对应到 TCP 那样的可靠传输但整个重传、确认、顺序保证都在网卡硬件里完成CPU 只负责发起和收完成通知。这也是为什么 IB 在数据库、分布式锁这类高频小消息场景里优势能比普通以太网高出好几个数量级。3. 与以太网的关键区别我用五个维度拆开讲3.1 算力场景里带宽不是唯一指标很多人第一反应是“IB 比以太网快是因为带宽更大”。实际上单论端口速率到了 400G 时代以太网和 IB 都已经能做到单端口 400G 甚至 800G物理层极限并没有差出代差。真正拉开差距的是同样 400G 端口的吞吐IB 网卡能把 CPU 占用率压到很低同时把端到端时延压到微秒级以下而普通以太网上的 TCP 流量数据经过内核协议栈时就已经吃掉了大量 CPU 周期。所以 IB 的优势从来不是“线速更快”而是“更少浪费”。这种情况很像两条都是双向八车道的公路。普通公路上每辆车到了出口都要排队登记、人工检查哪怕车道再宽也快不起来IB 则是全程电子标签扫描车到了自动放行真正跑起来之后效率差距才会放大。3.2 时延消耗在哪决定了 IB 的体验上限深入看时延以太网的消耗主要在三块网卡到达 CPU 的中断和拷贝、TCP/IP 协议栈的逐层处理、交换机队列拥塞。IB 把前两块全部搬到了硬件上网卡直接访问应用内存不需要内核协议栈端到端往返时延可以做到 1 微秒上下的量级而标准 TCP over 10GbE 通常要 10 微秒以上。注意这不是说 IB 总能在任意场景胜出大块文件传输时 TCP 通过卸载也可以表现不错但在海量小消息、多对多同步的典型 HPC 负载里差距非常明显。IB 对时延的“确定性”也体现在长尾上。普通以太网一旦出现交换机队列深度波动某个包的延迟可能从 20 微秒直接跳到几百微秒。这种毛刺对普通业务无所谓但对大规模并行训练是致命的。IB 通过虚拟通道和硬件级流控把抖动控制得更紧即使网络拥塞高优先级流量也能保持相对稳定的延迟曲线。3.3 可靠性无损机制的底层思路不一样标准以太网本身不保证无损TCP 靠重传应对丢包。无损以太网通常会打 PFC优先级流控来模拟不丢包但也因此带来链头阻塞、PFC 风暴等一系列副作用运维上非常考验功底。IB 则把无损写进了链路层信用流控和虚拟通道机制里不需要额外配置复杂的“无损模式”天然就没有因为拥塞导致丢包的问题。拥塞时 IB 会通过减速、流控、拥塞通知CC等手段让流量曲线变平滑而不是粗暴丢包再重传。这里要特别提醒IB 的无损是设计出来的不是配置出来的。评价一个网络能不能跑 RDMA 业务看它“是否默认无损”比看“峰值带宽多少”更关键。 IB 从网卡固件到交换机队列整条链路都按无损前提设计而 RoCE 要靠底层网络做一堆 PFC 参数调优这是两者运维工作量差异的最主要来源。3.4 组网与管理模型集中式 vs 分布式以太网的成功很大程度来自生态和分布式协议VLAN、STP、BGP、EVPN任何一台交换机都能接入标准公开且互相兼容。运维人员也好找遇到问题网上资料多。IB 的集中式子网管理则更接近“高架单轨”SM 掌握全局拓扑路径统一计算天然适合多层 Clos 网络里的最优调度。代价是 IB 交换机生态相对封闭管理工具偏向厂商方案出问题时的排查路径也短。IB 的集中式管理也带来了一个以太网没有的好处路径规划更全局。以太网的链路状态协议在每个节点上各自计算虽然也能动态绕行但很难做到像 IB 那样以微秒级粒度统一调度多路径。应付常规流量没问题但面对数千 GPU 同时通信的“策略型流量”时集中式规划明显更从容。3.5 生态成本与适用场景用一句话概括以太网是“万能插座”从办公室到云数据中心都能用IB 则更像“特种装备”只有算力密度高、延迟敏感的场景才需要上。成本上IB 网卡、交换机、光模块和配套软件都比同速率以太网贵运维门槛也高。可一旦选了 IB它提供的确定性往往是通用以太网很难短期复制的。对比维度InfiniBand以太网设计初衷高性能算力集群互连通用网络互连原生 RDMA是verbs 原生需 RoCE / iWARP 等扩展无损机制链路信用流控 VLPFC / ECN / DCQCN 配置路由方式子网内 SM LID 集中管理分布式 MAC/IP 学习与路由协议时延控制硬件直通、内核旁路依赖协议栈和网卡卸载能力生态灵活性较高独特性极强通用性适用场景HPC、AI 训练、高性能存储云、园区、传统业务、边缘成本较高较低且选择丰富这个表格简化了很多细节但基本把骨干区别列全了。真到项目里你还会遇到更多具体取舍比如 IB 的交换机端口速率对齐、路由策略、线缆选型和以太网的 DCB 调优、RoCE 流控参数每一项都能写一大篇排错经验。4. 为什么现在 RoCE 和超大 AI 集群都在“贴脸竞争”4.1 RoCE 是给以太网补课的结果既然 IB 的 RDMA 优势这么明显为什么没有把以太网彻底挤出去答案很简单生态和成本。IB 再怎么强它也是一套相对专用的协议栈想与普通业务网互通还得费劲。为了让不换交换机、不换网卡也能跑 RDMAIBTA 定义了 RoCERDMA over Converged Ethernet把 IB 的 verbs 语义跑在以太网上做一层封装。RoCEv1 只能在二层以太网内跑RoCEv2 改用了 UDP/IP 封装于是可以跨三层路由。表面上好像得到了“以太版 IB”实际上也继承了以太网的不确定性。为了不让重传毁掉 RDMA 的低时延优势RoCE 网络通常要启用 PFC 无损队列、ECN 拥塞标记、DCQCN 等一堆机制。这些机制在 IB 里是出厂自带在以太网里要靠配置一行行堆出来。所以经常出现的情况是RoCE 测试时跑得很好生产一上流量某个交换机队列深度没调对性能一下子跪了。排查这种问题时一层层看 ethtool、dcb、ntuple、丢包计数器非常考验耐心。4.2 面对 AI 训练集群IB 有独到优势这两年我接触的大模型训练集群几乎都在同一个选择上反复纠结用 IB 还是用 400G 以太网加 RoCE。只看测试数据IB 的端到端时延和长尾性能确实更稳。AI 训练本质上是一个又一个同步屏障barrier所有 GPU 算完一小批就得互相等梯度。网络里只要有一个节点延迟抖动整个训练效率就被拖住。IB 的确定性在这里体现得特别明显这也是为什么从超算到 AI 集群大量头部项目仍把 IB 作为“省心方案”。但也不是越高越好。如果业务本身就是通用型云平台既有普通虚拟机流量也有少量 GPU 训练需求那上 IB 反而自找麻烦IB 隔离子网和现有云网络的融合、驱动部署、运维知识储备每一项都是投入。这种场景下我更倾向于先用 100G/400G 以太网加 RoCE把部署成本降下来再根据实际训练效率决定要不要升级到 IB。规模小的时候RoCE 完全够用规模大到一定程度比如上百台 GPU 服务器集中训练IB 的优势才开始真正换算成真金白银。4.3 我实际选型时的三个判断标准第一问瓶颈你的应用瓶颈是时延敏感还是吞吐敏感吞吐敏感优先看带宽时延敏感再深入研究流控和抖动。第二问团队有没有能看懂 SM、P_Key、LID、VL 的人没有的话RoCE 反而更容易找到资料和排错经验。第三问上限未来三年 GPU 服务器会不会快速增长到几百台会的话一次性把 IB 规划进去比中途改造划算得多。还有一个容易被忽略的变量业务是否愿意改造应用。IB 的 RDMA 能力很强但应用得用 verbs 或者经过 MPI 这类中间库才能发挥出来。如果团队只想沿用传统 socket 编程那 IB 和以太网的差距会被大幅拉平选型结果自然会向更便宜的以太网倾斜。5. 新手最容易踩的三个误解5.1 “IB 不就是更快的以太网吗”是错误的理解它的协议、寻址、可靠性、流控全都和以太网不是一套。IB 网卡接到普通交换机上不能用普通网卡插到 IB 交换机上也不能联网。虽然 IB 最终也能在硬件接口上承载 IPv6 等网络层协议但你要真想找“更快的以太网”直接看 RoCE 可能更接近预期。IB 的物理形态可以做成看起来像网卡、像光模块但它内部协议栈和以太网没有天然的兼容关系。5.2 “IB 只能跑 HPC不能跑 TCP/IP 业务”也太绝对IB 确实定义了一套完整的 socket 兼容层IP over IB简称 IPoIB在这套接口下普通 TCP/UDP 应用只要装上驱动就能跑。甚至可以说IB 并不排斥传统应用。IPoIB 的 IP 地址分配方式和普通网卡类似底层报文的广播、组播也有映射机制所以 DHCP 之类的基础设施仍然能工作。但我还是要泼一盆冷水IPoIB 的目的是兼容不是拔尖。你拿 IB 网卡跑传统 TCP 应用得到的好处远不如直接用 RDMA verbs 改造应用来得大。接受 RDMA 语义才是把 IB 的价值榨干的前提。许多人被“IB 很贵”劝退却不知道真正贵的是“买了 IB 却还按 socket 的老思路用”。5.3 “无损网络就是不丢包所以 IB 可以随便浪”是危险的想法无损网络只针对拥塞丢包而言。链路故障、光纤老化、收发端硬件异常、SM 切换间隙都可能造成包丢失。IB 处理拥塞靠链路层信用机制但处理物理故障还是得靠路由收敛和重传机制。把“无损”理解成“永不丢包”生产环境里吃大亏的案例不算少。做任何 IB 网络设计都还是要保留监控、告警、多路径冗余和故障演练不能因为 IB 给了你确定性就放松运维纪律。使用 IB 一两年后我自己的感受是它是我见过的把“低时延”和“确定性”这两个词落地最扎实的网络技术。它不适合所有地方但在 AI 训练、HPC 和核心存储场景里每次因为协议栈扣掉的那点开销都会反过来说服我愿意为不到一微秒的提升买单。如果你也在做类似的选型别只看标称带宽和网上那些对比图先把自己真正的流量特征写清楚再决定要不要走进这个“专用铁路”的世界。
返回列表