InfiniBand 组网基础 · InfiniBand · 技术 · 文档 · CodingBox
CodingBox 文档

InfiniBand 组网基础

InfiniBand 网络与以太网络在诊断链路时相关的一些方面表现不同。本页介绍光模块工程师会遇到的概念:子网管理器、无损流量控制、拓扑结构,以及故障链路的表现形式。

子网管理器

每个 IB 子网都有一个活动的子网管理器(SM)。它发现所有端口和交换机,分配本地标识符(LID),计算转发表并将其编程到每台交换机中。链路发生抖动时,SM 会重新扫描整个网络——因此一个临界光模块造成的不只是一条链路失效,还会触发所有人都能察觉的全网范围重新路由事件。

基于信用的无损传输

IB 链路在正常运行中不会丢包:发送方只有在接收方声明了缓冲信用时才会发送。因此拥塞表现为反压而不是丢弃,一条劣化的链路(符号错误上升、FEC 纠错增多)会拖慢依赖它的整个作业——这就是集合操作中的“单条慢链路”问题。

拓扑结构

  • 胖树(Clos)——标准方案:叶层交换机连接主机,脊层交换机连接叶层交换机,上行链路数量足以实现无阻塞。大多数链路是叶层–脊层光模块。
  • Dragonfly+ 及环形(torus)变体出现在最大规模的系统中,用于节省交换机和电缆。
  • 面向 AI 的轨道优化(rail-optimised)设计将每个 GPU 的网卡放在网络的一个独立“轨道”上,使跨服务器具有相同编号的 GPU 之间只相隔一跳——参见 GPU 网络拓扑。

RDMA 与 GPUDirect

应用程序使用 RDMA verb 在节点内存之间搬运数据,无需 CPU 参与拷贝; GPUDirect RDMA 将这一能力扩展到 GPU 内存。其结果是,网络故障对应用程序表现为集合操作中的停滞或超时,这通常远早于运维人员发现端口宕掉。

故障链路的表现

网络中的症状需检查的物理层原因
某端口上符号错误上升/FEC 纠正块增多MPO 脏污、接收光功率临界、通道劣化
链路卡在较低的宽度或速率FEC 不匹配、模块未声明预期速率
端口显示“Not supported”,无链路模块身份无法识别——厂商锁定
反复的 SM 扫描某处存在抖动链路——通过逐端口错误计数器定位

按常规的诊断步骤排查:电平 → 清洁 → 更换 → 电缆。

在 CodingBox 中

在工作台上读取可疑的 IB 模块:DDM 界面上的逐通道 Rx/Tx 和偏置电流显示 SR4/DR4 模块是否有某条通道正在失效,身份字段则显示网络是否会接受替换模块。

协议层、队列对和子网管理器功能详情:IB 协议与传输;按代际和传输距离进行网络布线:IB 布线。


如果您发现本资料中有不准确之处或错误,请选中相应片段并按 Ctrl+Enter,即可。