跳到主要内容

互联通信建模验证分析

摘要:本文验证 Tier6-Model 两种评估引擎(Math 代数模型、G5 指令级仿真)在 NVLink3/4/5、PCIe、InfiniBand 等互联类型下的 AllReduce 预测精度。核心结论:(1) 大消息(> 64 MB)Math 模型 RMSPE < 10%,适合推理场景 TP/PP 通信建模;(2) G5 仿真在同场景下与 Math 精度几乎一致(RMSPE 差异 ≤ 2pp),验证了两种引擎的等价性。


背景与目标

AI 集群性能建模中,通信延迟是最不确定的环节。本文量化 Tier6-Model 在不同互联类型和消息大小下的预测误差,验证 Math 和 G5 两种引擎的一致性。

与其他模拟器的精度定位

模拟器通信模型精度(大消息)仿真速度
SimAI + NS-3包级事件驱动~7-9%(裸跑)分钟—小时
ASTRA-sim Analyticalalpha-beta + 查表~5%毫秒级
Tier6 Mathalpha-beta + 拓扑路由~3-10%毫秒级
Tier6 G5指令级事件驱动~3-10%秒级

误差指标:RMSPE(均方根百分比误差),按消息大小分段:< 1 MB(延迟主导)、1~64 MB(过渡区)、> 64 MB(带宽主导)。


验证数据集

所有 nccl-tests 实测 CSV 存放在 data/benchmarks/comm-data/

文件互联类型规模数据点来源
h200_allreduce_8gpu.csvNVLink4 + NVLS8 GPU17nccl-tests #272
a100_allreduce_8gpu.csvNVLink38 GPU14nccl-tests #149
a100_allreduce_4gpu_pcie.csvPCIe Gen44 GPU15Ed Sealing
gb200_allreduce_nvl72_coreweave.csvNVLink572 GPU (NVL72)5CoreWeave
h100_allreduce_16gpu_2node_crusoe.csvNVLink4 + IB NDR16 GPU (2 node)17Crusoe
h100_allreduce_16gpu_2node_ib.csvNVLink4 + IB NDR16 GPU (2 node)5Nebius
h100_allreduce_16gpu_2node.csvNVLink4 + RoCEv216 GPU (2 node)5Oracle
a100_allreduce_16gpu_2node.csvNVLink3 + RDMA16 GPU (2 node)11Oracle
gh200_allreduce_2gpu_2node_roce.csvRoCEv2 (BF3)2 GPU (2 node)29Ed Sealing
h20_allreduce_16gpu_2node_roce_asterfusion.csvRoCE 400G16 GPU (2 node)26Asterfusion

拓扑分类:前 4 个为单层全连接(NVSwitch/PCIe),使用 Flat Ring 公式;后 6 个为两层异构(节点内 NVLink + 节点间 IB/RoCE),使用分层 AllReduce 三阶段串行公式。


Math 模型验证结果

单层拓扑

校准参数:$u_r$(带宽利用率)从实测峰值 BusBW 校准,$\ell_{\text{link}}$(每跳链路延迟)从小消息数据拟合。

互联类型N$u_r$$\ell_{\text{link}}$(μs)RMSPE
NVLink5 (GB200 NVL72)720.962.12%
NVLink4 (H200 8GPU)80.981.39%
NVLink3 (A100 8GPU)80.722.38%
PCIe Gen4 (A100 4GPU)40.661%

单层互联拟合

各单层互联类型 AllReduce BusBW 最优拟合结果。黑线实测、绿线拟合。

关键观察

  • $u_r$ 随互联类型差异显著:NVLink4/5 可达 0.96-0.98,NVLink3 仅 0.72,PCIe 仅 0.66。默认值 0.95 对 NVLink3/PCIe 严重高估
  • NVLS 超线速:H200 实测 BusBW 475 GB/s 超过 NVLink4 线速 450 GB/s,为 NVSwitch Gen3 网内计算效应,当前模型无法建模
  • 模型适用边界:消息 > 64 MB 时误差 < 3%(推理 TP AllReduce 典型大小);消息 < 1 MB 时误差 > 50%

两层拓扑(分层 AllReduce)

对 H100 16-GPU 2-node(NVLink4 + IB NDR)进行网格搜索参数校准(脚本 tests/evaluation/g5/fit_math_16gpu.py):

参数最优值搜索范围
$u_{NV}$(NVLink 利用率)0.920.85 ~ 0.98
$\beta_{IB}$(IB 有效带宽)200 GB/s50 ~ 400 GB/s
$\alpha_{nv}$(NVLink 固定延迟)~15 μs0 ~ 30 μs
$\alpha_{ib}$(IB 固定延迟)~20 μs0 ~ 50 μs
$T_{sw}$(软件开销)~10 μs0 ~ 20 μs
RMSPE9.9%

分层 AllReduce 拟合

H100 16-GPU 2-node(Crusoe IB)分层 AllReduce 拟合。大消息(> 128 MB)误差 ±10% 以内。

跨节点汇总

对全部跨节点数据集使用分层 AllReduce 公式网格搜索(排除 SHARP 场景):

数据集数据点消息范围RMSPE主要限制
H100 IB NDR(Nebius)5512MB ~ 8GB7.5%仅大消息
H100 RoCEv2(Oracle)51GB ~ 16GB5.4%仅大消息
GH200 RoCE 2GPU218B ~ 2GB33%过渡区偏差
A100 RDMA(Oracle)1132MB ~ 1GB67%数据质量存疑
H20 RoCE(Asterfusion)24512B ~ 17GB57%ECMP 哈希退化

跨节点验证

各跨节点互联类型分层 AllReduce 验证。参数均由网格搜索在测量数据上校准。

Math 模型精度边界

场景RMSPE适用性
单层全连接,大消息(> 64 MB)< 10%推理 TP 场景可用
两层 IB,大消息8~10%多节点 PP 可用
RoCE/RDMA,大消息,无 ECMP5~35%带宽饱和区可用
ECMP 退化或 SHARP 网内计算> 50%超出模型范围

G5 仿真验证结果

验证方法

G5 是 Rust 实现的指令级事件驱动仿真器(perfmodel/evaluation/g5/),建模 CDMA 传输、PAXI 事务管理、RC Link credit 流控等硬件细节。验证使用与 Math 相同的 nccl-tests 实测数据,在两个单层平台上运行 8-chip Ring AllReduce。

G5 仿真参数

参数H200 NVLink4A100 NVLink3
芯片数88
C2C 带宽(线速)450 GB/s300 GB/s
CDMA 总有效带宽441 GB/s(线速 x 0.98)216 GB/s(线速 x 0.72)
CDMA Unit 数88
CDMA per-unit 带宽55.1 GB/s27.0 GB/s
SW 开销22 us19 us

CDMA 配置总有效带宽(total_bandwidth_gb_per_s),系统自动除以 unit 数得到 per-unit 带宽。SW 开销 = 实测小消息基线 - G5 硬件固定延迟(约 1.3~1.5 us)。

Math 校准参数(与 SS3.1 一致):

参数H200 NVLink4A100 NVLink3
$u_r$0.980.72
SW 开销 $\alpha$26 us26 us

脚本:docs/validation/互联建模精度验证/validate_g5_allreduce.py

验证结果

平台G5 RMSPEMath RMSPE差异
H200 NVLink4 8GPU10.4%5.3%~5pp
A100 NVLink3 8GPU6.1%4.2%~2pp

RMSPE 统计范围:大消息段(> 64 MB),与 SS3.1 口径一致。

H200 NVLink4 详细结果

SizeG5hw (us)G5tot (us)Math (us)实测 (us)G5/实测Math/实测
64KB3.125.126.323.11.09x1.14x
256KB9.331.327.022.61.39x1.20x
1MB17.739.730.236.31.09x0.83x
4MB24.146.142.655.90.82x0.76x
16MB87.1109.192.6124.30.88x0.74x
64MB347.3369.3292.3323.41.14x0.90x
256MB1156.41178.41091.21081.51.09x1.01x
1GB4450.54472.54286.94052.81.10x1.06x
4GB17674.117696.117069.515823.01.12x1.08x

A100 NVLink3 详细结果

SizeG5hw (us)G5tot (us)Math (us)实测 (us)G5/实测Math/实测
8B1.520.526.020.60.99x1.26x
32KB3.622.626.335.50.64x0.74x
128KB9.728.727.135.60.81x0.76x
2MB35.854.843.076.80.71x0.56x
32MB285.3304.3297.9352.30.86x0.85x
128MB1137.81156.81113.41149.01.01x0.97x
512MB4505.44524.44375.64165.71.09x1.05x

G5 vs Math vs 实测

G5 仿真 vs Math 模型 vs 实测。上行 H200 NVLink4,下行 A100 NVLink3。

G5 与 Math 的关系

在当前验证场景(单次 AllReduce、无拥塞、单层全连接 Ring)下,G5 仿真器的行为近似为:

$$\begin{equation} T_{\text{G5}} \approx \frac{\text{data\_bytes}}{\text{cdma\_total\_bw}} + \text{startup} \times \text{steps} + \text{paxi\_overhead} + \text{sw\_overhead} \label{eq:vcm-g5-time-approx} \end{equation}$$

大消息段(> 64 MB)G5 与 Math 趋势一致,但 G5 略慢(10-14%),原因是 G5 建模了 PAXI 协议开销(MPS 分段、RC Link credit 流控、ACK MERGE 往返延迟),这些开销在 Math 的简单 alpha-beta 公式中被 $u_r$ 系数隐含吸收。

G5 的优势场景:多流并发拥塞、交换机 ECMP 负载均衡、Go-Back-N 重传、DCQCN 拥塞控制 -- 这些场景下 alpha-beta 的静态假设会失效,而 G5 能建模动态行为。

已知偏差

  • G5 在中间消息段(256KB ~ 4MB)出现延迟平台期,原因是 CDMA 多 Unit 并行 split 机制:per-unit 数据量在 split 阈值附近时,增加消息大小只增加并行 unit 数不增加 per-unit 负载
  • G5 未建模 AllReduce 每步的 reduce 计算时间,中间消息段可能偏快

参考资料

资料内容
互联技术调研各互联代际规格、实测 BusBW 汇总(见 interconnect/01-硬件互联)
SimAI NSDI'2598.1% 端到端精度(含 ratio table 校准)
SimAI GitHubNS-3 后端、ratio table、拓扑模板