资讯动态

【学习笔记】【NV】MRC 规范

发布时间:2026/10/4 6:36:39 来源:尧图企业网站定制
MRCMultipath Reliable Connection规范多路径可靠连接AI/ML 大规模网络的开放 RDMA 传输协议本文基于 OCP MRC Specification Revision 1.0与 NVIDIA/Broadcom 官方发布材料整理。1. 概述MRCMultipath Reliable Connection多路径可靠连接是一种面向大规模 AI/ML 工作负载的 RDMA 传输协议。它扩展了 InfiniBand 的Reliable ConnectionRC传输模型为单条 RDMA 连接引入显式多路径支持、拥塞控制、路径健康跟踪与故障恢复机制使端点在标准尽力而为best-effort以太网上保持高有效吞吐goodput。核心价值让单个 RDMA 连接把流量分发到多条网络路径提升吞吐、负载均衡与可用性——NVIDIA 官方比喻是把贯穿小镇的单车道公路替换为精心规划的街道网格 实时导航应用司机可绕开拥堵和封路。规范版本OCP MRC Specification Revision 1.02026-03-21公开宣布2026-05-06NVIDIA 博客 Broadcom 新闻稿同日发布联合贡献方AMD、Broadcom、Intel、Microsoft、NVIDIA、OpenAI许可Modified Open Web Foundation Agreement 0.9OWFa 0.9运行载体标准尽力而为以太网RoCEv2 演进2. 背景与动因传统单路径可靠传输RC在十万级 GPU 的 AI 工厂场景下面临三重瓶颈痛点具体表现带宽利用率不足单路径传输无法借用网络中其他空闲路径局部拥塞即形成吞吐天花板故障恢复过慢链路/路径故障时软件层重路由需秒级收敛AI 训练数千 GPU 必须保持同步一次短暂网络中断就可能拖慢甚至中断整个训练任务控制面复杂网络拓扑感知与手工调优成本高难以扩展到数十万 GPU运维对流量路径缺乏细粒度可见性MRC 的目标通过端点侧协议改造而非更换物理网络在标准以太网上实现高有效吞吐、对瞬时故障自愈、并开放为多方可互操作的公开规范。3. 发展历程与开放治理3.1 时间线时间事件2026-03-21OCP 格式MRC Specification Revision 1.0正式发布2026-05-06NVIDIA 宣布 MRC 向行业开放Broadcom 同步发布Enabling AI Networking Scale with MRC新闻稿生产验证已在 OpenAI Blackwell 代际部署验证Microsoft Fairwater、Oracle OCI Abilene 两大 AI 工厂投入使用3.2 开放治理与许可贡献许可Modified OWFa 0.9Contribution License六家公司签署使用许可Modified OWFa 0.9Final Specification AgreementFSA许可文本可在 OCP 官网 contributors/templates-agreements 获取3.3 主要贡献者规范由来自六家公司的作者联合撰写包括 AMDRip Sohan、Vipin Jain、Rong Pan、David Riddoch 等、BroadcomEric Spada、Eric Davis、Karen Schramm、Costin Raiciu 等、MicrosoftJithin Jose、Abdul Kabbani、Torsten Hoefler 等、NVIDIAShahaf Shuler、Sayantan Sur、Idan Burstein、Yamin Friedman 等、OpenAIMark Handley、Amin Tootoonchian、Michael Papamichael 等。3.4 OCP 原则符合性规范逐条对照 OCP 五项原则开放Openness发布六个组织的联合设计基于已广泛采用的协议与软件抽象降低集成摩擦效率Efficiency提高网络利用率与端点 goodput容忍瞬时链路抖动无需专用网络影响Impact标准以太网上即可部署NIC/交换机/加速器厂商可按公开规范实现互操作规模Scale端点自主检测拥塞、间歇故障与硬故障自动评估路径健康并重路由路由模式支持拓扑透明扩展可持续Sustainability故障与局部拥塞下保持高有效吞吐减少加速器空转、任务中止与重跑降低超额配置需求4. 协议定位与栈层次MRC 位于现有协议层与 AI/ML 框架运行时库之间暴露 API 让 NIC、加速器与主机软件使用多条网络路径同时保持所需的可靠、有序交付语义。┌──────────────────────────────────────────────┐ │ AI/ML 框架与运行时CCL / NCCL 类库 │ ├──────────────────────────────────────────────┤ │ MRC 软件 API应用 API 控制面 API │ ├──────────────────────────────────────────────┤ │ MRC 传输层 │ │ · 多路径喷洒ECMP / Structured EV / SRv6 │ │ · 可靠投递SACK / NACK / 选择性重传 │ │ · NSCC 拥塞控制 │ │ · 路径健康探针 / 端口状态通告 │ ├──────────────────────────────────────────────┤ │ RoCEv2 over 标准尽力而为以太网 │ └──────────────────────────────────────────────┘设计取向语义处理与包投递解耦——可靠性控制包SACK/NACK与 RDMA 传输层 ACK 逻辑独立可独立表达包已收到与语义处理结果。5. 核心技术机制5.1 多路径喷洒Multipath Spraying单个 QP 的连接可同时在多条网络路径上分发请求包实现路径级负载均衡。ECMP 哈希模式以 UDP 源端口 IPv6 Flow Label 作为熵字段entropy由交换机哈希选择路径Structured EV结构化熵值模式将熵值编码进报文头支持路径感知的多路径选择path-aware multipath EV selection与多平面multi-planeEV 选择SRv6 源路由模式基于 uSID 寻址可选 SRH实现显式路径控制与透明扩展/收缩5.2 可靠投递SACK / NACK 与选择性重传控制消息SACK/NACK携带与触发包前向路径一致的熵值支持请求端路径跳过path skipping——控制反馈沿数据路径同路返回。MRC 的可靠性核心是独立于传输层 ACK 的可靠性 SACK/NACK机制说明Reliability SACK响应端生成携带累积 ACK 值、响应端位图哪些邻近包已收到、前向路径与响应端拥塞状态、反射的请求时间戳Reliability NACK携带错误码TRIMMED / NO_BITMAP / NO_PKT_BUFFER / NO_RESOURCE / PSN_OOR_WINDOW / UNEXP_EVENT驱动请求端重传或进入错误态选择性重传基于 SACK/NACK 反馈仅重传丢失的包而非整个窗口重传包在 BTH 头置 rtx 标志乱序容忍响应端维护逻辑 ePSN 跟踪窗口[ePSN, ePSNmax_psn_range)窗口内乱序包视为有效并处理不被丢弃直接落位请求包自描述每包携带更新后的 VA 地址响应端可将负载乱序直接写入目标内存丢失检测逻辑计时器每包或每连接 快速丢失检测与重传算法实现自定义 强制支持接收 UET TRIM 包5.3 乱序放置与完成排序响应端允许乱序放置但完成排序有严格保证前序操作后续操作响应端放置保证响应端完成排序WriteWrite无放置保证无WriteWriteIMM无放置保证WriteIMM 必须在前序 Write 数据落位完成后完成WriteIMMWrite无放置保证无WriteIMMWriteIMM无放置保证按请求端发送顺序完成5.4 拥塞控制NSCCMRC 实现NSCC——UltraEthernet 传输规范中定义的发送端拥塞控制算法拥塞信号通过 SACK 携带ECN 标记仅保留在 SACK 中请求端维护 CC 窗口状态CWND按 NSCC 事件表调整支持 trimmed 与 untrimmed 包流5.5 路径健康探针与自愈探针/机制作用Reliability ProbesPETH请求端查询响应端报文接收状态尽力而为控制消息不消耗 PSNEV Probes端点操作测量前向路径可达性与往返延迟可在任意流量类别上传输Port Status Update端点操作节点向对端通告本地端口运行状态端口状态掩码动态 MPR响应端可在运行时调整最大在飞包窗口范围可选特性故障旁路在 Spectrum-X 硬件上MRC 可在微秒级检测路径故障并自动重路由——硬件级响应速度避免数千 GPU 同步训练被一次网络抖动打断。5.6 流控与资源管理端到端流控由应用管理MRC QP 不通告消息级流控信用AETH 信用字段固定填 0x1F表示不支持端到端流控WriteIMM 资源限制每连接max_wimm_inflight限制在飞 WriteIMM 请求数响应端跟踪并暂存乱序到达的 ImmDt重试策略每 QP 重试计数由线性重试 指数重试两部分组成线性 0-7 次指数 0-25 次可配置无限重试6. 传输层扩展报文格式6.1 MRC 操作码与头栈操作码描述BTH 后续头0xC6/0xC7/0xC8RDMA WRITE First/Middle/LastMETH, [TSETH], RETH, Payload0xC9RDMA WRITE Last with ImmediateMETH, [TSETH], RETH, ImmDt, Payload0xA0/0xB0RDMA WRITE Only±ImmediateMETH, [TSETH], RETH, [ImmDt], Payload0xD1Acknowledge传输层 ACKAETH0xD8/0xD9Endpoint Request/ResponseERTH / EETH0xD8Reliability SACKSETH CC_STATE0x??Reliability NACKNETH0xDEReliability Probe RequestPETH6.2 BTH 头修改新增rtx 字段标记重传包新增ts 字段指示存在 TSETH 头保留 p_key 校验与 iCRC 计算6.3 新增/修改头头关键字段与作用RETH修改每包携带更新后的 VA按 PMTU 递增支持多包消息的直接落位r_key 消息内恒定dmalen 为整个 DMA 操作长度TSETH新增请求端时间戳tx_timestamp128ns 分辨率时间戳采集后 0.5μs 内应发送供请求端计算 RTTMETH新增RQMSN接收队列消息序号WriteIMM 专用 MSN请求端消息序号用于跟踪在飞 WriteIMM6.4 可靠性控制包SETHReliability SACK 头请求端/响应端 QPID、累积 ACK、位图、拥塞状态、反射时间戳、可用位图资源NETHReliability NACK 头QPID、拥塞状态、可靠性错误码、反射时间戳PETHReliability Probe 头探针请求编码ERTH/EETH端点请求/响应EV Probe、端口状态通告BTH.QPN 用保留值 0x2节点作用域而非连接作用域7. 操作集与限制7.1 支持的连接能力核心多路径传输ECMP 或源路由分发请求与 SACK支持 ECN 标记可靠性控制SACK NACK 及时反馈WriteIMM 限制用户定义每连接最大在飞 Write-with-Immediate 数拥塞控制NSCCUltraEthernet 发送端算法选择性重传7.2 可选特性动态最大 PSN 范围MPRTrim NACK网络截断通知Service Time响应端报告本地请求服务时间7.3 相对 RC 的限制限制说明受限操作集仅支持 RDMA Write 与 WriteIMM不支持 Read / Send / AtomicWriteIMM 资源受限在飞 WriteIMM 数受响应端跟踪资源约束无 RNR-NAK不支持传输层 Receiver-Not-Ready 流控语义由应用层管理流控设计取舍面向 AI/ML 训练与推理的集合通信以 Write 为主放弃通用 HPC 所需的 Read/Atomic 语义换取极简硬件实现与更高扩展性。8. 软件 APIMRC 暴露两类 API8.1 应用 API镜像 libibverbs 语义创建与管理 MRC QP队列对降低开发者迁移成本QP 连接属性max_psn_range默认 128 包、max_wimm_inflight等由响应端通告8.2 控制面 API配置每 QP 多路径策略动态调整负载均衡查询路径可达性与遥测供监控/编排代理集成9. 值得研究/关注的点性能量化MRC vs 传统单路径 RoCEv2 在真实 AI 集群训练/推理上的 goodput 与 GPU 利用率增益缺乏第三方公开基准测试多路径 多平面协同MRC 多路径喷洒与 Spectrum-X Multiplane 硬件负载均衡的分工与叠加效果NSCC 与 UET 生态MRC 复用 UltraEthernet 的 NSCC 算法与 UltraEthernet Consortium 标准的竞合关系值得跟踪相比灵衢UB对比显式 EV 状态机 路径状态建模灵衢 2.1 新增「可靠重路由机制」但规范层面如何判断 “哪条路径坏了、何时拉黑、何时恢复” 仍属实现自定。MRC 给出确定性语义每个路径熵值EV归类为 GOOD / SKIP / DENIED / ASSUMED_BAD仅 GOOD 用于发送状态由数据面观察ECN、丢包、NACK、trim或控制器干预驱动ASSUMED_BAD 可经 EV Probe 恢复。UB 的全光 Mesh 天然多路径把这套状态机纳入灵衢传输层即可获得** “路径级故障感知 自动避开” **能力。控制包反射前向路径标识 → per-path 负载均衡闭环MRC 的关键机制响应端在 SACK 中反射请求包的 EV请求端据此把 ECN 标记、RTT 关联到具体路径动态调整各 EV 选择概率 —— 负载均衡从 “全网盲喷” 升级为 “路径感知自调节”。UB 的链路层重传能兜底丢包但没有端到端的路径级拥塞反馈UBoE 跨域场景尤其需要这个闭环。可靠性控制包与语义处理解耦SACK/NACK 独立于传输 ACKUB 是总线级强同步语义load/store 直达链路层重传解决闪断 / 误码。但 UBoE 承载跨超节点事务时网络会丢包乱序需要区分 “丢包” 与 “乱序”MRC 的 SACK累积 ACK 位图 位掩码 NACK主动非投递信号把包投递层与语义层解耦可避免 go-back-N 式重传浪费对 UBoE 的长距跨域传输价值明显。双维度 inflight 限流MPR包级 WriteIMM语义级UB 超节点内是同步内存语义但在 UBoE / 跨域场景需要传输层窗口控制。MRC 的 MPR 滑动接收窗口响应端通告、位图跟踪、动态弹性扩容作为资源预算模型防止乱序直写场景的缓冲爆炸。10. 参考资料NVIDIA Blog —NVIDIA Spectrum-X — the Open, AI-Native Ethernet Fabric — Sets the Standard for Gigascale AI, Now With MRC2026-05-06https://blogs.nvidia.com/blog/spectrum-x-ethernet-mrc/OCP —Multipath Reliable Connection (MRC) Specification Revision 1.02026-03-21https://www.opencompute.org/documents/ocp-mrc-1-0-pdfBroadcom —Enabling AI Networking Scale with Multi-path Reliable Connections (MRC)2026-05-06https://www.broadcom.com/company/news/articles/ai-infrastructure/enabling-ai-networking-scale-with-multi-path-reliable-connections-mrcOCP MRC 1.0 规范全文镜像含作者名单与修订历史https://www.zhaocs.info/wp-content/uploads/2026/05/OCP-MRC-1.0.pdf

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑