ROCE AI Fabric 高性能网络架构详解
摘要: 随着 AI 大模型参数量突破万亿,基于 ECMP 和 DCQCN 的传统 RoCE 网络已难以满足线性加速比需求。本文档详细解析了 ROCE AI Fabric 解决方案,通过引入 AR (Adaptive Routing) 技术与 多轨 (Rail-Optimized) 架构,实现 400G 全无损以太网。
1. 背景与挑战
1.1 大模型时代的网络痛点
AI 大模型训练是典型的带宽敏感型业务。在“计算-通信”的周期性迭代中,网络性能直接决定了集群的算力利用率。
- 超大规模: 从千卡向十万卡演进,网络需支持超大规模组网。
- 超高性能: GPU 间通信带宽高达 3.2T,要求网络零丢包、高吞吐。
- 超高可靠: 故障影响需降低至亚毫秒级,避免训练中断。
1.2 传统 RoCE vs. ROCE AI Fabric
| 特性 | 传统 RoCE 方案 | ROCE AI Fabric 方案 |
|---|---|---|
| 负载均衡 | ECMP (基于流) 五元组 Hash,易发生 Hash 冲突导致成员链路流量不均,链路利用率低。 | AR (基于包) 根据链路拥塞动态选择路径,逐包转发,链路利用率极高。 |
| 拥塞控制 | DCQCN 依赖 ECN 水线配置,调优复杂,反馈周期长。 | RTT-CC 端侧智能网卡配合,简化配置,快速响应。 |
| 保序机制 | 网络层保序 | 网络乱序转发 依赖 BlueField3 等智能网卡在接收端重排序。 |
2. 组网架构设计
2.1 总体架构
ROCE AI Fabric 采用 Spine-Leaf 架构,全网 400G 互联,设计为 1:1 无收敛 的多轨网络 (Rail-Optimized)。
- 计算网络 (后端): 承载 GPU 参数同步流量,开启 AR 功能。
- 存储/业务/管理网络: 承载数据集加载、控制面管理等,采用传统以太网配置。
2.2 规模化组网方案
A. 256~512 卡集群 (二层组网)
- 架构: 2层 Spine-Leaf。
- 连接: Leaf 上行连接 Spine,下行连接服务器。Spine 与 Leaf 之间通过 AR 实现多链路负载均衡。
- 规模:
- 256 卡: 4台 Spine + 4台 Leaf (每台 Leaf 接 32 个节点)。
- 512 卡: 横向扩展至 12 台交换机。
B. 万卡集群 (三层组网)
- Super Unit (SU): 模块化单元,例如 1K 卡为一个 SU。
- SuperSpine: 引入第三层交换机,Leaf 和 Spine 处理同轨通信,SuperSpine 处理跨轨通信。
C. 多轨设计 (Rail-Optimized)
- 核心理念: 将所有服务器上 同一编号的 GPU (例如所有服务器的 GPU0) 连接到 同一台 (或同一组) Leaf 交换机。
- 优势: 大部分集合通信 (AllReduce) 发生在同号 GPU 之间,流量仅在 Leaf 层转发 (一跳直达),大幅降低时延。
3. 部署与配置指南 (SONiC)
本节以 256 卡集群 为例,基于 SONiC 系统进行配置。
3.1 IP 地址与 BGP 规划
建议 Spine 与 Leaf 互联接口使用 /31 掩码,下行接口使用 VLAN 接口作为服务器网关。
- 路由协议: BGP
- AS 号规划: Spine 层使用相同 AS (如 65100),Leaf 层使用不同 AS (如 64100, 64101...)。
3.2 交换机配置
步骤 1: 基础接口与 BGP 配置
Spine 侧配置示例:
bash
# 接口 IP 配置
sonic(config)# interface ethernet 1
sonic(config-if)# no switchport
sonic(config-if)# ip address 10.1.1.0/31
# BGP 配置 (Frr 模式)
sonic(config)# vtysh
sonic(config)# router bgp 65100
sonic(config-router)# bgp router-id 1.1.1.1
sonic(config-router)# neighbor 10.1.1.1 remote-as 64100Leaf 侧配置示例:
bash
# 下行 VLAN 配置
sonic(config)# interface vlan 100
sonic(config-if)# ip address 192.168.1.1/26
sonic(config)# interface ethernet 65-96
sonic(config-if)# switchport access vlan 100
# 上行 BGP 配置
sonic(config)# router bgp 64100
sonic(config-router)# neighbor 10.1.1.0 remote-as 65100步骤 2: 开启 AR (Adaptive Routing)
这是核心步骤。开启 AR 后,交换机会自动加载默认的 QoS 配置(队列 3 的 PFC 和 ECN)。
bash
# 1. 开启 AR
sonic(config)# ar enable
# 2. 保存配置
sonic# write
# 3. 重启生效 (必须!)
sonic# reboot注意事项
- 必须重启:
ar enable后必须执行write和reboot才能生效。 - 配置锁定: AR 开启后,QoS 相关配置(PFC/ECN)将被锁定,不可手动修改。
- 状态检查: 重启后使用
show ar config和show doroce status验证。
3.3 智能网卡配置 (Host Side)
需要在服务器端配置网卡以配合交换机的 AR 功能及开启 RTT-CC。
bash
# 1. 开启网卡 AR 功能 (RoCE Acceleration)
mlxreg -d $IB_DEV -y --reg_name ROCE_ACCL \
--set "roce_tx_window_en=0x1,adaptive_routing_forced_en=0x1"
# 2. 开启 RTT-CC 并禁用 DCQCN
# Disable DCQCN (cmd_type=2)
mlxreg -d $IB_DEV -y --set "cmd_type=2" --reg_name PPCC \
--indexes "local_port=1,algo_slot=15"
# Enable RTTCC (cmd_type=1)
mlxreg -d $IB_DEV -y --set "cmd_type=1" --reg_name PPCC \
--indexes "local_port=1,algo_slot=0"注:$IB_DEV 替换为实际设备名,如 mlx5_0。
4. 硬件与物理层
4.1 光模块选型
推荐使用 400G 互联。
| 速率 | 类型 | 接口 | 距离 | 适用场景 |
|---|---|---|---|---|
| 400G | QSFP112 VR4 | MPO | 50m | 柜内/相邻柜互联 (多模) |
| 400G | QSFP112 DR4 | MPO | 500m | TOR 到 Spine 互联 (单模) |
| 400G | QSFP112 FR4 | LC | 2km | 长距互联 (单模) |
4.2 互联拓扑建议
- Switch-to-Switch: 400G DR4/FR4。
- Switch-to-NIC:
- 直连: 400G 交换机端口 -> 400G 网卡。
- 一分二: 400G 交换机端口 -> Breakout Cable -> 2x 200G NDR 网卡。
5. 附录:单机 RoCE 配置 (无 AR)
针对 <128 卡 的小规模集群,只需单台交换机,无需开启 AR,但需手动配置无损网络参数。
手动 QoS 配置模板:
bash
# 1. 开启 PFC (队列 3)
interface ethernet 1-128
priority-flow-control priority 3
# 2. 配置 ECN (WRED)
qos queue-profile profile1
green min-threshold 153600
green max-threshold 1536000
probability 100
ecn
interface ethernet 1-128
service-policy queue-profile profile1 queue 3