MRC (Multipath Reliable Connection)

Overview

MRC 是 OpenAI、Microsoft、AMD、NVIDIA、Broadcom 联合设计的多路径 RDMA 传输协议,扩展 RoCEv2 Reliable Connection 层,用于 100K+ GPU AI 训练集群的后端网络。已在生产环境中用于训练 ChatGPT 和 Codex 等前沿模型。

规范以开放许可通过 OCP 发布。

核心机制

包 spraying 与 EV

  • 每个 QP 启动时生成 EV set(通常 128-256 个 Entropy Value)
  • 32-bit EV 嵌入 UDP source port + IPv6 flow label
  • 发送方轮转 EV,将包均匀 spray 到所有平面和路径
  • 不同发送方不协调 EV 选择,由 ECN 反馈做全局负载均衡

无 PFC 的 lossy 模式

  • 主动禁用 PFC(Priority Flow Control),使用 best-effort Ethernet
  • 原因:spraying + PFC 导致 head-of-line blocking,跨 collective 干扰

快速重传

  • SACK:精确报告已接收包,触发选择性重传
  • NACK:packet trimming 触发,payload 被 strip 后优先转发,接收方生成 NACK
  • 丢包 → EV 立即退役 → backup EV 替换 → 背景探测定期复活

ECN 负载均衡

  • 中间交换机启用 ECN,最后一跳禁用
  • 接收方回传 ECN 信号,发送方暂时避开拥堵路径
  • 全双截面带宽下,ECN 充当负载均衡信号而非拥塞控制

NIC 实现与部署

NIC速率集群
NVIDIA ConnectX-8800 Gb/sCluster A (75K GPU), B
AMD Pollara400 Gb/sCluster C
Broadcom Thor Ultra400 Gb/sCluster D

性能数据

指标数值
T0-local 延迟5.09 µs
Cross-T1 延迟6.54 µs
带宽(T0-local / cross-T1)~770 Gb/s (96% peak)
NCCL @ 42K GPU92 GB/s
MRC 1 QP vs RoCE 16 QPs (all-reduce)MRC 更优,因无 ECMP 碰撞

容错能力

  • T0-T1 link flap:几乎无影响,MRC 自动避开,不急修
  • T1 switch reboot:丢包 ~580K,job throughput 仅短暂下降,reboot 后无影响
  • NIC-T0 port failure:数秒内重映射 EV,恢复到满速(少一平面)
  • NIC transceiver 全挂:唯一真正的 SPOF(罕见)

与相关协议对比

MRCRoCEv2UET
多路径✅ EV spraying❌ ECMP✅ spraying
选择性重传✅ SACK/NACK❌ Go-Back-N
Packet trimming
PFC禁用依赖禁用
路由静态 SRv6动态 BGP/ECMP
实现复杂度RoCE 最小扩展基线全新协议栈

关系

Citations

[1] resilient-ai-supercomputer-networking-mrc-srv6.md