集群通信正经历从 "opaque collectives 一统天下" 到 "P2P + fine-grained fusion 多范式并存" 的转型期。fabric-lib(Perplexity AI)以生产级 RDMA P2P 库证明了 collectives 之外的通信原语已成必需基础设施 [2510.27656];Three Taxes/Iris(AMD Research)从 kernel 内部瓦解 BSP 同步模型,用 tile 级 producer-consumer pipeline 替代全局 barrier [2511.02168]。两条路线分属节点间与节点内,共同指向同一结论:传统 "Compute-Wait-Collective-Wait-Compute" 已是 LLM 系统的核心瓶颈。
| 维度 | 极端 A | 极端 B |
|---|---|---|
| 通信粒度 (granularity) | Opaque collective (NCCL/RCCL black-box) | In-kernel tile-level communication |
| 作用域 (scope) | 节点内 intra-node (NVLink/Infinity Fabric) | 节点间 inter-node (RDMA over NIC) |
| 编程模型 (model) | BSP — global barrier + collective API | Asynchronous P2P / fine-grained sync |
| 论文 | 通信粒度 | 作用域 | 编程模型 |
|---|---|---|---|
| fabric-lib [2510.27656] | Library-level P2P primitives (Send/Recv, WriteImm) | 节点间 (RDMA over ConnectX-7/EFA) + 节点内 NVLink for MoE | Async P2P — 无 world, 无 ordering |
| Three Taxes [2511.02168] | In-kernel tile-level iris.load()/iris.store() | 节点内 (Infinity Fabric, 8 GPU) | Fine-grained sync — spin-wait on flag |
两篇论文恰好占据维度空间的对角位置:fabric-lib 是 inter-node + library-level + async P2P;Three Taxes 是 intra-node + in-kernel + fine-grained sync。交集区域(inter-node in-kernel fusion)为空白。
fabric-lib 提出 "可靠但无序(reliable-but-unordered)" 作为异构 RDMA 硬件最大公约数 [2510.27656]。核心创新 ImmCounter 原语利用 PCIe write ordering 保证,在不假设网络消息顺序的前提下实现完成通知 [2510.27656]。TransferEngine 采用 Rust per-GPU worker + per-NIC domain 两级架构,统一 ConnectX-7(单 NIC 400Gbps)和 AWS EFA(4×100Gbps 聚合)[2510.27656]。
三个生产系统验证:
"Three Taxes" 框架将 BSP 模型开销分解为 Kernel Launch Tax、Bulk Synchronous Tax、Inter-Kernel Data Locality Tax [2511.02168]。Iris 库提供与 Triton 对齐的 iris.load()/iris.store() 原语,使 fusion 编程门槛大幅降低 [2511.02168]。
验证覆盖:
| 指标 | fabric-lib [2510.27656] | Three Taxes / Iris [2511.02168] |
|---|---|---|
| 核心吞吐指标 | 400 Gbps peak P2P (CX-7 & EFA); MoE decode 78.4 tok/s (EP64 CX-7 batch=2) | Flash Decode 10-20% speedup vs RCCL; AG+GEMM Pull 1.68× / Push 1.80× |
| 核心延迟指标 | KvCache TTFT +1.9% (128K); RL weight 1.3s (1T params); MoE dispatch ~45µs (EP32 CX-7) | Flash Decode absolute latency 未报告 (仅 speedup ratio) |
| 精度 | 未报告 (通信库,与精度无关) | FP16 |
| 验证规模 | 384 GPU (256 train + 128 infer); MoE EP64 (8 nodes) | 8 GPU 单节点 |
| 硬件平台 | H100/H200 + ConnectX-7 / EFA (NVIDIA GPU) | MI300X / MI325X (AMD GPU) |
| 互连 | RDMA (ConnectX-7 RC / EFA SRD) + NVLink | AMD Infinity Fabric (896 GB/s per GPU) |
| 目标场景 | Disaggregated inference, MoE routing, RL weight sync | Tensor parallelism (AG+GEMM, Flash Decode) |
| 代码开源 | 开源 (Perplexity AI) | 开源 (github.com/ROCm/iris) |
| 可复现性 | 部分 — 需 ConnectX-7 或 EFA 集群 | 部分 — 需 MI300X/MI325X 多卡节点 |
| 论文 | Strength | Weakness | Best-for 场景 |
|---|---|---|---|
| fabric-lib [2510.27656] | 生产验证 (Perplexity AI 部署);跨 NIC 可移植性;三大场景全覆盖;EFA 首次可行 MoE | MoE prefill 不如 DeepEP;仅支持 2 种 NIC;host proxy CPU 开销随 EP 线性增长;未讨论拥塞控制和多租户隔离 | 跨云部署的 disaggregated inference / MoE decode / RL weight sync |
| Three Taxes [2511.02168] | 分析框架清晰 ("Three Taxes" 通用性强);编程模型友好 (Iris ≈ Triton 原生);渐进式优化方法论可教学 | Speedup 有限 (10-20%);中间矩阵尺寸性能退化;仅单节点 8 GPU;仅 2 个 workload;batch=1;无绝对延迟数据 | AMD 单节点 TP 推理的 kernel-level 优化;BSP 开销分析的教学框架 |
fabric-lib 论证了 collectives 的四大约束(fixed membership、synchronized initialization、operation ordering、shape uniformity)在 disaggregated inference/MoE 中已成瓶颈 [2510.27656]。P2P 在 RL 场景消除 Rank0 瓶颈实现 100× 加速 [2510.27656]。但 P2P 缺乏 tree/ring reduction 的全局优化能力。
量化:RDMA submit 仅占 RL 传输 2.1%,瓶颈在 FSDP unsharding (42%) 和跨 rank 同步 (29%) [2510.27656]。
fabric-lib 选择 RC ∩ SRD 交集语义(放弃 Read/Atomic),换取跨 NIC 通用性 [2510.27656]。在 MoE decode 中通用方案仍超越专有 IBGDA (DeepEP):78.4 vs 73.8 tok/s (batch=2) [2510.27656]。但 prefill 场景 DeepEP 通过 NVLink pre-accumulation 仍显著更优 [2510.27656]。
In-kernel fusion 的核心选择。分界点 M≈128:小 workload 下 Kernel Launch Tax 主导 → Pull 最优;大 workload 下 bandwidth 主导 → Push store 效率更高 [2511.02168] [2511.02168]。
fabric-lib host proxy 虽增加 PCIe 往返,但通过 bulk transfer + 两轮 dispatch 在 CX-7 上超越 GPU-initiated DeepEP [2510.27656]。瓶颈:EP64 时 post time 达 28µs p50,随 EP 线性增长 [2510.27656]。拐点未明确,需等待 p5en GDA 支持成熟 [2510.27656]。
fabric-lib 在系统层用 P2P 原语完全绕开 BSP 的 "world" 概念 [2510.27656]。Three Taxes 在 kernel 层用 fine-grained sync 替代全局 barrier,仍在 collective 语义内操作 [2511.02168]。
矛盾根源:两者作用域不同。fabric-lib 面对 inter-node RDMA 通信(µs~ms 量级延迟),P2P 的灵活性收益远大于 collective 的批量优化损失。Three Taxes 面对 intra-node Infinity Fabric(ns~µs 量级延迟),kernel-level 的几µs Kernel Launch Tax 已占端到端可观比例。结论:并非真正冲突,而是同一目标在不同延迟量级下的最优策略不同。
两篇工作均未显式处理拥塞控制。fabric-lib 依赖底层 RC/SRD flow control [2510.27656];Three Taxes 的 spin-wait 在 contention 下浪费 compute cycles [2511.02168]。
矛盾根源:当前验证规模(≤384 GPU / ≤8 GPU)尚未触及拥塞临界点。fabric-lib 在 EP64 MoE decode 中已观察到 EFA 仅达 54 Gbps(CX-7 的 47%),暗示 message size 不足以饱和但未排除拥塞因素 [2510.27656]。大规模 all-to-all (EP128+) 时 incast 问题可能强制引入显式拥塞控制。
fabric-lib 用 Rust 实现系统级库(TransferEngine API)[2510.27656];Iris 用 Python/Triton 实现 kernel 级原语 [2511.02168]。
矛盾根源:目标开发者不同。fabric-lib 面向系统工程师(集成到 vLLM/SGLang 等框架),Iris 面向 kernel 工程师(编写 fused compute+comm kernel)。两者目前无法协同——一个 inter-node P2P 操作无法被 Iris 的 iris.load() 直接消费。
基于 §2 Taxonomy 的维度网格,以下组合技术可行但尚无覆盖:
| Gap | 维度组合 | 技术可行性依据 |
|---|---|---|
| 跨节点 in-kernel fusion | inter-node × in-kernel × fine-grained sync | fabric-lib 已证明 RDMA 延迟可控 (~45µs dispatch);Iris 已证明 in-kernel spin-wait 可行;将 iris.load() 后端替换为 RDMA read/write 技术上可实现,但需处理 µs 级 vs ns 级延迟的 spin-wait 效率问题 |
| Intra-node P2P 替代 collective | intra-node × library-level × async P2P | fabric-lib 的 NVLink 传输已部分实现(MoE 场景),但缺乏通用化的 intra-node P2P 库;NVLink/Infinity Fabric 上的 P2P vs AllGather 性能交叉点未被系统研究 |
| Training workload 的 fusion/P2P | 任意 × 任意 × 覆盖 AllReduce/ReduceScatter | fabric-lib 聚焦 inference + RL [2510.27656];Three Taxes 仅测 inference [2511.02168]。Training 的 AllReduce/ReduceScatter 是否同样受益于 P2P 或 in-kernel fusion 未验证 |
| NVIDIA GPU 上的 compute-comm fusion | intra-node × in-kernel × NVLink | Iris 仅在 AMD (Infinity Fabric) 上验证 [2511.02168]。NVIDIA 的 Triton Distributed / CUTLASS 虽有类似能力但缺乏 "Three Taxes" 框架下的系统化评估 |
| 自适应 Pull/Push 策略 | — | Pull/Push 分界点 (M≈128) 是 workload-dependent 的静态选择 [2511.02168];运行时根据当前 load/congestion 动态切换尚无实现 |
| 场景 | 推荐 | 理由 |
|---|---|---|
| 跨云/跨 NIC 的 disaggregated inference (MoE decode + KvCache) | fabric-lib | 唯一同时支持 ConnectX-7 和 EFA 的生产级 P2P 库;MoE decode EFA 上首次可行 (66.8 tok/s vs pplx-kernels 21.0);KvCache 传输 TTFT 开销 <2% [2510.27656] |
| 单节点 AMD GPU TP 推理延迟优化 | Iris (Three Taxes approach) | AMD 原生 Triton 集成;Flash Decode 10-20% 加速无需改变上层框架;Pull/Push 按 workload size 选择即可 [2511.02168] |
| RL fine-tuning 的 train→infer 权重同步 | fabric-lib | 1T 参数 1.3s 传输,比 collective 方案快 100×+;P2P 消除 Rank0 瓶颈;4 阶段流水线隐藏大部分传输延迟 [2510.27656] |
| ConnectX-7 集群的 MoE decode | fabric-lib | 超越 DeepEP (78.4 vs 73.8 tok/s batch=2);但 MoE prefill 场景仍建议用 DeepEP [2510.27656] [2510.27656] |
| BSP 开销诊断与优化方法论 | Three Taxes 框架 | "Three Taxes" 提供了通用的分析词汇,适用于任何 distributed kernel 的性能拆解,即使不用 Iris 也能指导优化方向 [2511.02168] |
不推荐场景:
| ID | 标题 | 核心贡献 | 链接 |
|---|---|---|---|
| 2510.27656 | fabric-lib: RDMA Point-to-Point Communication for LLM Systems | 可移植 RDMA P2P 库;ImmCounter 原语;统一 ConnectX-7/EFA;三大生产系统 (KvCache, RL weight, MoE decode) | [ref:2510.27656] |
| 2511.02168 | Eliminating Multi-GPU Performance Taxes: A Systems Approach to Efficient Distributed LLMs | Three Taxes 分析框架;Iris compute-comm fusion;Pull/Push 模式;10-20% Flash Decode 加速 | [ref:2511.02168] |