跳到主要内容

评估器与算法假设

核心要点

  • 三层级 funnel:解析模型 (纳秒级) 粗筛 → 流级仿真 (秒级) 中筛 → 包级仿真 (分钟级) 精验
  • 评估器是瓶颈:ATOP 80% 时间在评估,算法加速 10% = 总时间 -2%;评估加速 10% = 总时间 -8%
  • 算法假设决定语义:ForestColl 评的是拓扑潜力 (理论上界);NCCL Ring 评的是拓扑+库实际性能
  • ForestColl: edge-disjoint spanning forest 分解,strongly polynomial, vs SCCL/TACCL 快 $10^4$+ 倍
  • 精度链路:ATOP flow-level vs NS-3 1.5%, vs 真实 testbed 5%;评估精度上限决定搜索结果上限

拓扑寻优内循环需要在 $10^4$ 候选上反复评估"该拓扑的性能"。本文详解评估器三层级的速度精度权衡,以及集合通信算法假设 (ForestColl / SCCL / TACCL / NCCL) 对寻优结果的影响。

评估器为什么是核心瓶颈

核心问题:80% 时间在评估意味着什么?算法优化 vs 评估优化的 ROI 对比?

ATOP 论文明确:80% 搜索时间在拓扑评估,NSGA-II 算法本身只占 20%。

GPU 规模候选数单候选评估开销总评估时间评估占比
256$10^5$秒级5.2 h80%
16,384$10^5$数十秒级~57 h80%

@tbl-toposearch-eval-cost-distribution 评估开销决定总搜索时间

意义:算法层面的优化 (如换 MOEA/D) 收益有限 — 10% 算法加速 = 总时间 -2%。评估器加速 10% = 总时间 -8%,ROI 高得多。

三层级评估器各有什么取舍

核心问题:analytical / flow-level / packet-level 速度精度差距是什么?适用边界?

Tier 1:解析模型 (analytical)

α-β 模型 (Hockney)

最经典的通信延迟模型:

$$\begin{equation} T(n) = \alpha + \frac{n}{\beta} \label{eq:toposearch-eval-alpha-beta} \end{equation}$$

其中:

  • $\alpha$:消息启动延迟 (latency),单位 μs
  • $\beta$:带宽 (bandwidth),单位 GB/s
  • $n$:消息大小 (字节)

LogP / LogGP / LogGOPS

更精细的模型层级:

模型参数新增能力
α-β (Hockney)$\alpha, \beta$基础点对点
LogP$L, o, g, P$处理器数 + 消息开销
LogGP+ $G$ (gap-per-byte)长消息精细化
LogGOPS+ $S$ (synchronization)MPI 匹配语义

@tbl-toposearch-eval-logp-family LogP 系列模型

工具:LogGOPSim

SPCL @ ETH Zurich 实现:

  • 单核 > 1M events/sec
  • 可扩到 8M processes
  • 专攻 MPI 集合通信
  • 项目页:htor.inf.ethz.ch/research/LogGOPSim/

适用与不适用

  • 适用:粗筛 1000+ 候选拓扑、参数扫描、并行策略空间裁剪
  • 不适用:忽略拥塞、调度、排队、协议 (TCP slow-start / PFC / credit-based flow control);不能建模 incast 与多流公平性

Tier 2:流级仿真 (flow-level)

核心方法

每个时间步用 max-min fairness / water-filling 给所有活跃 flow 分配带宽,FCT 由此推导,不模拟单个 packet

速度精度数据

仿真器单 case 时间vs NS-3 误差来源
m336.4 秒~4000× 加速 vs NS-3 (40.5 h)
ATOP flow-level simulator秒级1.5% (GPT-3 22B 训练 iteration time)论文 Appendix I Table 4
SimGrid秒级1-5%验证研究

@tbl-toposearch-eval-flowlevel-tools 流级仿真器 vs 包级 NS-3

已知限制

  • 忽略 TCP slow-start
  • 假设 RTT 恒定
  • 对小消息和高竞争场景误差偏大
  • 不建模 PFC / 拥塞控制细节

混合趋势

HyGra (arXiv 2603.12671) 等工作探索"在 flow 和 packet 粒度间自适应切换",业界正用 hybrid 吃下精度-速度两端。

Tier 3:包级仿真 (packet-level)

工具对比

仿真器主导单位特点URL
NS-3NSF完整 TCP/IP 栈,业界事实标准https://www.nsnam.org
htsimMark Handley / Broadcom比 NS-3 快得多,DC congestion control 专门https://github.com/Broadcom/csg-htsim
OMNeT++OpenSim Ltd模块化离散事件框架https://omnetpp.org
Booksim 2.0Stanfordcycle-accurate NoC (mesh / torus / flat-butterfly)https://github.com/booksim/booksim2
Garnetgem5gem5 中的 NoC 模块gem5.org

@tbl-toposearch-eval-packetlevel-tools 主流包级仿真器

速度

NS-3 给出基准 — LLM 训练仿真单 case 40.5 小时 (m3 论文[1] 数据)。这是"完整精度"的代价。

业界仿真器全景图

核心问题:各仿真器在精度 / 速度 / 集成度上的覆盖范围?

仿真器类型速度精度集成URL
NS-3packet极慢 (40h/case)完整 TCP/IPhttps://www.nsnam.org
htsim (Broadcom)packet慢 (比 NS-3 快)高 (DC)RoCE / PFC / EQDShttps://github.com/Broadcom/csg-htsim
OMNeT++packet模块化https://omnetpp.org
Booksim 2.0cycle-accurate中-慢高 (NoC)torus / mesh / butterflyhttps://github.com/booksim/booksim2
Astra-Sim 2.0hybrid (analytical / Garnet / NS-3 可换)可调可调Workload + Chakra tracehttps://github.com/astra-sim/astra-sim
SimAI (Alibaba)hybrid full-stack98.1% vs 实测NCCL ring/tree/NVLS + AICB workloadhttps://github.com/aliyun/SimAI
SimGridflow中 (小消息 / 高竞争差)通用分布式https://simgrid.org
m3 / m4flow (ML-加速)极快 (s/case)DC 网络https://arxiv.org/pdf/2503.01770
LogGOPSimLogGOPS analytical极快 (1M evt/s)MPI 集合通信https://github.com/spcl/LogGOPSim
HyGraadaptive flow ↔ packet自适应自适应LLM 训练 DCNhttps://arxiv.org/html/2603.12671

@tbl-toposearch-eval-simulator-landscape 业界主流仿真器全景

关键观察:Astra-Sim 2.0 的三层抽象 (workload / system / network) 是"评估器分级"在工程上的落地形式 — network 层可插 analytical / Garnet / NS-3 三种 backend,按需切换精度-速度。

ATOP 2-stage 评估器怎么落地

核心问题:Stage 1 / Stage 2 各自的仿真器和精度怎么搭配?

2-stage funnel

阶段候选数仿真器单候选时间误差
Stage 1 (粗筛)$10^5$ATOP flow-level + ForestColl + APL_fail + cost秒级vs NS-3 1.5%
Stage 2 (精筛)~5,000 (5% Pareto)Astra-Sim 2.0 + SimAI + ATOP flow-level backend分钟级vs 16 GPU testbed 5%

@tbl-toposearch-eval-atop-funnel ATOP 2-stage 评估器

减少 95% 全规模仿真量 (论文 §3.4, 20-fold speedup)。

评估器精度链路

阶段仿真器验证基线误差
Stage 1 flow-levelATOP 自研NS-3 (64/256 GPU GPT-3 22B 训练)1.5% iter time
Stage 1 flow-levelATOP 自研NS-3 (64 GPU all-to-all JCT)4.3% JCT
Stage 2 端到端Astra-Sim 2.0 + ATOP backend同上同上
Real testbedhtsim packet-level + DLB packet spraying16 GPU H800 实测5% bandwidth

@tbl-toposearch-eval-atop-precision ATOP 评估器精度验证

来源:论文 Appendix H + I + Table 4 + Table 5。

集合通信算法假设决定评估的是什么

核心问题:ForestColl / SCCL / TACCL / NCCL 各自给评估器什么信号?评的是拓扑潜力还是部署性能?

评估器内部"算法最优性"假设决定了评的是拓扑潜力还是拓扑 + 库的组合性能

ForestColl (Zhao et al., arXiv:2402.06787[2])

ATOP 选用的算法。

核心思想

把吞吐量最优集合通信问题转化为多棵 edge-disjoint spanning forest 分解。每棵树负责广播 1/k 的数据,多树并行打满带宽。

Phase 1 vs Phase 2

阶段输出复杂度
Phase 1 (分解)edge-disjoint spanning forests + throughput 下界strongly polynomial
Phase 2 (调度)时序化 broadcast / aggregation schedulestrongly polynomial

@tbl-toposearch-eval-forestcoll-phases ForestColl 两阶段

性能

  • vs SCCL / TACCL: 快 > $10^4$ (多项式 vs SMT / MILP)
  • vs NCCL Ring (1 GB AllReduce): 快 26%
  • vs RCCL Tree (1 GB AllReduce): 快 15%
  • LLM 训练端到端:加速 20%
  • 执行:用 MSCCL runtime 落地

在 ATOP 中的作用

ATOP 只使用 ForestColl Phase 1 的 throughput 下界值 (论文 §3.4: "we only use part 1 to evaluate the topology"),不实际生成 schedule。

为什么:拓扑寻优内循环要在 $10^4$ 候选上重复评估,Phase 2 的调度生成相对昂贵;Phase 1 给出的"理论最优 all-gather 时间"作为评估指标已足够。

SCCL (Cai et al., PPoPP 2021[3])

方法

把"k-step 集合通信算法存在性"编码为 quantifier-free SMT 公式,丢给 Z3 求解。

优劣

  • 优点:合成 Pareto frontier 上的算法 (latency-optimal ↔ bandwidth-optimal)
  • 缺点:拓扑要相对规则 (NVIDIA / AMD GPU box 级),SMT 在大规模拓扑上爆炸;生成时间小时-天级

TACCL (Shah et al., NSDI 2023[4])

方法

用户提供 communication sketches (人在回路给出 hint:哪些链路偏好、chunk 数量等) 缩小搜索空间,用 MILP 决定每个 chunk 的路径与 link 排序。

优劣

  • 优点:vs NCCL 加速最高 6.7×; Transformer-XL / BERT 端到端 11%-2.3× 加速
  • 缺点:需要用户提供 sketch; NP-hard 本质,sketches 把可解规模拉到几十 GPU

TE-CCL (Liu et al., SIGCOMM 2024)

详见 3.10 TE-CCL

关键差异:

  • time-expanded MCF + 显式 α 建模 + 完全流水线
  • 求解器 MILP + A*
  • 规模上限实测 AllToAll ~128 节点

综合对比

工作方法速度拓扑覆盖适用场景
ForestColledge-disjoint forest 分解strongly polynomial (秒级)任意 DAG,异构带宽拓扑寻优内循环
SCCLSMT 公式 + Z3小时-天级规则拓扑 (< 32 GPU)离线最优算法合成
TACCLsketch + MILP分钟-小时级中等规模 (几十 GPU)拓扑特定调度优化
TE-CCLMILP + A* + chunk 流水分钟-小时级AllToAll ~128 节点流量工程视角

@tbl-toposearch-eval-collective-schedulers 集合通信调度合成工作对比

NCCL 默认算法 (评估部署性能时用)

算法时间复杂度 ($\beta$ = 带宽 GB/s)带宽适用
Ring AllReduce$2(P-1)\alpha + \frac{2n(P-1)}{P\beta}$接近 BW-optimal大消息,homogeneous
Recursive Halving-Doubling$2\log_2 P \cdot \alpha + \frac{2n(P-1)}{P\beta}$BW-optimal中等消息
Recursive Doubling (AllGather)$\log_2 P \cdot \alpha + \frac{n(P-1)}{P\beta}$较好$P = 2^k$,小消息
Bruck (AllGather/AllToAll)$\log_2 P$小消息 latency-optimal,最后一步跨距大实测差
Tree (Double Binary Tree)$2\log_2 P \cdot \alpha + \frac{2n\log_2 P}{\beta}$latency-optimal小消息
NVLS (NVLink SHARP)接近一跳NVLink 域内

@tbl-toposearch-eval-nccl-algorithms NCCL 主要算法及适用

业界共识:Bruck 与 Recursive Doubling 实测不佳 (最后一步要跨多级 switch 发大块),生产用 Ring (BW) 和 Tree (Latency)。

评估假设怎么影响寻优结果

核心问题:大消息和小消息场景下,算法假设对拓扑排序的影响?

大消息场景 (bandwidth-bound)

  • AllReduce > 100 MB
  • Ring vs ForestColl 性能差距取决于拓扑 — ForestColl 论文实测在 1 GB AllReduce 上 ForestColl 比 NCCL Ring 快 26%、比 RCCL Tree 快 15% (区间不同拓扑下波动)
  • 拓扑评估结论的相对排序通常稳定 (同一拓扑在 Ring 下与 ForestColl 下排名一致)

小消息场景 (latency-bound)

  • AllReduce < 1 MB
  • Ring ($2(P-1)\alpha$) vs Tree ($2\log P \cdot \alpha$) 差距可 10×
  • 可能改变拓扑排序 — 浅拓扑 (fat-tree) vs 高 diameter (torus) 的相对优劣可能倒挂

结论

评估器的算法假设决定了评的是哪一类性能

算法假设评估的语义适用场景
ForestColl / SCCL 最优"拓扑本身潜力 (理论上界)"拓扑设计决策
NCCL Ring/Tree 实际"拓扑 + 当前库实现性能"部署评估
NCCL + 不同集合通信库"拓扑 + 库 + 调优组合"工程上线

@tbl-toposearch-eval-assumption-semantics 评估器算法假设的语义

各阶段评估器怎么选

核心问题:Stage 1 和 Stage 2 各自应该用哪种评估器、精度/速度如何权衡?

阶段推荐评估器推荐算法假设
粗筛 ($10^4$ 候选)LogGOPSim / α-βForestColl bound 或 Ring 公式
中筛 ($10^2$ 候选)flow-level (m3 / SimGrid / ATOP flow-level)ForestColl 完整 schedule
精验 (10 候选)packet-level (NS-3 / htsim)NCCL 实际 ring/tree

@tbl-toposearch-eval-stage-selection 拓扑寻优各阶段评估器选型

评估器精度上限就是搜索质量上限

核心问题:ATOP flow-level 5% 误差对寻优结果意味着什么?

ATOP flow-level vs NS-3 误差 1.5%、vs 真实 testbed 误差 5% — 意味着 ATOP 永远搜不出"在仿真器误差范围内的真正最优"。如果两个候选拓扑的真实性能差 3%,仿真器误差 5% 可能让它们的 Pareto 排序反转。

含义:在评估器精度提升之前,"搜出比 ZCube 更优的拓扑"在数学上是没意义的 — 它可能只是仿真器的伪影。这是 ATOP 留给后续工作的最大未解问题。

ATOP 的 2-stage 是 funnel 思想的工程实例:业界仿真领域普遍接受"评估器分层 + 渐进精度"的设计 (NS-3 慢但精、SimGrid 快但糙)。ATOP 不是发明新方法,而是把这个思想用在拓扑寻优内循环 — 把 Stage 1 flow-level 仿真器调到 vs NS-3 1.5% 误差,对 $10^5$ 候选都跑完仍在合理时间。关键工程贡献:自研 flow-level simulator,而不是直接套 SimGrid — SimGrid 对小消息和高竞争场景误差大,ATOP 针对 LLM 训练场景做了优化。

ForestColl 是 ATOP 评估器的"算法 oracle":ATOP 用 ForestColl Phase 1 给每个候选拓扑一个"理论最优 all-gather 时间" — 这是关键设计选择,等价于给评估器一个 oracle scheduler,让评估反映拓扑的物理潜力上限,而不是 NCCL 当前实现质量。如果换成 NCCL Ring 公式作评估指标,拓扑排序可能变化 (因为 NCCL Ring 在某些拓扑上跑不出理论最优)。

Takeaway

知识点核心结论
三层级 funnelanalytical (纳秒) → flow-level (秒) → packet-level (分钟)
评估 80% 时间算法加速 ROI 远低于评估器加速 (10% 算法 = 总 -2%; 10% 评估 = 总 -8%)
算法假设语义ForestColl 评拓扑潜力;NCCL Ring/Tree 评拓扑+库实际
ForestColledge-disjoint forest 分解,strongly polynomial, vs SCCL/TACCL 快 $10^4$+ 倍
集合通信选型ForestColl (寻优内循环) / SCCL (离线最优) / TACCL (拓扑特定) / NCCL (部署)
ATOP 精度链路flow vs NS-3 1.5%, vs testbed 5%; 5% 上限决定搜索质量上限
各阶段评估器粗筛 LogGOPSim,中筛 flow-level,精验 packet-level

参考资料

  1. m3 paper, MIT CSAIL. https://people.csail.mit.edu/arashne/papers/m3.pdf
  2. Zhao et al., ForestColl, arXiv 2402.06787. https://arxiv.org/abs/2402.06787
  3. Cai et al., SCCL, PPoPP 2021. https://dl.acm.org/doi/10.1145/3437801.3441620
  4. Shah et al., TACCL, NSDI 2023. https://www.usenix.org/conference/nsdi23/presentation/shah