跳到主要内容

Alpha-Beta 模型

核心要点

  • $\alpha$-$\beta$ 公式: $T(n) = \alpha + n/\beta$,通信延迟代数模型的最简形式
  • $\alpha$ 物理分解:不是黑盒,由 $\alpha_{\text{sw}}/\alpha_{\text{DMA}}/\alpha_{\text{link}}/\alpha_{\text{switch}}$ 等 7 项叠加
  • $\alpha$ 协议切换: Eager / Rendezvous / Pipeline 三段,$\alpha$ 阶梯式跳变,不是常数
  • $\beta$ S 曲线: $\beta(n) = \beta_{\max}(1 - e^{-n/n_0})$,小消息无法填满带宽
  • LogP / LogGP:把 $\alpha$ 拆成 $L + o + g$,暴露 CPU 是不是瓶颈;LogGP 加 $G$ 处理大消息

模型为什么必要

核心问题:为什么用代数模型而不是直接跑实测?

$\alpha$-$\beta$ 是通信版的 Roofline: $\alpha$ 对应"延迟墙", $\beta$ 对应"带宽墙",两个参数把端到端通信延迟简化为一行公式。代价是精度有限 (典型 5-30%,极端 >100%),收益是百万 GPU 规模设计空间秒级可遍历。

LLM 分布式推理 / 训练中,互联通信开销已成端到端性能主要瓶颈。以 DeepSeek-V3 (671B MoE) 为例,1024 GPU H100 集群 EP AllToAll 通信延迟占单次解码总时间 30–60% (来源:[SimAI, NSDI'25][1])。规模化决策 (节点数 / 链路代际 / 并行策略) 必须在不跑真实作业的前提下定量预测通信耗时,这是分析模型相对包级仿真的核心价值。

$\alpha$-$\beta$ 模型由 Hockney 于 1994 年提出 (来源:[Parallel Computing 1994][2])。

标准 $\alpha$-$\beta$ 公式是什么

核心问题:点对点通信延迟的最简代数表达是什么?在什么前提下成立?

点对点公式

$$\begin{equation} \boxed{T(n) = \alpha + \frac{n}{\beta}} \label{eq:model-ab-base-latency} \end{equation}$$
  • $\alpha$:启动延迟 ($\mu s$),含协议握手、NIC 固件处理、PCIe DMA 启动等一次性开销
  • $\beta$:链路带宽 (B/s),含效率折扣后的有效带宽
  • $n$:消息大小 (字节)

符号约定:本文 $\beta$ 统一表示带宽 (B/s), $n/\beta$ 为传输时间。部分文献用 $\beta$ 表示每字节时间 (即本文 $1/\beta$),读时按上下文区分。

交叉点 (Crossover Point) 区分延迟主导和带宽主导:

$$\begin{equation} n^* = \alpha \cdot \beta \label{eq:model-ab-crossover-point} \end{equation}$$

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

示例 (H100 NVLink, $\alpha \approx 5\ \mu s$, $\beta \approx 450$ GB/s):

$$\begin{equation} n^* = 5 \times 10^{-6} \times 450 \times 10^9 = 2.25\ \text{MB} \label{eq:model-ab-crossover-example} \end{equation}$$

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

多跳扩展 (通信经过多链路时):

$$\begin{equation} T_{\text{multihop}} = \sum_{i} \left(\alpha_i + \frac{n}{\beta_i}\right) \approx \alpha_{\text{total}} + \frac{n}{\beta_{\text{bottleneck}}} \label{eq:model-ab-multihop} \end{equation}$$

$\alpha$ 各跳累加,带宽取路径最窄链路 (瓶颈带宽)。多跳的详细处理见 6.5 多跳拓扑建模

五条核心假设 (后续扩展模型都在松动这些假设):

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

@tbl-model-ab-assumptions $\alpha$-$\beta$ 五条核心假设与失效场景

$\alpha$ 的物理来源是什么

核心问题$\alpha$ 的物理组成有哪些?不同拓扑层级量级差异多大?

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

$$\begin{equation} \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}} \label{eq:model-ab-alpha-decomp} \end{equation}$$

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

分量物理来源典型值主要影响因素
$\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 5 cm vs 光纤 100 m)
$\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

@tbl-model-alpha-components $\alpha$ 物理分解的 7 个分量

不同拓扑层级 $\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$多级交换 + 距离

@tbl-model-alpha-by-level $\alpha$ 量级按拓扑层级对照

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

$\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$ 含流水线建立开销

@tbl-model-protocol-switch 三种传输协议的 $\alpha$ 特征

来源:[Kalia et al., ATC 2016][3]

分段模型

$$\begin{equation} \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} \label{eq:model-ab-alpha-protocol-switch} \end{equation}$$

典型值:$\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 曲线的物理含义是什么?

有效带宽随消息大小呈 S 型曲线

$$\begin{equation} \beta(n) = \beta_{\max} \cdot \left(1 - e^{-n/n_0}\right) \label{eq:model-ab-beta-scurve} \end{equation}$$
  • $\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。

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

$$\begin{equation} \beta_{\text{eff}} = \min(\beta_{\text{mem\_read}}, \beta_{\text{link}}, \beta_{\text{mem\_write}}) \cdot \eta_{\text{protocol}} \label{eq:model-ab-beta-eff-multiresource} \end{equation}$$

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

LogP / LogGP 在 $\alpha$-$\beta$ 之外补充了什么

核心问题$\alpha$-$\beta$ 无法诊断的瓶颈是哪类?LogP 怎么补?

LogP 把 $\alpha$ 拆成 3 个独立参数,让 CPU 开销与网络延迟可分析 (Culler et al., PPoPP 1993)。参数定义见 :

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

@tbl-model-logp-params LogP 模型 4 参数

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

点对点通信

$$\begin{equation} T_{\text{LogP}} = 2o + L \label{eq:model-ab-logp-p2p} \end{equation}$$

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

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

LogGP 扩展 (Alexandrov et al., JPDC 1997) 增加 $G$ (Gap per byte,即 $1/\beta_{\text{link}}$):

$$\begin{equation} T_{\text{LogGP}}(n) = 2o + L + (n-1) \cdot G \label{eq:model-ab-loggp-p2p} \end{equation}$$

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

模型在什么场景失效

核心问题$\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 串行瓶颈

@tbl-model-ab-accuracy-bounds $\alpha$-$\beta$ 模型典型精度边界

大消息精度最高:给定正确标定参数,大消息 AllReduce 预测误差可降至 < 5%。小消息误差来源:

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

不可建模的现象$\alpha$-$\beta$ 无法捕捉动态拥塞行为 (DCQCN / HPCC 速率振荡、PFC 级联传播)。这类现象只有包级仿真 (NS-3) 才能建模。后续 6.3 扩展模型 讨论参数函数化和静态竞争修正;动态拥塞超出代数模型表达能力。

Takeaway

知识点核心结论
基础公式$T(n) = \alpha + n/\beta$;交叉点 $n^* = \alpha\beta$ 划分延迟 / 带宽 bound
$\alpha$ 物理分解7 个分量,不同拓扑层级量级差 1-2 个数量级 (C2C ~1 $\mu s$ → P2P ~20 $\mu s$)
$\alpha$ 非线性协议切换 (Eager / Rendezvous / Pipeline) 使 $\alpha$ 阶梯跳变
$\beta$ 非线性S 曲线 $\beta(n) = \beta_{\max}(1 - e^{-n/n_0})$, NVLink $n_0 \approx 256$ KB
LogP / LogGP$\alpha = L + o + g$ 暴露 CPU 瓶颈;加 $G$ 处理大消息
精度边界大消息 ~5%,小消息 10-50%, AllToAll 大规模 >100%;动态拥塞结构性失效

参考资料

  1. Wang et al., SimAI: Unifying Architecture Design and Performance Tuning for Large-Scale LLM Training, NSDI 2025. https://www.usenix.org/system/files/nsdi25-wang-xizheng-simai.pdf
  2. Hockney, The Communication Challenge for MPP: Intel Paragon and Meiko CS-2, Parallel Computing 1994. https://doi.org/10.1016/S0167-8191(06)80021-9
  3. Kalia et al., Design Guidelines for High Performance RDMA Systems, USENIX ATC 2016. https://www.usenix.org/conference/atc16/technical-sessions/presentation/kalia