跳到主要内容

Alpha-Beta 模型

$\alpha$-$\beta$ 模型(也称 Hockney 模型)是通信延迟建模的基础工具,用两个参数将通信延迟分解为固定启动开销和带宽相关项,可以秒级计算出集合通信操作的理论完成时间。


模型起源与动机

LLM 分布式训练/推理中,互联通信开销已成为端到端性能的主要瓶颈。以 DeepSeek-V3(671B MoE)为例,1024 GPU H100 集群上 EP AllToAll 通信延迟可占单次解码步骤总时间的 30%–60%(来源:SimAI, NSDI'25)。

准确建模通信延迟是集群设计、并行策略选择和成本优化的前提。$\alpha$-$\beta$ 模型提供了一个代数公式,不需要时间步进,计算速度为秒级,可扩展到百万 GPU 规模的设计空间探索。代价是精度有限:典型场景误差约 5–30%,极端场景(如 AllToAll 大规模竞争)可达 >100%。

$\alpha$-$\beta$ 模型由 Hockney 于 1994 年提出(来源:Hockney, Parallel Computing 1994),是通信建模领域的 Roofline 模型类比:$\alpha$ 对应"延迟墙",$\beta$ 对应"带宽墙"。


标准 $\alpha$-$\beta$ 模型

点对点通信公式

$\boxed{T(n) = \alpha + \frac{n}{\beta}}$

其中:

  • $\alpha$:启动延迟(latency),单位 $\mu s$,包含协议握手、NIC 固件处理、PCIe DMA 启动等一次性开销
  • $\beta$:链路带宽(bandwidth),单位 字节/秒(B/s),含效率折扣后的有效带宽
  • $n$:消息大小,单位字节

符号约定:本文中 $\beta$ 统一表示带宽(字节/秒),$n/\beta$ 表示传输时间。部分文献用 $\beta$ 表示每字节时间(即本文的 $1/\beta$),阅读时注意上下文。

交叉点(Crossover Point):区分延迟主导和带宽主导的临界消息大小:

$n^* = \alpha \cdot \beta$

$n < n^*$ 时由 $\alpha$ 主导(延迟 bound),$n > n^*$ 时由 $n/\beta$ 主导(带宽 bound)。

示例:H100 NVLink,$\alpha \approx 5\ \mu s$$\beta \approx 450\ \text{GB/s}$

$n^* = 5 \times 10^{-6} \times 450 \times 10^9 = 2.25\ \text{MB}$

即消息 < 2.25 MB 时为延迟 bound,> 2.25 MB 时为带宽 bound。

多跳扩展:当通信路径经过多个链路时:

$T_{\text{multihop}} = \sum_{i} \left(\alpha_i + \frac{n}{\beta_i}\right) \approx \alpha_{\text{total}} + \frac{n}{\beta_{\text{bottleneck}}}$

$\alpha$ 在各跳累加,带宽取路径上最窄链路(瓶颈带宽)。

核心假设

假设内容失效场景
假设 1$\alpha$ 为常数,不随消息大小变化协议切换(Eager → Rendezvous → Pipeline)使 $\alpha$ 阶梯式跳变
假设 2$\beta$ 为常数,带宽不随消息大小变化小消息未能填满 pipeline,$\beta$ 呈 S 型曲线
假设 3无竞争,所有链路独占多流共享链路时有效带宽降低
假设 4同构网络,所有节点参数相同多层拓扑(NVLink 450 GB/s vs IB 25 GB/s)参数差异巨大
假设 5无软件开销CPU 调度、内存拷贝在小消息时占主导

$\alpha$ 的物理分解

$\alpha$ 不是一个不可分解的黑盒常数,而是数据路径上多个物理延迟分量的叠加:

$\alpha = \alpha_{\text{sw}} + \alpha_{\text{NoC}} + \alpha_{\text{DMA}} + \alpha_{\text{PHY}} + \alpha_{\text{link}} + \sum_{i} \alpha_{\text{switch}_i} + \alpha_{\text{mem}}$

各分量的物理来源和典型值:

分量物理来源典型值主要影响因素
$\alpha_{\text{sw}}$通信库调用 + 描述符准备1-5 $\mu s$NCCL/MPI 版本、CUDA Graph 优化
$\alpha_{\text{NoC}}$片上网络路由(计算核 -> DMA 引擎)0.05-0.5 $\mu s$NoC 跳数、拥塞
$\alpha_{\text{DMA}}$DMA 引擎启动 + 地址翻译 (IOMMU)0.2-1 $\mu s$IOMMU 开/关、页表深度
$\alpha_{\text{PHY}}$SerDes 编解码 + PLL 锁定0.005-0.02 $\mu s$信号调制(NRZ/PAM4)
$\alpha_{\text{link}}$物理链路传播(光/电)0.005-5 $\mu s$距离(PCB 5cm vs 光纤 100m)
$\alpha_{\text{switch}}$交换机转发(查表 + 缓冲 + 仲裁)0.1-1 $\mu s$cut-through vs store-and-forward
$\alpha_{\text{mem}}$目的端内存写入首次延迟0.03-0.08 $\mu s$HBM3 ~40-60 ns, DDR5 ~55-85 ns

不同拓扑层级的 $\alpha$ 差异巨大:

层级路径$\alpha$ 量级瓶颈分量
C2C(芯片间,同板)NoC -> DMA -> PHY -> 短链路 -> PHY -> DMA -> NoC0.5-2 $\mu s$DMA 启动
B2B(板间,同机柜)+ PCIe/NVLink 交换 + 线缆2-5 $\mu s$交换机延迟
R2R(机柜间,同 Pod)+ IB/Ethernet 交换机 + 光纤3-10 $\mu s$光纤传播 + 交换机
P2P(Pod 间)+ 多级交换 + 长距光纤5-20 $\mu s$多级交换 + 距离

物理分解使得可以在无实测数据的情况下,从硬件 datasheet 的各分量参数合成 $\alpha$ 的估算值(详见 05-参数标定)。


$\alpha$ 的非线性:协议切换效应

假设 1 认为 $\alpha$ 是常数。实际上,通信协议栈在不同消息大小下使用不同的传输协议,导致 $\alpha$ 出现阶梯式跳变。

三种传输协议

协议消息大小范围机制$\alpha$ 特征
Eager(急切)$n < n_1$(通常 ~8 KB)发送方直接将数据放入接收方预分配缓冲区,无需握手最小 $\alpha$,一次 RDMA Write
Rendezvous(约定)$n_1 \leq n < n_2$(~8 KB 到 ~512 KB)先握手协商接收缓冲区地址,再传输$\alpha$ 增加一次 RTT(~2-5 $\mu s$
Pipeline(流水线)$n \geq n_2$(~512 KB+)将大消息切成固定大小的 chunk,流水线传输$\alpha$ 含流水线建立开销

来源:Kalia et al., "Design Guidelines for High Performance RDMA Systems", ATC 2016

分段模型

$\alpha(n) = \begin{cases} \alpha_{\text{eager}} & n < n_1 \\ \alpha_{\text{eager}} + \alpha_{\text{RTT}} & n_1 \leq n < n_2 \\ \alpha_{\text{eager}} + \alpha_{\text{RTT}} + \alpha_{\text{pipeline}} & n \geq n_2 \end{cases}$

典型值:$\alpha_{\text{eager}} \approx 2\ \mu s$$\alpha_{\text{RTT}} \approx 3\ \mu s$$\alpha_{\text{pipeline}} \approx 1\ \mu s$

对集合通信的影响:Ring AllReduce 中每步消息大小为 $M/N$。当 $N$ 从 8 增到 64 时,chunk 大小可能跨越协议切换阈值,导致延迟出现非单调变化。


$\beta$ 的消息大小依赖性

假设 2 认为 $\beta$ 是常数。实际上,有效带宽随消息大小呈 S 型曲线:

$\beta(n) = \beta_{\max} \cdot \left(1 - e^{-n/n_0}\right)$

其中:

  • $\beta_{\max}$:链路的物理带宽上限
  • $n_0$:特征消息大小,$\beta$ 达到 $\beta_{\max}$ 的 63% 时的消息大小

物理原因

  • 小消息($n \ll n_0$):协议开销、DMA 配置时间中 $\alpha$ 项占主导,有效带宽远低于物理极限
  • 中等消息($n \approx n_0$):传输 pipeline 逐渐填满,效率快速提升
  • 大消息($n \gg n_0$):达到物理链路速率限制,$\beta(n) \to \beta_{\max}$

典型值:NVLink 的 $n_0 \approx 256$ KB,IB 的 $n_0 \approx 64$ KB。

多资源瓶颈:即使链路带宽很高,端到端有效带宽还受限于内存读写速率:

$\beta_{\text{eff}} = \min(\beta_{\text{mem\_read}}, \beta_{\text{link}}, \beta_{\text{mem\_write}}) \cdot \eta_{\text{protocol}}$

其中 $\eta_{\text{protocol}}$ 是协议效率因子(编码开销、包头、CRC 等),典型值 0.92-0.97。


LogP 模型

LogP 模型(Culler et al., PPoPP 1993)将 $\alpha$-$\beta$ 的单参数 $\alpha$ 拆分为三个独立参数,使 CPU 开销与网络延迟可分析:

四个参数

参数含义物理来源
$L$Latency:网络传输延迟(NIC 到 NIC)物理链路延迟 + 交换机转发
$o$Overhead:CPU 发送/接收一条消息的处理时间协议栈处理、DMA 配置、中断
$g$Gap:两条连续消息之间的最小时间间隔网络注入速率限制($g = 1/\beta_{\text{injection}}$
$P$Processors:处理器数量-

关键区别$o$ 期间 CPU 被占用,不能做其他工作;$L$ 期间 CPU 空闲(消息在网络中传输)。

点对点通信

$T_{\text{LogP}} = 2o + L$

$\alpha$-$\beta$ 的关系:对短消息,$\alpha \approx 2o + L$。LogP 的额外价值在于:当 $o > g$ 时,CPU 成为瓶颈——增加网络带宽(减小 $g$)不会改善性能,这在 $\alpha$-$\beta$ 中无法诊断。

LogP 局限:不处理大消息(假设消息大小固定且"小")。

LogGP 扩展(Alexandrov et al., JPDC 1997):增加第 5 个参数 $G$(Gap per byte,即 $1/\beta_{\text{link}}$),处理大消息的带宽项:

$T_{\text{LogGP}}(n) = 2o + L + (n-1) \cdot G$

在大消息(带宽 bound)场景下,LogGP 与 $\alpha$-$\beta$ 模型的预测结果趋于一致,差异仅在常数项处理方式。


模型适用范围与局限

精度边界

场景精度主要误差来源
大消息(>256 MB)AllReduce,均匀流量~5%带宽主导,无拥塞
小消息(<1 MB)10–50%启动 overhead 非线性(协议切换)
中等消息 + 共享链路10–30%静态带宽竞争(可修正)
Incast($N \to 1$>30%拥塞控制速率振荡(动态行为)
AllToAll(MoE EP)大规模>100%全局 $N \times N$ 竞争 + CPU 串行瓶颈

大消息 vs 小消息行为差异

$\alpha$-$\beta$ 模型在大消息(带宽主导)场景精度最高。给定正确标定的参数,大消息 AllReduce 预测误差可降至 < 5%。小消息场景的误差来源是:

  1. $\alpha$ 的非线性(协议切换导致跳变)
  2. $\beta$ 的消息大小依赖性(小消息无法填满带宽 pipeline)
  3. 软件栈开销(NCCL kernel launch 约 15-60 $\mu s$)在小消息中占主导比例

不可建模的现象$\alpha$-$\beta$ 无法捕捉动态拥塞行为(DCQCN/HPCC 速率振荡、PFC 级联传播)。这类现象只有包级仿真(NS-3)才能建模。


参考文献