InfiniBand vs RoCEv2:大规模AI网络优化与选择

Towardsdatascience

大型语言模型作为现代AI的计算巨头,正日益在数千个图形处理单元(GPU)上进行训练。然而,这些GPU之间庞大的数据交换量常常造成瓶颈,并非处理能力不足,而是网络速度受限。在如此庞大的分布式系统中,即使是微小的通信延迟也会急剧累积;GPU共享数据时,一微秒的滞后就可能引发连锁反应,使训练任务增加数小时。这种关键的依赖性,要求必须采用专为高容量数据传输和极低延迟设计的专业网络。

历史上,计算节点之间的数据传输严重依赖中央处理器(CPU)。当GPU需要向远程节点发送数据时,过程是迂回的:GPU首先将数据写入主机系统内存,然后CPU将其复制到网卡缓冲区,再由网络接口卡(NIC)传输。在接收端,NIC将数据传递给CPU,CPU将其写入系统内存,供接收GPU读取。这种多步骤、以CPU为中心的方法,虽然足以应对较小系统,但在AI工作负载所需的大规模环境下,由于数据复制和CPU的参与引入了不可接受的延迟,很快就成为严重的障碍。

为了规避这种CPU束缚的瓶颈,远程直接内存访问(RDMA)和NVIDIA的GPUDirect等技术应运而生。RDMA允许本地机器直接访问远程机器的内存,而无需CPU参与数据传输。网卡独立处理所有内存操作,消除了中间数据复制,显著降低了延迟。这种直接内存访问在AI训练环境中尤为宝贵,因为数千个GPU必须通过绕过操作系统开销和网络延迟来高效共享梯度信息。GPUDirect进一步扩展了这一概念,使GPU能够通过PCIe连接直接与其他硬件通信,完全绕过系统内存和CPU。GPUDirect RDMA则通过允许NIC直接访问GPU内存进行网络传输,进一步扩展了这一功能。这种直接通信范式要求网络能够处理极高的速度,而如今,InfiniBand和RoCEv2是两个主要选择。在这两者之间做出决定,需要在原始速度、预算限制和进行手动网络调优的意愿之间取得关键平衡。

InfiniBand作为一种专用的高性能网络技术,是为数据中心和超级计算的严苛环境量身定制的。与处理通用流量的标准以太网不同,InfiniBand从底层设计,专为AI工作负载提供超高速和超低延迟。它就像一个高速铁路系统,列车和轨道都是为最大速度而定制设计的;从电缆、网卡(称为主机通道适配器或HCA)到交换机,每个组件都经过优化,旨在快速传输数据并避免任何延迟。

InfiniBand的运行原理与常规以太网截然不同。它绕过了传统的TCP/IP协议,转而依赖自身轻量级的传输层,这些传输层针对速度和最小延迟进行了优化。其核心在于,InfiniBand直接在硬件中支持RDMA,这意味着HCA在不中断操作系统或创建额外数据副本的情况下处理数据传输。它还采用无损通信模型,通过基于信用的流控制系统,即使在重负载流量下也能防止数据包丢失,发送方只在接收方有足够缓冲区空间时才传输数据。在大型GPU集群中,InfiniBand交换机以通常低于一微秒的延迟在节点之间传输数据,确保了持续的高吞吐量通信,因为整个系统都是为此目的而协同设计的。其优势在于无与伦比的速度、可预测性和固有的可扩展性,它是为RDMA量身打造且避免数据包丢失。然而,其缺点也很明显:硬件昂贵且主要与NVIDIA绑定,限制了灵活性。它还需要专业的设置和调优技能,使其更难管理且与标准IP网络的互操作性较差。

相比之下,RoCEv2(基于融合以太网的RDMA版本2)将RDMA的优势带入了传统的以太网网络。RoCEv2无需定制网络硬件,而是利用现有的IP网络,通过UDP进行传输。这种方法类似于在现有高速公路上为关键数据增加一条快速车道,而不是重建整个道路系统。它利用熟悉的以太网基础设施,提供高速、低延迟的通信。

RoCEv2通过将RDMA写入封装在UDP/IP数据包中,使它们能够穿越标准的三层网络,而无需专用结构,从而实现了机器间的直接内存访问。它利用商用交换机和路由器,使其更易于访问且更具成本效益。与InfiniBand的关键区别在于,InfiniBand在其严格控制的环境中管理流控制和拥塞,而RoCEv2则依赖以太网的特定增强功能来实现接近无损的网络。这些增强功能包括:优先级流控制(PFC),它根据优先级在以太网层暂停流量以防止数据包丢失;显式拥塞通知(ECN),在检测到拥塞时标记数据包而不是丢弃它们;以及数据中心量化拥塞通知(DCQCN),这是一种对ECN信号作出反应以实现更流畅流量管理的拥塞控制协议。为了获得最佳的RoCEv2性能,底层以太网网络必须精心配置为无损或接近无损,这需要对交换机、队列和流控制机制进行细致的调优。其优势包括:由于使用标准以太网硬件而带来的成本效益,对于熟悉基于IP网络团队而言部署更简单,以及在混合环境中灵活集成。然而,它需要仔细调优PFC、ECN和拥塞控制以避免数据包丢失。它也不如InfiniBand确定性高,可能存在延迟和抖动的变异性,并且随着集群规模的扩大,维持一致的无损以太网结构变得越来越复杂。

最终,在大规模AI领域,网络不仅仅是传输数据的管道;它是决定训练效率和速度的关键支柱。RDMA和GPUDirect RDMA等技术对于消除CPU引起的瓶颈、实现GPU直接通信至关重要。InfiniBand和RoCEv2都加速了GPU到GPU的通信,但它们采取了根本不同的路径。InfiniBand构建了一个定制的专用网络设置,以显著的成本提供无与伦比的速度和低延迟。相反,RoCEv2通过利用现有以太网基础设施提供了更大的灵活性,提供了一种更经济的解决方案,但需要对其底层网络进行细致的调优以实现最佳性能。InfiniBand和RoCEv2之间的选择归结为一个经典的权衡:以高成本获得无与伦比、可预测的性能,还是以成本效益为代价的灵活性,但需要细致的网络调优。对于那些优先考虑绝对峰值性能而不那么在意预算的人来说,InfiniBand仍然是黄金标准。然而,如果利用现有以太网基础设施和管理成本至关重要,那么RoCEv2提供了一个引人注目、但配置更复杂的替代方案。