Skip to content

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 64100

Leaf 侧配置示例:

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

注意事项

  1. 必须重启: ar enable 后必须执行 writereboot 才能生效。
  2. 配置锁定: AR 开启后,QoS 相关配置(PFC/ECN)将被锁定,不可手动修改。
  3. 状态检查: 重启后使用 show ar configshow 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 互联。

速率类型接口距离适用场景
400GQSFP112 VR4MPO50m柜内/相邻柜互联 (多模)
400GQSFP112 DR4MPO500mTOR 到 Spine 互联 (单模)
400GQSFP112 FR4LC2km长距互联 (单模)

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

AI-HPC Organization