硬件与组网:InfiniBand交换机、HCA卡、线缆类型与拓扑结构
核心硬件:从HCA到交换机的角色拆解
InfiniBand网络的核心硬件由三部分组成:HCA(Host Channel Adapter,主机通道适配器)、InfiniBand交换机以及线缆/光模块。HCA相当于以太网中的NIC,但它不仅完成数据收发,还承担了RDMA(远程直接内存访问)的协议卸载功能。HCA通过PCIe接口与CPU/内存相连,将应用数据直接封装为InfiniBand报文,绕过操作系统内核,实现微秒级延迟。
交换机是InfiniBand网络的“十字路口”,它不依赖CPU转发,而是通过内部交叉矩阵(Crossbar)以线速转发数据包。每个端口支持自适应速率(如EDR 100Gb/s、HDR 200Gb/s),并内置自适应路由(AR)和拥塞控制(CC)硬件逻辑。线缆方面,常见的有铜缆(DAC,适用于≤3米短距离)、有源光缆(AOC,3~100米)和可插拔光模块(QSA/QSFP-DD,配合光纤使用)。选择线缆时需同时考虑端口速率、传输距离和功耗。
拓扑结构:Fat-Tree与Dragonfly的设计逻辑
拓扑决定了网络的二分带宽、延迟上界和故障域。实际部署中最常见的是Fat-Tree(胖树),它基于无阻塞Clos网络思想,通过多级交换机(通常为2~3级)提供多条等价路径。以三层Fat-Tree为例:叶层(Leaf)连接计算节点,脊层(Spine)负责汇聚,核心层(Core)提供全网状互联。若每个叶交换机有K个上行端口,则全网可提供K×(K/2)²个节点接入,且任意两节点间存在多条路径,配合ECMP或自适应路由实现负载均衡。
Dragonfly(蜻蜓)拓扑则面向超大规模系统(>10万节点),它将交换机分组为组(Group),组内全连接,组间通过少量光缆连接。Dragonfly的优势是网络直径小(任意节点跳数≤3),但代价是组间链路可能成为瓶颈,需要依赖流量局部性。实际选择时,若集群规模在数百至数千节点,Fat-Tree更易维护且对拥塞不敏感;若追求极致扩展性且应用通信模式已知,Dragonfly更优。
| 拓扑类型 | 最大节点数(HDR 200G) | 网络直径 | 典型故障域 | 适用场景 |
|---|---|---|---|---|
| 两层Fat-Tree | 648 | 3跳 | 单脊交换机 | 中小型GPU集群 |
| 三层Fat-Tree | 13,824 | 5跳 | 单核心交换机 | 大型HPC/AI训练 |
| Dragonfly | >10万 | 3跳 | 整组(Group) | 超大规模系统 |
组网实操:以三层Fat-Tree为例的布线流程
假设构建一个包含288个计算节点的集群,每个节点1张HDR HCA(200Gb/s),采用36端口HDR交换机。设计如下:
- 规划端口分配:每台叶交换机使用18个下行端口连接计算节点,剩余18个上行端口连接脊交换机。共需16台叶交换机(288/18=16)。
- 确定脊交换机数量:为保证无阻塞,脊交换机数量应等于叶交换机上行端口数,即18台脊交换机。每台脊交换机提供16个下行端口连接16台叶交换机。
- 物理布线:叶交换机1~16的1~18号端口分别连接计算节点1~288;叶交换机第19~36号端口依次连接脊交换机1~18。
- 子网划分:将所有交换机划分为同一个子网管理器(SM)管理域,配置自适应路由和QoS策略。
# 以Mellanox NEO或opensm为例,启用自适应路由
# 在/etc/opensm/opensm.conf中设置:
# adaptive_routing=1
# routing_algorithm=ftree
# 然后重启opensm服务
systemctl restart opensm
# 验证子网管理器状态
ibstat | grep -E "State|Port"
# 预期输出:State: Active, Physical state: LinkUp
iblinkinfo 命令检查所有链路状态。若出现 Down 端口,优先检查光模块是否插紧、线缆弯曲半径是否过小(DAC线缆弯曲半径应大于线径的5倍)。对于长距离光缆,还需检查光口清洁度,使用光纤显微镜检测端面污染。
案例复盘:某AI集群的拓扑选型与排障
某互联网公司部署512张A100 GPU集群,最初选用两层Fat-Tree(36端口HDR交换机),叶交换机36台,脊交换机18台。运行大模型训练任务时发现AllReduce通信耗时波动大,部分节点间延迟从2μs飙升至20μs。通过 ibdiagnet 诊断发现:
- 脊交换机端口利用率不均,最高端口达95%,最低仅20%,ECMP哈希不均导致。
- 部分DAC线缆长度超过5米,信号衰减触发FEC(前向纠错)重传。
优化措施:将ECMP哈希算法从L3/L4哈希改为自适应路由(AR),利用交换机实时拥塞信息动态选路;同时将超过5米的DAC线缆更换为AOC光缆。调整后,AllReduce时间稳定在基线水平,抖动降低80%。
复盘清单:硬件组网自检表
| 检查项 | 标准 | 工具/方法 |
|---|---|---|
| HCA固件版本 | 与交换机固件兼容 | mlxup / ibstat |
| 线缆类型匹配 | DAC≤3m,AOC≤100m | iblinkinfo |
| 拓扑收敛比 | 1:1无阻塞 | ibdiagnet --check |
| 子网管理器冗余 | 主备SM切换时间<1s | opensm -p 主备 |
完成上述检查后,建议使用 ib_write_bw 和 ib_read_lat 进行基准测试,验证实际带宽与延迟是否达到线速。若带宽低于理论值90%,需进一步排查PCIe链路宽度、NUMA亲和性及中断绑定。