上期我们讲到了RDMA的WHY,WHAT & HOW(AI网络背景下RDMA的Why,What & How),这一期我们来谈一谈RDMA的不足。
Ethernet & RDMA
在过去30年中,每当我们谈论网络时,无论面对什么问题,答案始终是以太网。为什么?因为它提供了更优的TCO,在可扩展性方面远超任何竞争技术,并且拥有任何其他技术都无法比拟的生态系统:各个供应商的产品能灵活适配、协同工作。它具备极其成熟的技术和极为巨大的规模经济优势。
RDMA网络是AI/ML部署的关键推动者,它允许GPU以高利用率运行,并缩短作业完成时间(JCT)。通过提高效率,RDMA降低了拥有成本,并允许更快的训练时间,这是微软、Open AI、Meta等建设AI基础的关键指标。
(图片来源于网络)
RoCE(RDMA over converged Ethernet)就是允许通过以太网网络实现RDMA功能的技术,它同时具备RDMA的高效和以太网的生态优势,其诸多特性在多种计算场景中发挥了巨大作用。然而,随着机器学习(ML)和人工智能(AI)的迅猛发展,原本并非针对超大规模集群设计的RDMA技术,在应对成千上万节点的大规模组网时,其性能逐渐显现出局限性。 随着Mixture of Experts(MoE)等先进模型结构的出现,模型参数迈入万亿规模。AI网络正面临更大规模、更高带宽、更低延迟的一系列性能需求。 那么,现有的RoCE技术在应对这些挑战时存在哪些不足?展望未来,RoCE技术又将迎来哪些创新和变革?以下是我们对RoCE技术当前局限性和未来发展趋势的探讨。
当前RDMA RoCE的一些技术局限
首先,虽然运用RoCE已经成功实现了许多规模集群的组网,随着集群规模从万卡向十万卡演进,RoCE在大规模集群场景下面临以下不足:
PFC 需要大量缓冲来实现无损传输
优先级流控(PFC)是融合以太网(Converged Ethernet)的核心,为的是能在每个链路上实现无损传输。 使用 PFC 时,接收方会监控可用的输入缓冲区空间(buffer space),一旦缓冲空间低于与带宽-延迟乘积(BDP = BW*RTT)相关的某个阈值,接收端会向发送端发送一个PAUSE帧。此时,BDP/2字节的数据已经在传输中,而在发送端接收到PAUSE帧之前,它还会发送另外的BDP/2字节。因此,完全无损传输的最小缓冲需求是BDP + MTU(最大传输单元),其中MTU为最大数据包大小。(这还只是数据包在接收端立即被处理的情况,任何一点延迟都会显著降低链路利用率。)
覆盖PAUSE消息传输延迟所需的BDP缓冲空间通常被称为“余裕缓冲”(headroom buffer),类似于用于信用机制流量控制的缓冲空间,如InfiniBand或Fibre Channel中使用的流量控制机制。 在这些机制中,接收端主动向发送端发送信用额度(缓冲分配),以保持输入缓冲区的平衡,而PFC机制则是在缓冲区过满时才反应。这两种机制各有优点——信用额度可以主动传向源头,而PFC则可以更具反应性(迟绑定),在为不同的源链路分配共享缓冲空间时进行调节。两种机制本质上都需要为每个链路保留BDP的空间,以覆盖链路的往返控制延迟,这部分空间在高效转发中是无法使用的。
实际上,缓冲空间对于处理变化的流量峰值和进行时间和空间上的负载均衡至关重要。仅仅是所需的余裕缓冲,在不冒丢包风险的情况下无法用于其他用途,这对下一代交换机的扩展带来了巨大挑战。
主流的交换机厂商如Broadcom、Marvell和Cisco等都已推出了50T交换机以满足高带宽、低时延、零丢包的网络需求,以RTT 3~5微秒估算,以51.2T(64个800G)的交换机而言,BDP大小约33MB左右。随着未来交换机吞吐量的增加,buffer size(约可以认为是BDP)也会继续增加。(见图a)(图片展示的buffer size是只考虑交换机吞吐量作为变量的情况,实际RTT也会有所变化)
(图源:Datacenter Ethernet and RDMA: Issues at Hyperscale)
而随着传输距离的增加,对buffer size的要求也会急剧增加。(见图b)
受害流、拥塞树、PFC风暴和死锁
另一个问题源于 PFC 会暂停整个流量类别以及其中的所有流量。这会导致受害流的出现:假设有两个流:A和B共享一条链路L。A没有拥塞,可以以全带宽发送。但B在某个下游端口被阻塞,填满了L的输入缓冲区。最终,L 分配的缓冲区会被B的数据包填满,L会发送一个暂停帧。这一帧也会暂停A,而A本可以独立传输——因此,A因B的暂停而受害。即,未发生拥塞的流可能会受到其他拥塞流的影响。这种现象也被称为队首阻塞(Head of Line Blocking)。
由于下游端口的任何拥塞都会填满上游的缓冲区,除非端点拥塞控制协议做出反应,PFC 事件可以快速形成一个“拥塞树”,这种拥塞树会顺着受害流在网络中反向扩展。拥塞树是无损网络中的常见问题,有时也被称为 PFC 风暴 。
(图片来源于网络)
而且任何具有有限缓冲的无损方案在路由允许形成循环时都会遭遇死锁问题。
(图片来源于网络)
Go-back-N 重传
RoCE是为遵循 InfiniBand 的有序和基于信用的无损传输而设计的非常简单的硬件。 这意味着只有在数据包因比特错误而损坏时,才会丢弃数据包,这种情况非常少见。RoCE的重传逻辑要求所有数据包必须按顺序到达数据流中。这意味着第一个数据包必须在第二个数据包之后到达,第三个数据包必须在第二个数据包之后到达,以此类推。但如果数据包在RDMA数据流中丢失,比方说第五个数据包丢失,但后续数据包(六、七、八)已成功传输,“Go-back-N”重传技术会告诉系统,“你丢失了第五个数据包,所以我需要你重新传输数据包五、六、七和八。”而大量的重传会严重影响网络性能。
简单的 Go-back-N 方案还有一个更大问题是,它不支持多路径或乱序交付。但支持乱序交付的其他方案则需要等待发送方的超时到期,这可能导致更高的恢复时间和抖动。因此,在设计新的传输协议时,必须仔细考虑所有这些权衡。
拥塞控制与其他流量的共存
RoCE 的默认拥塞控制基于一种无损传输前提下的速率控制机制。数据中心通常使用 DCQCN、TIMELY和 HPCC 等机制,构建在 RoCE 的基础上改善流量传输。但现在大多数 RoCE 部署使用非标准的拥塞控制机制,需要精细调整许多参数,例如 ECN 阈值、减速因子、时间间隔等,这使得不同供应商,甚至同一供应商的不同硬件代之间的互操作性变得困难。这是因为拥塞控制仍然是一个艰难的问题,不同的工作负载可能需要经过调优的协议版本。
目前不支持智能协议栈
随着网络开销在数据中心工作负载中的重要性日益增加,需要设计出更加智能的协议栈。新兴的智能网卡 (Smart NIC) 为这一领域带来了新的机会,用户可配置的内核可以在 NIC 上执行数据包和协议处理 。
比如论文《sPIN: High-performance streaming Processing In the Network》中提到的“sPIN”新型网络处理模型,它是一种可编程的网络接口控制器(NIC),通过硬件加速在网络层直接处理数据。支持用户自定义的程序在数据到达时进行处理,避免数据包先被传输到服务器端再处理的延迟。该系统结合了网络处理器和可编程硬件(如FPGA)的优势,能够在数据传输过程中执行简单的计算任务,比如数据压缩、过滤等操作。
系统层面的问题
随着链路层和端到端延迟的增加,系统也会面临更多问题。高延迟会导致缓冲区占用增加、能耗上升,并使拥塞控制效率降低。特别是对于那些传输速度超过单个往返时间(RTT)的消息,依赖接收端反馈的拥塞控制机制变得无效,导致小消息引发的不良 incast 问题变得更加严重或频繁。
此外,RDMA固有的语义复杂性和安全性问题也应引起关注。暴露进程本地的虚拟地址会引发安全隐患。路由和负载均衡仍然是挑战,尤其是在数据中心和 HPC 网络中,不同的系统架构需要不同的机制来优化网络流量和消息处理顺序。
那么,现在有哪些改进思路呢?
RoCE改进建议
改进流控机制
当前的PFC机制由于需要大量缓冲区并且无法精细地管理个别流量,可以通过更加细粒度的流量控制方法来解决这些问题。例如,使用基于流的拥塞追踪而不是基于优先级的追踪,可以有效减少受害流现象。同时,通过动态调整拥塞优先级(如拥塞隔离技术)也可以有效缓解拥塞问题。
拥塞管理与路由改进
针对拥塞树和PFC风暴的问题,可以使用更复杂的流量监控和管理机制,例如在交换机中维护每个流的状态,以便更好地追踪拥塞情况。此外,动态调整流量优先级或采用无拥塞路由策略,也可以避免受害流和拥塞树的产生。
增强重传机制
针对Go-back-N机制的局限性,可以采用选择性重传(Selective re-transmission)或支持乱序传输的机制,以减少不必要的数据重传。例如,最新的RoCE适配器已经引入了选择性重传技术,但仍需进一步优化,尤其是在处理多路径传输时。
展望未来
随着计算任务的复杂性和数据规模的增加,AI网络面临的压力也越来越大。未来的发展方向不仅包括改进现有的RoCE技术,还包括探索新的网络拓扑、流控和拥塞管理方法。
RoCE技术的进一步发展需要与新的网络需求相适应,如机密计算、地理复制数据中心和多租户环境等。这些新兴技术和应用场景将推动下一代高性能AI网络的创新,确保智算中心能够在极端工作负载下保持高效稳定的运行。
因此,Ultra Ethernet提出了解决RDMA问题的构想,称之为“Ultra Ethernet Transport”。包括奇异摩尔在内的UEC成员们正在采取一系列措施,目标是建立一个具有高弹性、高性能的令人难以置信的强大网络,在一个非常稳健的网络环境中实现超过十万个节点的可扩展性,并在开放标准框架内运行。(构建更完善、更高效的AI网络基础设施:UEC 超以太联盟最新进展)
Broadcom公司高级副总裁Ram Velaga说,在ML/AI的世界里,不会有一家公司提供所有GPU,也不会有一家公司提供所有互连解决方案。我们实现可扩展性的唯一方法是建立一个生态系统,由多个供应商提供加速器。这个生态系统的生存依赖于构建一个开放的、基于标准的、高性能的和具有成本效益的互连架构。以太网是唯一的选择,无论是昨天、今天还是明天。
全部0条评论
快来发表一下你的评论吧 !