M2N Communication
定义
M2N(Many-to-N)通信模式:M 个发送方同时向 N 个接收方发送数据,其中每个发送方只发给部分接收方。这是 disaggregated inference 中 attention nodes → expert nodes 的核心通信模式。
与传统通信模式的区别
| 模式 | 描述 | 典型场景 |
|---|---|---|
| All-to-All | 每个节点向所有节点发送 | MoE layer 内 expert dispatch |
| All-Reduce | 所有节点规约同一份数据 | 梯度同步 |
| M2N | M 个节点向 N 个节点发送,不要求全互联 | Disaggregated attention→expert |
| N2M | M2N 的反向 | Expert→attention 返回结果 |
关键差异:All-to-All 假设所有参与方在同一通信组内、拓扑对称;M2N 中发送方和接收方是不同组的 GPU,拓扑不对称。
M2N 的挑战
传统通信库(NCCL 等)在 M2N 场景下表现差:
- 小消息频繁:每个 micro-batch 的 token 数少,消息粒度细
- Group init 开销:NCCL 每次通信需要初始化 communicator,M2N 调用频繁时开销显著
- 不必要的数据拷贝:GPU→CPU→GPU 搬运,增加了延迟
- 过度同步:NCCL 的同步模型不适配 ping-pong pipeline 的异步需求
MegaScale-Infer 的 M2N 库优化
- 消除 GPU→CPU→GPU 不必要拷贝
- 消除反复 group initialization
- 减少 GPU 同步点
- Traffic-oriented 优化(针对 M2N 流量模式定制路由/调度)
效果:比 NCCL 4.2× 吞吐提升,延迟降低 68.2%
与 Scale-up Fabric 的关系
M2N 是 disaggregated architecture 的典型通信模式,对 scale-up fabric 提出特殊需求:
- 低延迟小消息:不同于训练的 bulk All-to-All
- 不对称带宽:M ≠ N 时上下行带宽需求不同
- 高频调用:每个 token 每层都要 M2N + N2M,频率极高
- 可重构机会:不同 MoE 模型、不同 expert 数量,M:N 比例变化大
开放问题
- M2N 在光交换/可重构网络上是否有更大优化空间?
- M:N 比例动态变化时,fabric 如何自适应?
- M2N 能否与 collective offload(如 SHARP)结合?
相关页面
- Megascale Infer 2504.02263 — 提出 M2N 库的论文
- FlashMoE Kernel — 单 kernel EP;设备端 RDMA 替代 AlltoAll(同机 EP 栈)
- Disaggregated Inference — 产生 M2N 通信需求的架构范式
- Switching Networks — M2N 运行的网络层次
Citations
[1] arXiv:2504.02263