跳到主要内容

TPS186 通信原语对比评估报告

评估配置

并行与带宽参数:

参数参数参数
total_chips64tp2intra_bw400 GB/s
dp32ep64bw_urate0.90

@tbl-val-parallel-bw TPS186 并行与带宽参数

延迟参数:

参数值 (us)含义
c2c_lat0.200chip-to-chip 链路单向传播延迟
ddr_r0.150DDR 读延迟
ddr_w0.010DDR 写延迟
noc0.050片内 NoC 转发延迟
d2d0.040die-to-die 互联单向延迟
switch_delay1.000交换机内部转发延迟(store-and-forward)
cable_delay0.025芯片<->交换机一段链路传播延迟

@tbl-val-hw-latency 硬件延迟参数

派生延迟参数(聚合后参与 Math 公式):

参数值 (us)公式适用场景
start_lat0.690$2 \cdot c2c\_lat + ddr\_r + ddr\_w + noc + 2 \cdot d2d$所有原语的启动开销
switch_lat2.050$2 \cdot (switch\_delay + cable\_delay)$仅经交换机的全局通信(MoE)

@tbl-val-derived-latency 派生延迟参数

通信原语与并行维度:

Module通信原语并行维度参与芯片数验证拓扑
Dense_MLPallreduceTP=22Ring
MLAallgather / reducescatter / allreduceTP=22Ring
DSAtopk_allgatherTP=22Ring
MoEdispatch / combine (all-to-all)EP=6464Single-Switch
LMHeadallreduceTP=22Ring

@tbl-val-primitives-by-module TPS186 各模块通信原语与并行维度

TP 组内通信无交换机参与,对应 Math 中只含 start_lat 的公式;EP 全局通信经过单层交换机,对应 Math 中加 switch_lat 的公式。

板级模型:每 8 颗芯片视为一个 board(CHIPS_PER_BOARD = 8),板内 8 颗芯片通过 c2c full-mesh 直连,板间走外部拓扑(ring / fat-tree / dragonfly 等)。板内/板间链路类型相同(c2c,400 GB/s, 0.025 us),仅由路由根据跳数选择最短路径。

通信组与并行策略

64 个芯片上,TP 和 EP 将芯片划分为不同的通信组(communicator),各自执行不同的通信原语。

并行策略典型通信组大小主要通信原语通信特性
TP(张量并行)2, 4, 8AllReduce, AllGather, ReduceScatter确定性,全组参与
EP(专家并行)8, 16, 32, 64AllToAll每芯片总发送量确定,目标分布由路由决定

@tbl-val-parallel-strategy TP / EP 并行策略与典型通信原语

TP 和 EP 是独立的并行维度,作用于不同的网络层(TP 作用于注意力层,EP 作用于 MoE 层),复用同一批芯片。EP 的详细机制参见专家并行

通信组划分

通信组由连续的芯片 ID 组成。TP 组大小由部署配置决定(TPS186 中 TP=2),EP 组大小同理(TPS186 中 EP=64 = 全部芯片)。不同通信组在拓扑上的物理位置不同,是否可以用一个组代表全部取决于具体拓扑的对称性,在各拓扑评估文档中说明。

EP 通信量

EP dispatch/combine 的每芯片通信量由模型参数确定:

M_dispatch = ceil(batch_tokens * top_K / EP) * hidden_dim * dispatch_dtype_bytes
M_combine = ceil(batch_tokens * top_K / EP) * hidden_dim * combine_dtype_bytes

TPS186 配置(batch=1024, top_K=8, EP=64, hidden=7168):

  • dispatch: 128 * 7168 * 1 = 917,504 bytes(INT8 量化 activation)
  • combine: 128 * 7168 * 2 = 1,835,008 bytes(BF16 输出)

每芯片的总发送量是确定的,但发给哪些目标芯片由 top-K 路由决定。在通信原语层面,业界主流实现(NCCL、MPI)使用标准 AllToAll 算法(Pairwise 或 Bruck)调度 dispatch/combine。

评估方法说明

TP 评估:TP 通信是确定性的(AllReduce/AllGather/ReduceScatter),每个芯片向全组广播或归约,通信量和模式完全确定。直接扫描消息大小 × 算法 × 拓扑。

EP 评估:EP 的 dispatch/combine 语义上是 AllToAllv(每对芯片通信量由路由决定),但:

  • 生产模型通过负载均衡机制使路由趋向均匀
  • 业界 AllToAllv 实现使用标准 AllToAll 算法(Pairwise/Bruck)调度
  • 每芯片总发送量是确定的,不确定的只是目标分布

因此拓扑评估中 EP AllToAll 使用均匀消息大小,对比 Pairwise 和 Bruck 算法在不同拓扑上的延迟。消息大小覆盖 dispatch 和 combine 的典型范围。

评估局限:通信原语评估只衡量 AllToAll 通信本身的延迟。生产部署中 EP 通信的端到端性能还受以下因素影响:

  • 通信-计算重叠(DualPipe 等)
  • 减少通信量(节点限制路由、专家镜像、拓扑感知路由)
  • 避免 AllToAll(block-sparse 重构)
  • 专用通信库(DeepEP、NCCL EP)

本评估提供的是 AllToAll 算法在各拓扑上的延迟基准,用于指导算法选择和拓扑评估。

Math 模型公式

Alpha-Beta 模型的两个派生参数:

$$\begin{equation} \alpha_{\text{start}} = 2 \times c2c\_lat + ddr\_r + ddr\_w + noc + 2 \times d2d = 2 \times 0.2 + 0.15 + 0.01 + 0.05 + 2 \times 0.04 = 0.69 \; \mu s \label{eq:val-start-lat} \end{equation}$$ $$\begin{equation} \alpha_{\text{switch}} = 2 \times (switch\_delay + cable\_delay) = 2 \times (1.0 + 0.025) = 2.05 \; \mu s \label{eq:val-switch-overhead} \end{equation}$$

公式中 $M$ = 总搬运量(对应表格"Size (bytes)"列),$N$ = 参与通信的芯片数。各原语完整推导见:

ReduceScatter / AllGather

$$\begin{equation} T_{\text{AG/RS}} = \frac{N-1}{N} \cdot \frac{M}{\beta \cdot u} + (N-1) \, \alpha_{\text{start}} \label{eq:val-agrs-latency} \end{equation}$$

AllReduce(= RS + AG 两阶段):

$$\begin{equation} T_{\text{AR}} = 2 \cdot \frac{N-1}{N} \cdot \frac{M}{\beta \cdot u} + 2 (N-1) \, \alpha_{\text{start}} \label{eq:val-ar-latency} \end{equation}$$

MoE dispatch / combine(AllToAll,经单层交换机):

$$\begin{equation} T_{\text{MoE}} = \frac{M}{\beta \cdot u} + \alpha_{\text{start}} + \alpha_{\text{switch}} \label{eq:val-moe-latency} \end{equation}$$

Math 表格自洽校验

将表格中的 (M, repeat) 代入对应公式:AR 用 $\eqref{eq:val-ar-latency}$,AG/RS 用 $\eqref{eq:val-agrs-latency}$,MoE 用 $\eqref{eq:val-moe-latency}$。M 为该集合通信操作的全量数据大小(与 集合通信文档 M 定义一致)。

ModuleOperatorPrimitiveSize (bytes)Repeat原值 (us)修正后 (us)
Dense_MLPallreduceallreduce458,75231.96432.6543
MLAallgatherallgather1,179,648613.96682.3284
MLAreducescatterreducescatter1,048,576613.60272.1457
MLAallreduceallreduce458,752611.96432.6543
DSAtopk_allgatherallgather32,768610.78100.7355
MoEdispatchalltoall917,504585.28865.2886
MoEcombinealltoall1,835,008587.83727.8372
LMHeadallreduceallreduce458,75211.96432.6543

@tbl-val-math-selfcheck Math 模型表格自洽校验(原值来自 CHIPMathica comm_protocol.py / 历史 Excel;修正后按 集合通信文档 spec 真值公式重算)

修订说明(2026-05-12):原值有两类错误:

  1. AR 行:CHIPMathica allreduce()$(N-1)\alpha$ 系数(漏算一倍)—— N=2 时差 0.69 us。修正后用 $2(N-1)\alpha$(NCCL tuning.cc、Thakur 2005, arXiv 2510.03491 业界实现均如此)
  2. AG / RS / topk_AG 行:CHIPMathica allgather() 公式漏 $/N$(直接用 $(N-1) \cdot M$ 算 wire,等价于把 M_total 当作 shard 处理),RS 行在 Excel 中也套用了同样的 buggy 形式。修正后用 $(N-1)/N \cdot M$ 系数,N=2 时 wire 量减半

MoE dispatch/combine 是 AllToAll 单步过交换机,无 Ring 系数,原值和修正后一致。

G5 仿真 vs Math(Baseline 验证)

G5 参数对齐

参数G5 设置来源
c2c link BW400 GB/s配置 intra_bw
c2c link latency0.200 us对齐 Math c2c_lat(含 SerDes/MAC/FEC 协议层;物理传播 25 ns 由独立链路时延承担)
CDMA bandwidth_per_cdma64 GB/s单 CDMA 带宽
CDMA startup_latency_ns290 nsddr_r(150) + ddr_w(10) + noc(50) + 2*d2d(80),仅对 Transfer/Send/Receive 生效
switch forwarding_latency1000 ns对齐 Math 的 switch_delay = 1.0 us

@tbl-val-g5-params G5 仿真参数对齐 Math 的设置

CDMA startup 290ns = $\alpha_{\text{start}}$ 去掉 $2 \times c2c\_lat$(G5 由链路延迟 + PAXI 协议独立建模)。msg-only 指令(MsgSend / MsgWait / RemoteMsgSend / Fence)不读写 GMEM,不付 startup latency;它们的延迟由各自路径(A4S 32-bit handshake、msg_central 累加)独立建模。

Baseline 对比结果

TP 组(N=2)跑在 Ring 上,EP 组(N=64)跑在 single-switch 上:

ModuleOperatorNTopoSize (MB)Math (us)G5 (us)G5/Math
Dense_MLPallreduce2ring0.43752.6542.8171.06x
MLAallgather2ring1.1252.3282.3371.00x
MLAreducescatter2ring1.0002.1462.1621.01x
MLAallreduce2ring0.43752.6542.8171.06x
DSAtopk_allgather2ring0.03120.7360.7861.07x
MoEdispatch64single-switch0.8755.2895.9721.13x
MoEcombine64single-switch1.7507.8377.8431.00x
LMHeadallreduce2ring0.43752.6542.8171.06x

@tbl-val-baseline-vs-g5 Baseline 通信原语 Math vs G5 延迟对比(qp_id 编码契约 + emit_pair_transfer write+msg 路径修复后)

结论:G5 与 Math 在 8 条原语上比值范围 1.00 ~ 1.13x

  • TP=2 AR 偏慢 6%:G5/Math = 1.06x。qp_id 编码契约修复后跨 chip 同步严格遵循 SG2262 spec L294 "write+msg 显式同步"路径(前序 MsgWait + Transfer + RemoteMsgSend),剩余 6% 偏慢源自 PAXI 分段尾部串行化 + A4S 握手累加,符合"指令级仿真比代数模型保守"预期。
  • TP=2 AG / RS 几乎一致:G5/Math = 1.00 ~ 1.01x。N=2 Ring 单步通信下两者契合度极高。
  • TP=2 topk_AG 略偏慢 7%:G5/Math = 1.07x。小消息(32 KB)下 Math 的 α 占总时长 94%,hash ITLV 在小消息下的统计性碰撞让部分 LG 偏忙。
  • EP=64 alltoall 偏慢 0 ~ 13%:G5/Math = 1.00 ~ 1.13x。combine(大消息 1.75 MB)几乎完美对齐;dispatch(中消息 0.875 MB)偏慢 13% 源自 switch 端口在 64 路 hash 散布下的瞬时排队尾部,Math 假设交换机延迟固定可加。

Bus Bandwidth 指标定义

Bus bandwidth(busbw)按 NCCL 业界惯例定义:将原语延迟反推到 "等效单链路带宽消耗",因子由算法决定。本评估按 NCCL Tests 文档 的因子:

$$\begin{equation} \text{busbw} = \frac{M \cdot f(N)}{T} \label{eq:val-busbw} \end{equation}$$

其中 $f(N)$ 为算法相关因子:

原语因子 $f(N)$物理含义
AllReduce$2(N-1)/N$RS + AG 两阶段,每节点收发 $M$ 同时进行
AllGather$(N-1)/N$每节点贡献 $M/N$,wire 总量 $M(N-1)/N$
ReduceScatter$(N-1)/N$与 AG 对称
AllToAll$(N-1)/N$每节点发出 $M(N-1)/N$ 到其它节点
P2P$1$直接传输

@tbl-val-busbw-factors NCCL 业界 busbw 因子定义

busbw 是跨算法可比指标——同一消息大小下,不同算法的 algbw(algorithm bandwidth, $M/T$)相差很大(如 N=2 AR 的 algbw 是 AG 的一半),但 busbw 反映了 wire 上实际承载的字节,可直接对比硬件链路带宽利用率。

差异分析

因素Math 模型G5 仿真
数据传输$M / (\beta \cdot u)$ 一次到位CDMA 64GB/s 门控注入 + 多 CDMA 并行 + PAXI 分包
启动延迟$\alpha_{\text{start}} = 0.69$ us 一次性CDMA startup 290ns + PAXI 事务开销
交换机延迟$\alpha_{\text{switch}} = 2.05$ us(固定)forwarding_latency 1000 ns(已对齐 Math)+ 端口仲裁/排队
带宽利用假设 $u = 0.9$受 CDMA 数量、链路带宽、交换机端口共同约束
模型定位理想上界(最优传输效率)指令级仿真(含协议、流控、CDMA 硬件约束)

@tbl-val-math-vs-g5-factors Math 与 G5 在主要建模因素上的差异

主要偏差来源(qp_id 编码契约修复后):

  • TP=2 AllReduce G5 偏慢 6%(1.06x):AllReduce 走 RS + AG 两阶段 dep chain,每阶段 1 次跨 chip pair transfer。qp_id 编码契约修复后跨 chip 同步严格按 SG2262 spec L294 "write+msg 显式同步"路径展开(前序 MsgWait + Transfer + RemoteMsgSend),qp_id 编码契约 (cdma_id<<2)|vc_bank 与硬件 PAXI RCLINK Source_qpid 一致。剩余 6% 偏慢源自 PAXI 分段尾部串行化(最后一帧最慢 LG)+ A4S 握手累加。
  • TP=2 AllGather/ReduceScatter G5 几乎一致(1.00-1.01x):N=2 Ring 单步通信,G5 实测与 Math 公式吻合到 < 1%。
  • TP=2 topk_AllGather G5 略偏慢 7%(1.07x):小消息(32 KB)下 Math 的 $\alpha$ 占总时长 94%,hash ITLV 在小消息下的统计性碰撞让部分 LG 偏忙。
  • EP=64 dispatch G5 偏慢 13%(1.13x):64 路 hash 在 switch 端口的瞬时排队尾部超过 Math 单 α 上界;combine(更大消息 1.75 MB)的尾部排队被传输时间摊薄,回到 1.00x。
  • N=2 跨算法等价性达成:见 §N=2 跨算法等价性 章节,ring / ring_2port / RH / RD / HD 在 1MB 各原语上 max-min = 0 ns,验证 qp_id 不再受软件 thread_id 干扰。