超高带宽、超低延迟、超高可靠,这是大模型训练对于网络的要求。
多年来,TCP/IP协议一直是互联网通信的支柱,但对于AI网络来说,TCP/IP 在某些方面存在着致命的缺点。TCP/IP协议的时延较高,通常在数十微秒左右,同时还会对CPU造成严重的负载。RDMA能直接通过网络接口访问内存数据,无需操作系统内核的介入。这允许高吞吐、低延迟的网络通信,尤其适合在大规模并行计算机集群中使用。
RDMA技术有四种实现:InfiniBand、RoCEv1、RoCEv2和iWARP。其中,RoCEv1已被弃用,iWARP也不太常用。目前业界常用的网络解决方案是InfiniBand和RoCEv2。
那么,InfiniBand和RoCE,谁更适合AI数据中心网络?
HPC/AI 工作负载对网络有什么要求?
目前数据中心大多采用二层网络架构,而AI 集群是为执行复杂的大规模 AI 任务构建的超级计算机。计算机工作负载在多个 GPU 上并行运行,需要得到高度利用。因此,相较于传统数据中心网络,AI数据中心网络面临着额外的复杂性:
并行计算:AI 工作负载是运行相同应用程序/计算任务的多台机器的统一基础设施;
规模:HPC/AI任务的规模可以达到数千个计算引擎(如GPU、CPU、FPGA 等);
作业类型:不同的任务在大小、运行持续时间、需要考虑的数据集大小和数量、需要生成的答案类型以及用于编码应用程序的不同语言和它运行的硬件类型等方面有所不同,这都会导致为运行HPC/AI工作负载而构建的网络内流量模式不断地变化;
无损:在传统数据中心中,丢失的消息会重传,而在AI 工作负载中,丢失消息意味着整个计算要么错误,要么被卡住。因此,AI 数据中心需要一个无损的网络。
带宽:高带宽流量需要在服务器之间运行,以便应用程序能够获取数据。在现代部署中,AI 或其他高性能计算功能的每个计算引擎的接口速度达到 400Gbps。
这些复杂性都对AI 网络提出了重大挑战,因此AI 数据中心网络需要具有高带宽、低延迟、无抖动、无数据包丢失和长期稳定等特点。
从TCP/IP到RDMA
对于HPC/AI等低延迟、高I/O并发的应用,现有的TCP/IP软硬件架构无法满足应用需求。传统的TCP/IP网络通信使用内核来发送消息,这种通信模式具有较高的数据移动和数据复制开销。比如,在典型的 IP 数据传输中,当一台计算机上的应用程序向另一台计算机上的应用程序发送数据时,接收端会发生以下操作:
内核必须接收数据。
内核必须确定数据属于应用程序。
内核唤醒应用程序。
内核等待应用程序对内核执行系统调用。
应用程序将数据从内核内存空间复制到应用程序提供的缓冲区中。
此过程意味着,如果主机适配器使用直接内存访问 (DMA),则大多数网络流量都会在系统主内存中复制。此外,计算机还执行一些上下文切换以在内核和应用程序之间进行切换。这些上下文切换可能会导致更高的 CPU 负载和高流量,同时减慢其他任务的速度。
TCP/IP传输
与传统的IP通信不同,RDMA通信绕过了通信过程中的内核干预,允许主机直接访问另一个主机的内存,减少了 CPU 开销。RDMA 协议使主机适配器能够在数据包进入网络后决定哪个应用程序应该接收它,以及将其存储在该应用程序内存空间中的位置。主机适配器不是将数据包发送到内核进行处理并将其复制到用户应用程序的内存中,而是直接将数据包内容放入应用程序缓冲区中。
RDMA传输
RDMA传输降低了所涉及的CPU周期数,有助于提高吞吐量和性能。换句话说,RDMA的本质,是对于大规模分布式计算存储的场景,让网卡绕开CPU,配合远端服务器直接存取内存,加速服务器之间的交互,降低时延,把宝贵的CPU资源用于高价值的计算与逻辑控制上。
与传统TCP/IP网络相比,InfiniBand和RoCEv2绕过了内核协议堆栈,延迟性能可以提高几个数量级。在同一集群内的通信可以在单跳中实现的情况下,实验测试表明,绕过内核协议堆栈后,应用层的端到端延迟可以从50us(TCP/IP)减少到5us(RoCE)或2us(InfiniBand)。
InfiniBand网络简介
Infiniband网络通过Infiniband适配器或交换机而不是以太网来实现数据传输。特定类型的以太网交换机的端口到端口延迟为 230 ns,而具有相同端口数量的 InfiniBand 交换机的延迟为 100 ns。
InfiniBand网络的关键组件包括子网管理器(SM)、IB网卡、IB交换机和IB线缆。InfiniBand交换机不运行任何路由协议,整个网络的转发表由集中式子网管理器计算和分发。除了转发表外,SM还负责管理InfiniBand子网中的分区和QoS等配置。InfiniBand网络需要专用线缆和光学模块来互连交换机并将交换机连接到网卡。
本地无损网络
InfiniBand网络利用基于信用令牌机制,从根本上避免缓冲区溢出和数据包丢失。发送端只有在确认接收端有足够的信用来接受相应数量的报文后才会启动分组传输。
InfiniBand网络中的每个链路都有一个预定的缓冲区。发送端不会传输超过接收端可用的预定缓冲区大小的数据。一旦接收端完成转发,就会释放缓冲区,并将当前可用的预定缓冲区大小持续返回给发送端。这种链路级流量控制机制确保了发送端不会发送过多的数据,防止网络缓冲区溢出和数据包丢失。
网卡扩展能力
InfiniBand的自适应路由基于每包动态路由,确保大规模部署中网络的最佳利用。InfiniBand网络有许多大型GPU集群的例子,如百度人工智能云和微软Azure。
InfiniBand网卡在速度方面一直在快速发展,200Gbps HDR已经大规模部署商用,400Gbps NDR的网卡也开始商业部署。目前,市场上有英伟达、英特尔、思科和HPE等主要的InfiniBand网络解决方案和配套设备提供商。其中,英伟达占有最高的市场份额,超过70%。下图显示了常用的InfiniBand网卡。
RoCE v2网络简介
RoCE通过以太网实现RDMA功能,可以绕过TCP/IP并使用硬件卸载,从而降低CPU利用率。RoCE有两个主要版本:RoCEv1和RoCEv2。RoCEv1是基于以太网链路层实现的RDMA协议。交换机需要支持PFC等流控技术,以保证物理层的可靠传输。RoCEv2是在以太网TCP/IP协议的UDP层实现的,引入IP协议是为了解决可扩展性问题。
RoCEv2支持在第三层以太网络上传输RDMA路由。RoCEv2将InfiniBand网络层替换成以太网链路层上的IP和UDP报头,这使得在基于IP的传统路由器之间路由RoCE成为可能。
InfiniBand网络在某种程度上是具有SM(子网管理器)的集中管理网络,而RoCEv2网络是一个纯分布式网络,由支持RoCEv1的NIC和交换机组成,通常采用两层体系架构。
RoCE网卡的主要供应商是英伟达、英特尔和博通等。PCIe卡是数据中心服务器网卡的主要形式。RDMA卡的端口PHY速度通常从50Gbps开始,当前可用的商用网卡可以实现高达400Gbps的单端口速度。
目前,大多数数据中心交换机都支持RDMA流量控制技术,当该技术与支持RoCE的网卡结合时,可以实现端到端的RDMA通信。数据中心交换机主要玩家包括思科、HPE、Arista等。高性能交换机的核心在于它所使用的转发芯片。当前市场上,博通的Tomahawk系列芯片被广泛应用于商业转发芯片中。其中,Tomahawk3系列芯片是目前交换机中较为常用的,市场上支持Tomahawk4系列芯片的交换机也在逐渐增加。
IB vs.RoCE
与InfiniBand相比,RoCE具有更大的通用性和相对较低的成本。它不仅可以用于构建高性能RDMA网络,还可以用于传统以太网。然而,在交换机上配置Headroom、PFC(基于优先级的流量控制)和ECN(显式拥塞通知)等参数可能会很复杂。在大规模部署中,RoCE网络的总体吞吐量性能可能略低于InfiniBand网络。
从技术角度来看,InfiniBand采用了多种技术来提高网络转发性能,减少故障恢复时间,提高可扩展性,并降低操作复杂性。
在业务性能方面,与RoCEv2相比,InfiniBand的端到端延迟较低,因此构建在InfiniBand上的网络在应用程序级业务性能方面具有优势。
在带宽和延迟方面,拥塞和路由等因素会影响高性能网络互连。
拥塞
InfiniBand 使用两种不同的帧中继消息来控制拥塞:前向显式拥塞通知 (FECN) 和后向显式拥塞通知 (BECN)。当网络出现拥塞时,FECN 通知接收设备,而 BECN 则通知发送设备。InfiniBand 将FECN 和 BECN与自适应标记率相结合,以减少拥塞。它提供了粗粒度的拥塞控制。
RoCE 上的拥塞控制使用显式拥塞通知 (ECN),它是 IP 和 TCP 的扩展,可以在不丢弃数据包的情况下启用端点网络拥塞通知。ECN 在 IP 报头上放置一个标记,告诉发送方存在拥塞。对于非 ECN 拥塞通信,丢失的数据包需要重传。ECN 减少了 TCP 连接拥塞造成的数据包丢失,避免了重传。更少的重传可以减少延迟和抖动,从而提供更好的事务和吞吐量性能。ECN 也提供粗粒度拥塞控制,与 InfiniBand 相比没有明显优势。
路由
当网络中出现拥塞时,自适应路由会通过备用路由发送设备,以缓解拥塞并加快传输速度。RoCE v2 运行在 IP 之上。几十年来,IP 一直通过先进的路由算法实现可路由,现在通过 AI 机器学习可以预测拥塞的路由,并自动通过更快的路由发送数据包。在路由方面,以太网和 RoCE v2 具有显著的优势。
然而,InfiniBand 和 RoCE 对于尾部延迟没有做太多处理。尾部延迟对于 HPC 消息应用程序的同步非常重要。
UEC准备定义新的传输协议
除了InfiniBand 和 RoCE 外,业界还提出了其他的协议。
7 月 19 日,超以太网联盟 (Ultra Ethernet Consortium,UEC) 正式成立。UEC 的目标是超越现有的以太网功能,提供针对高性能计算和人工智能进行优化的高性能、分布式和无损传输层。UEC 的创始成员包括 AMD、Arista、博通、思科、Eviden 、HPE、Intel、Meta和微软,都拥有数十年的网络、人工智能、云和高性能计算大规模部署经验。
UEC认为几十年前定义的RDMA 在要求极高的 AI/ML 网络流量中已过时,RDMA以大流量块的形式传输数据,这些大流量可能会导致链路不平衡和负担过重。现在是时候重新开始为新兴应用构建支持 RDMA 的现代传输协议的时候了。
据悉,UEC 传输协议正在开发中,旨在提供比目前的 RDMA 更好的以太网传输(仍支持 RDMA),在提供AI和HPC应用程序所需性能的同时保留以太网/IP的优势。UEC 传输是一种靠近传输层的新形式,它有一些语义调整、拥塞通知协议,并且增强了安全功能。UEC将提供更灵活的传输,不需要无损网络,允许many-to-many人工智能工作负载所需的多路径和无序数据包传输等功能。
更多的企业力量
随着HPC/AI网络的不断发展,越来越多的企业开始推出自研的网络协议或解决方案,以满足其特定的需求。
腾讯云在其星脉网络中采用了自研的星脉 RDMA 网络,可以让 GPU 之间直接进行数据通信,CPU 资源得以节省,从而提高计算节点的整体性能和效率。通过自研端网协同协议 TiTa ,星脉网络可以实现 90% 负载 0 丢包。TiTa 协议内嵌拥塞控制算法,以实时监控网络状态并进行通信优化,使得数据传输更加流畅且延迟降低。
阿里云磐久PredFabric采用自研的Solar-RDMA高速网络协议,使处理器可以通过load/store指令访问其他任意服务器的内存,非常适合深度学习模型内神经网络的交互形态,相比传统模式故障自愈时间和长尾时延均可降低90%。
华为超融合数据中心网络使用独创的iLossless智能无损算法,通过流量控制技术、拥塞控制技术和智能无损存储网络技术三大关键技术的相互配合,提前预防PFC死锁的发生、缓解/解除拥塞、实现对主机的快速管控,从而达到构建无损以太网络,解决传统以太网络拥塞丢包的问题。
不断增长的市场需求是技术发展的根本驱动力。根据 IDC 的数据,2023 年AI基础设施建设投资将达到 1540亿 美元,到 2026 年将增长到 3000亿 美元。2022 年,AI网络市场已达到 20亿 美元,其中 InfiniBand 贡献了 75% 的收入。
在比较InfiniBand和RoCE时,我们可以看到两者都有各自的优势和适用场景。IB在高性能计算领域表现出色,可提供卓越的性能、低延迟和可扩展性。RoCE则更容易集成到现有以太网基础设施中,并具有较低的成本。而以UEC为代表的新兴传输协议也代表了技术的不断发展与创新。唯有适应不断变化的需求,才能保持核心竞争力。
审核编辑:汤梓红
-
数据中心
+关注
关注
16文章
4675浏览量
71948 -
AI
+关注
关注
87文章
30098浏览量
268372 -
TCP
+关注
关注
8文章
1348浏览量
78982 -
大模型
+关注
关注
2文章
2321浏览量
2466
原文标题:IB和RoCE,谁更适合AI数据中心网络?
文章出处:【微信号:SDNLAB,微信公众号:SDNLAB】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
评论