为AI数据中心选择网络方案

随着大规模AI训练的兴起,网络连接对于超高带宽、超低延迟和超高可靠性的需求变得愈发迫切。

多年来,TCP/IP协议一直扮演着互联网通信的主导角色。然而,对于AI网络而言,TCP/IP协议显现出一些关键性弊端。TCP/IP引入了高延迟问题,通常在数十微秒的时间范围内,同时也对CPU性能产生了明显的负担。与此不同,RDMA(远程直接内存访问)技术通过绕过操作系统内核,使得网络接口可以直接访问内存数据,从而实现了高吞吐量和低延迟的网络通信能力。这一特性在大规模并行计算集群中得以广泛应用。

RDMA技术涵盖了四种实现方式:InfiniBand、RoCEv1、RoCEv2以及iWARP。在这其中,RoCEv1已经过时,iWARP并不常见。目前,业界普遍采用的网络解决方案主要集中在InfiniBand和RoCEv2两个选项之间。

因此,当涉及到AI数据中心网络的选择时,究竟是InfiniBand更胜一筹,还是RoCE更适合,便成为了一个备受关注的问题。

InfiniBand与RoCE:满足HPC/AI工作负载的网络需求

当谈到适应大规模AI任务的网络时,我们需要深入了解数据中心网络的关键要求。当前,大多数数据中心采用层2网络架构,而AI集群则可看作是专为执行复杂大规模AI任务而设计的超级计算机。这些工作负载在多个GPU上并行运行,对网络连接的要求极高,需要实现最大程度的资源利用。因此,与传统的数据中心网络相比,AI数据中心网络面临额外的复杂性和挑战:

  • 并行计算:AI工作负载作为一个统一的基础设施,在多台机器上运行相同的应用和计算任务。这要求网络能够有效支持并行计算,协调多个计算节点之间的高度协同性。
  • 规模:HPC/AI工作负载可能涉及数千台计算引擎,包括GPU、CPU、FPGA等。网络必须能够轻松扩展以适应这一庞大规模。
  • 任务多样性:不同的任务具有不同的特征,如大小、持续时间、数据集规模和数量、生成的结果类型,以及用于编写应用程序的各种编程语言和硬件。这导致了网络流量模式的不断变化,需要网络能够灵活适应这些变化。
  • 无损性:传统数据中心网络中,丢失的消息可以重新传输,但在AI工作负载中,丢失的消息可能导致整个计算任务变得不准确或停滞。因此,AI数据中心需要一种无损的网络来确保数据的完整性。
  • 带宽需求:高带宽流量需要在服务器之间自由流动,以便应用程序可以快速访问所需数据。在现代部署中,用于AI和其他高性能计算的每个计算引擎的接口速度可达到400Gbps,因此网络必须支持高带宽需求。

这些复杂性和挑战共同构成了AI数据中心网络设计的核心要素。因此,为了满足高性能和高效率的要求,选择适当的网络解决方案对于构建AI数据中心网络至关重要。

从TCP/IP到RDMA:网络通信的演进

在面对高性能计算(HPC)和人工智能(AI)等对低延迟、高I/O并发性的严格要求时,传统的TCP/IP软件和硬件架构已经无法胜任。传统的TCP/IP网络通信方式包括通过内核传递消息,这会带来较大的数据传输和复制开销。例如,在典型的IP数据传输中,当一台计算机上的应用程序向另一台计算机上的应用程序发送数据时,涉及以下操作:

  • 内核必须接收数据。
  • 内核必须确定数据属于哪个应用程序。
  • 内核唤醒应用程序。
  • 内核等待应用程序执行系统调用以与内核通信。
  • 应用程序将数据从内核内存空间复制到应用程序提供的缓冲区。

这一过程意味着,如果主机适配器采用直接内存访问(DMA)方式,大部分网络流量将被复制到系统主内存中。此外,计算机会频繁执行上下文切换,切换在内核和应用程序之间,这可能导致更高的CPU负载、增加的网络流量和其他任务性能下降。

与传统的IP通信方式不同,RDMA通信方式在通信过程中绕过内核干预,允许主机直接访问另一台主机的内存,从而减少了CPU开销。RDMA协议使主机适配器能够确定哪个应用程序应该接收数据包,并在数据包进入网络后将其存储在该应用程序的内存空间中。与将数据包发送到内核进行处理并将其复制到用户应用程序内存的方式不同,主机适配器直接将数据包的内容放入应用程序的缓冲区中。

RDMA传输方式减少了所涉及的CPU周期数量,有助于提高吞吐量和性能。换句话说,RDMA的本质是为大规模分布式计算和存储场景绕过CPU,允许网卡直接访问远程服务器中的内存,从而加速了服务器之间的交互,减少了延迟,并将宝贵的CPU资源用于高价值的计算和逻辑控制。

与传统的TCP/IP网络相比,InfiniBand和RoCEv2绕过了内核协议栈,从而将延迟性能提高了数个数量级。实验测试表明,通过绕过内核协议栈,在同一集群内发生的通信中,应用程序层的端到端延迟可以从50微秒(TCP/IP)降低到5微秒(RoCE)或2微秒(InfiniBand)。

InfiniBand网络概述

InfiniBand网络是一种通过InfiniBand适配器或交换机进行数据传输的网络,而不采用以太网。以太网的延迟受到交换机或路由器的处理能力、缓存大小和转发机制等多种因素的影响,通常在几微秒到几毫秒之间变化。而InfiniBand(IB)网络的延迟则受到交换机或路由器的转发能力、Cut-Through技术和RDMA技术等因素的影响,通常在几百纳秒到几微秒之间波动。

InfiniBand网络的关键组成部分包括子网管理器(SM)、IB网卡、IB交换机和IB电缆。不同于传统网络,InfiniBand交换机不运行任何路由协议,整个网络的转发表由中央化的子网管理器计算和分发。除了转发表之外,子网管理器还负责管理InfiniBand子网内的配置,如分区和QoS。要连接交换机以及交换机与网卡,InfiniBand网络需要使用专用电缆和光模块。

原生无损网络

InfiniBand网络采用基于信用的机制,从根本上避免了缓冲区溢出和数据包丢失。只有在发送方确认接收方有足够的信用来接受相应数量的消息时,发送方才会启动数据包传输。

每个InfiniBand网络链路都有预定的缓冲区。发送方不会传输超过接收方可用预定缓冲区大小的数据。一旦接收方完成转发,它会释放缓冲区并持续报告当前可用的预定缓冲区大小给发送方。这种链路级别的流量控制机制确保发送方不会发送过多的数据,有效地防止了网络缓冲区溢出和数据包丢失。

网卡扩展能力

InfiniBand采用自适应路由,基于每个数据包的动态路由,以确保在大规模部署中实现网络的最佳利用。许多大型GPU集群都采用了InfiniBand网络,例如百度AI云和微软Azure。

在速度方面,InfiniBand网卡的速度正在迅速提升。200Gbps的HDR已经广泛商用,而400Gbps的NDR网卡也开始商业化。市场上有几家主要的InfiniBand网络解决方案提供商和设备供应商,其中NVIDIA占据了最大的市场份额,超过了70%。以下图表展示了常用的InfiniBand网卡。

结论

总的来说,选择适合AI数据中心网络的解决方案是一个关键决策。在需要高网络性能的AI应用中,传统的TCP/IP协议已经不再适用。相比之下,RDMA技术的应用使InfiniBand和RoCE成为备受推崇的网络解决方案。

InfiniBand在高性能计算和大规模GPU集群等领域表现出色,而RoCE作为基于以太网的RDMA技术,提供了更大的部署灵活性。

因此,根据具体的网络需求和应用场景选择适当的网络解决方案是确保AI数据中心网络高性能和高效率的关键步骤。