ThunderEP:把 Host 内存当共享通信介质
一句话结论
面向 无 NVLink / 无 P2P 的 PCIe 消费级 GPU(RTX 4090/5090),ThunderEP 用单步 All-Gather / Reduce-Scatter + DMA 搬数 + 细粒度完成同步;相对 NCCL dispatch/combine 均值 2.00× / 1.53×,相对 vLLM prefill 延迟最高 1.66×、decode 吞吐最高 1.26×。
动机
- 细粒度 MoE 每 token 激活更多专家 → EP dispatch/combine 占比上升。
- DeepEP / HybridEP / NCCL EP / NIXL 等假设 GPUDirect P2P 或 RDMA;消费卡驱动关闭 P2P,只能经 CPU bounce buffer。
- 框架回退 NCCL CPU-staged:多余 PCIe 中继,且与专家计算争 SM,重叠差。
对照 Purlin、Mixture-of-Kittens、LLM Distributed Training Collectives、NVSwitch。
方案
- Host 作共享介质:单步 All-Gather / Reduce-Scatter,去掉 ring 多跳 PCIe 中继。
- DMA 引擎搬 bulk:避免与专家计算争用 SM。
- 细粒度完成标志:降低在 CPU 内存上轮询无关 GPU 的同步等待。
- 集成:vLLM;模型 Qwen3-30B-A3B(BF16)、GPT-OSS-20B/120B(MXFP4);双机 PCIe 4.0×16 / 5.0×16。
效果(仅论文数字)
| 指标 | 数字 |
|---|---|
| dispatch / combine vs NCCL(均值) | 2.00× / 1.53× |
| prefill 延迟 vs vLLM | 最高 1.66× |
| decode 吞吐 vs vLLM | 均值 1.17× / 1.12× / 1.16×(三模型);最高 1.26× |
| decode 吞吐 vs SGLang / Megatron-Core | 均值 1.28× / 1.90×(Megatron-Core 在 120B OOM) |
| 暴露 MoE 通信 / Transformer 层延迟 | −64.4% / −38.9%(相对文中基线剖析) |
与 wiki 的关系
- LLM Distributed Training Collectives — EP All-to-All 在 无 scale-up 上的对照极端
- Purlin — 集体 datapath 可换;ThunderEP 专攻 PCIe+host 介质
- MoK / Weave — NVL72/H100 EP;本文是消费卡落点
- Heterogeneous Inference — 非数据中心 GPU 上的 MoE 可达性