9 minrss原文 ↗

MetaRoCE:为 AI 规模以太网打造的全新 RDMA 传输协议

MetaRoCE:为 AI 规模以太网打造的全新 RDMA 传输协议Meta 设计并开源了 MetaRoCE,一个专为 AI 工作负载在通用以太网上打造的 RDMA 传输协议,已通过 Open Compute Project(OCP)发布规范、参考软件实现和合规测试套件。该协议将智能移至端点,原生支持乱序交付、多路径、无损容忍和双向拥塞控制,无需 PFC,可在百万 GPU 规模下提供高吞吐、低尾延迟。现有 RDMA Verbs API 和软件栈无需修改即可运行。推荐理由MetaRoCE 把拥塞控制与路径选择交给端点,AI 集群无需 PFC 也能在有损以太网上维持吞吐,实测 1% 丢包下保持 86% 吞吐,为大规模组网去掉无损约束提供了依据。本文目录MetaRoCE 的工作原理原生乱序投递原生多路径设计上的丢包容忍双向拥塞控制标签MetaRoCE:为 AI 规模以太网打造的全新 RDMA 传输协议Meta 设计并开源了 MetaRoCE,一个专为 AI 工作负载在通用以太网上打造的 RDMA 传输协议,已通过 Open Compute Project(OCP)发布规范、参考软件实现和合规测试套件。该协议将智能移至端点,原生支持乱序交付、多路径、无损容忍和双向拥塞控制,无需 PFC,可在百万 GPU 规模下提供高吞吐、低尾延迟。现有 RDMA Verbs API 和软件栈无需修改即可运行。MetaRoCE 把拥塞控制与路径选择交给端点,AI 集群无需 PFC 也能在有损以太网上维持吞吐,实测 1% 丢包下保持 86% 吞吐,为大规模组网去掉无损约束提供了依据。训练和服务前沿 AI 模型依赖于快速、可靠的网络,这些网络需要在 GPU 之间传输数据,同时不浪费计算周期。为了大规模应对这一挑战,Meta 设计了 MetaRoCE——一种专为商用以太网上的 AI 工作负载而全新打造的 RDMA 传输协议。我们正在通过开放计算项目(OCP)发布 MetaRoCE 规范、参考软件实现和合规性测试套件,以便更广泛的行业能够采用、实现并在此基础上进行构建。在 Meta,我们一直是行业日益增长的共识的有力推动者,即以太网应成为 AI 基础设施的首选网络架构。我们已经证明 RoCE 能够为大规模分布式 AI 训练提供动力。现在,我们正以这项工作为基础推出 MetaRoCE,这是一款从零开始为百万 GPU 规模的以太网设计的协议。我们已经扩展了数十万 GPU 规模的集群,分布在多个数据中心和区域。无论这些集群是在训练下一代前沿模型,还是在全球范围内提供推理服务,网络都处于关键路径之上。像 all-reduce 和 all-to-all 这样的集合通信操作在训练期间同步数千个加速器,而最慢的传输决定了整个任务的节奏。在推理方面,分布式模型分片之间的低延迟通信直接影响数亿用户的响应时间。即使是微小的网络摩擦也会直接浪费大量计算能力。标准 RoCE 期望网络按顺序交付每个帧,依赖 PFC,并且不鼓励在多平面和大规模网络中提供性能的数据包喷洒。MetaRoCE 的设计目标是在网络加速器数量和它们之间距离不断增长的情况下,提供高吞吐量、低尾延迟和运维简单性。MetaRoCE 的工作原理MetaRoCE 的核心洞察很简单:网络架构看到的是数据包,而 NIC 看到的是意图。传统架构将智能集中在网络架构中,依赖交换机来保证无损和维持顺序。通过将智能下沉到端点,MetaRoCE 将网络分解为众多细粒度的逻辑路径,每条路径都拥有自己的实时遥测数据——包括逐路径的 RTT、ECN 状态和利用率。这种可见性解锁了传统 RDMA 难以实现的能力。原生乱序投递MetaRoCE 将数据包喷洒到多条路径上,因此数据包按设计会乱序到达。传输层将乱序到达视为正常情况。每个数据包都携带自己的目的地,因此数据在到达时会被直接写入其最终内存位置,无需重排序缓冲区,也不会产生队头阻塞。写操作在每个数据包中都携带其目的地。发送操作携带与已发布的接收缓冲区的匹配信息,因此即使前面的消息尚未到达,Send 也能正确落位,且无需通过一次往返来获知数据去向。集合通信库可以在适合的场景使用双边消息传递,而不必将所有操作都简化为 Write。原生多路径MetaRoCE 为每条连接提供了一等路径,并逐包在这些路径上进行喷洒。每条路径都携带一个不同的 UDP 源端口作为其 ECMP 熵,NIC 可以随时更改该端口,以将流量从故障路由上移开。在多平面网络中,平面选择完全由 NIC 负责,网络的利用率完全取决于 NIC 的喷洒效果。由于每条路径都维护自己的窗口和往返时间估计,传输层可以区分拥塞与故障,并显式地进行再平衡,因此一条过热或故障的链路只会拖慢一条路径,而不会使整个连接停滞。设计上的丢包容忍MetaRoCE 将以太网网络视为有损网络,并且不要求其改变这一点——不使用 PFC,不使用暂停帧。由于每条路径都携带自己的有序序列,其 256 位选择性确认位向量中的间隙是丢包的证据,而非重排序的证据。在其他协议中,SACK 主要用于避免重传已到达的数据;而在这里,间隙一出现,就会立即在丢失该数据包的路径上触发对恰好缺失的那个数据包的重传。双向拥塞控制MetaRoCE 将传统的基于 ECN、发送端驱动的 AIMD 拥塞控制与接收端驱动的公平份额速率提示相结合。窗口按路径和连接分别维护,因此拥塞标记会缩减出现拥塞的路径,并将后续数据包引导至畅通路径。在每个确认包中,接收端都会返回其已分配给该发送端的入站带宽份额,使发送端能直接接近正确速率,而非逐步摸索。Incast 问题在一到两个往返内即可解决,公平性更好,尾部延迟更低。拓扑无关性MetaRoCE 仅要求网络结构提供每台交换机都已具备的两项能力:ECN 标记和 ECMP。它不需要数据包裁剪、网络内遥测、基于信用的流控或交换机侧喷洒,并且在网络结构提供这些功能时也不会受影响。同一传输协议可运行在胖树、多平面、深缓冲和浅缓冲网络结构上,也可运行在你无法控制配置的厂商云环境中。由于不涉及任何专有技术,网络结构可以自由地针对成本和布线进行优化。大规模统一连接一个队列对(QP)同时承载有序的消息流和带宽。传统 RDMA 通过打开更多 QP(每个节点对数十个)来获得更多吞吐或更多有序流,每个 QP 都拥有一个对其他 QP 不可见的拥塞窗口,并在网卡上维护自身状态。MetaRoCE 将两者分离。单个连接在上层承载许多独立的有序流(每个通信器或集合操作一个),在下层承载许多路径,并由一个拥塞控制器统一管理。连接状态不再随工作负载的并行度增长而增长。应用层基本保持不变——现有的 RDMA Verbs API 和软件栈无需修改即可运行。多平面支持等增强功能通过扩展 API 提供。MetaRoCE 的实际应用为加速硬件验证,我们与 AMD 合作,在其 Pensando 可编程网卡上实现了 MetaRoCE。在一个运行 RCCL 集合通信的 64 节点 AMD GPU 集群上,我们针对 all-reduce 和 all-to-all 操作,将 MetaRoCE 与 RoCEv2 进行了直接对比。结果与设计目标一致:MetaRoCE 在吞吐量和流完成时间方面始终优于 RoCEv2,持续提供更高的吞吐量和更低的流完成时间。在会导致 RoCEv2 性能下降的丢包条件下,MetaRoCE 在 1% 丢包率时仍能维持约 86% 的吞吐量,即使在极端 10% 丢包率下也能继续提供有效带宽——表现为优雅降级而非彻底崩溃。在 4 平面和 8 平面拓扑中进行的多平面验证(最多支持 4,000 个并发连接)证实,吞吐量随平面数量线性扩展。在模拟平面故障期间,该协议展现出优雅的自主恢复能力——流量自动重新分配,无需应用参与或运维人员干预。这些结果印证了 MetaRoCE 的核心设计选择。通过从第一天起就面向丢包场景进行设计,并将智能推向网络边缘,你得到的传输层既能在理想条件下表现更佳,也能在出现问题时优雅降级。开放设计AI 基础设施受益于共享标准,这些标准加速了整个生态系统的创新。MetaRoCE 将开放计算项目(OCP)的以太网可扩展统一网络(ESUN)倡议为网络架构所确立的开放、多厂商理念延伸到了传输层。这就是我们开放 MetaRoCE 的原因:通过 OCP 开放规范:完整的协议规范正在贡献给 OCP,任何厂商都可以实现该规范并构建可互操作的硬件。多种 NIC 实现:MetaRoCE 设计用于在多种 NIC 架构上运行——包括可编程和固定功能架构。我们已在 AMD Pensando 硬件上完成验证,其他厂商的更多实现正在进行中。生产合规套件:我们开发了一套合规套件,为硬件厂商提供工具,以证明其实现符合协议规范。软件参考实现:我们的 libsoftmetaroce 库提供了一个完整、功能齐全的传输协议栈,可在通用 Linux 系统上通过标准 UDP 套接字运行,无需专用硬件。它作为芯片开发的权威行为模型,也是我们统一合规框架的基础。未来展望通过 MetaRoCE,我们在横向扩展网络方面取得了重大进展——在商用以太网上实现了数据中心内部的高性能、弹性传输。但 AI 基础设施横跨多种距离和延迟场景,每一种都带来了我们正在积极应对的独特挑战:纵向扩展(Scale-up):在机架内部,加速器之间交换小消息,每一纳秒都至关重要。MetaRoCE 消除了两个主要的延迟来源:重排序缓冲区和 PFC。我们目前正在优化快速信令路径,用于处理从一个处理单元直接发往另一个处理单元的短内存操作。跨域扩展(Scale-across):跨域扩展使单个任务能够跨越相距数千公里的建筑。往返时间拉长到毫秒级,路径之间的细微差异会不断累积。将路径视为一等实体,正是 MetaRoCE 能够自适应、优先选择不拥塞路径并在每一层追求公平性的关键。接下来的工作重点在于公平共享竞争激烈的长途链路。存储/KV 缓存用例:分布式存储容易引发 incast 问题,即一次读取会扇出到许多服务器,而它们同时回复。接收端驱动的速率提示让接收方(无论是接收写入的存储服务器还是接收读取的客户端)能够调节入站速率,无论请求发往十台服务器还是一千台服务器。新的挑战在于,面对速率各异的网络和大小不一的请求,如何保持该速率的准确性。与我们一起构建 AI 基础设施以太网的未来今年 10 月,我们将在 2026 OCP 全球峰会上发布 MetaRoCE 规范、一个经 DPDK 优化的软件参考实现,以及我们的生产级合规框架。我们以开放的方式推进这项工作,因为未来的挑战需要广泛的行业协作。如果你正在构建网卡、交换机或 AI 基础设施,我们诚邀你加入我们。来源:Meta Engineering Blog(RSS)· engineering.fb.com

如果可以重来,你还愿意花这段时间读它吗?

· 匿名阅读记录只用于改进推荐

MetaRoCE:为 AI 规模以太网打造的全新 RDMA 传输协议 | DeepRead