Focus    前瞻洞察
前瞻洞察
面向万卡集群的Scale-out网络技术研究
文 | 新华三集团先进技术研究部 刘锋

摘 要:

随着人工智能的发展,大规模预训练模型在自然语言处理和计算机视觉等领域都取得了显著成果, 促进了智算中心的建设。本文针对面向大模型预训练的Scale-out智算网络关键技术展开研究,系统梳理了智算网络Scale-out网络国内外最新技术进展,同时也分析了Scale-out智算网络目前存在的问题以及未来的发展趋势,在推动智算网络技术发展、指导智算中心建设等方面具有重要意义。

关键词:

Scale-out网络;智算网络;远程直接内存访问;大模型

引言

自ChatGPT问世以来,AIGC技术呈现爆发式增长,模型参数规模从千亿迈向万亿级别,并持续向十万亿规模演进;以GPT-4、Sora为代表的大模型,其训练算力需求呈指数级攀升,例如GPT-4的1.8万亿参数需在25,000个A100 GPU上训练长达100天,单次训练能耗已接近中小型城市的年用电量。这一趋势驱动全球智算中心向超万卡集群架构升级,传统单节点计算模式已无法满足大模型训练对算力密度与通信效率的需求,亟需通过横向扩展(Scale-out)构建分布式网络架构,以应对数据并行、流水线并行及张量并行等多维并行策略下的通信瓶颈,本文分析了面向万卡集群的Scale-out网络技术,以满足智算中心对网络相关基础设施、互联能力、端网协同控制等的需求,并将着重分析面向大模型预训练的智算网络现状、关键技术以及智算网络的未来发展趋势。

1. Scale-out网络业务需求

大模型训练的参数量、数据量远超单个GPU的能力,需要把数据处理和模型切分到超万个规模的GPU中进行处理。大模型需要采用多机多卡集群的方式进行训练,主流的并行训练方式有数据并行、张量并行、流水线并行和专家并行等。

张量并行和专家并行等需要GPU之间进行高频度数据交换及控制命令交互,每次迭代数据量达几百GB,每秒迭代几千次,需要在一个节点(超节点)内,通过Scale-up网络增加GPU数量、增加内存容量等计算资源垂直方向的方式进行扩展;但是由于当前Scale-up一般是一机8卡,所以相应的一些并行也会用到Scale-out网络;数据并行由于需要训练的数据量包括文本、语音、视频等多模态数据量非常大,需要通过Scale-out网络增加计算节点来横向扩展以处理更大的数据量,需要支持超万卡互联。

1.1 Scale-out网络的流量特征

传统的数据中心中心内,数据流完全不相关,因此在多个网络链接上平稳负载均衡分布。然而在AI训练的网络里,流量的主要特征是:

 低熵:与传统数据中心工作负载相比,AI工作负载的流的数量和多样性要小得多,并且流模式通常具有重复性和可预测性。

 突发性:在时间维度上,流通常表现出毫秒级时间粒度的“开启和关闭”特性。

 大流量:每次突发,每条流量的强度都可以达到网卡的线速率

1.2 拥塞和负载不均两大问题

集群网络吞吐下降是影响集群性能的根本原因,将导致AI大模型训练效率下降,甚至造成任务中断或失败,主要表现在:

负载不均:AI流量特征所表现的少流(低熵)、大流问题,传统ECMP无法对此流量进行均匀哈希导致负载不均的问题。

拥塞问题:针对AI训练模型中All-reduce、All-to-All以及多任务训练和其他流量导致的多打一incast问题造成拥塞。

图1 AI流量在集群中表现的负载不均和拥塞问题

2. Scale-out网络技术发展现状

在传统的TCP/IP网络通信中,数据传输过程会经历多次拷贝,这将导致处理延迟增加和额外的资源消耗,影响数据传输性能和系统运行效率,因此RDMA技术被提出,通过绕过CPU,直接在内存层面进行数据传输,允许计算机直接访问远程计算机的内存。这样既减少了数据传输过程对资源的占用,也降低了数据的处理时延,是当前Scale-out网络主要采用的传输协议。

实现RDMA技术需要软件和硬件的支持。RDMA技术目前有两种主要的实现方式:InfiniBand、RoCE(RDMA over Converged Ethernet)。InfiniBand由IBTA制定并正式发表于2000年,并在设计之初就支持RDMA技术,从硬件层面确保数据的可靠传输,这提供了更高的带宽和更低的延迟。使用InfiniBand实现RDMA需要部署专用的IB网络设备和IB网卡,导致的部署成本增加。RoCE由IBTA制定,是一种通过以太网中来实现RDMA技术的解决方案,通过将IB协议报文封装为以太网报文进行收发,解决了IB协议与以太网之间的兼容性问题。

RoCE的核心设计是集成10年前开发的简单RDMA配套技术,在AI大规模集群中并不适用,主要表现在它是一种简单的先尝试发送,再根据网络反馈进行调整机制,并且涉及到的参数多,调节困难,也不支持多路径的传输,因此针对AI大规模集群需要进行优化。Meta在llama3的训练中采用2.4万张GPU卡组成的ROCE网络,在论文中明确提到:DCQCN作为一种拥塞控制方案,在实际部署中难以调整,严格的ECN阈值配置可能会降低吞吐量,并在后续在400G部署中,选择放弃DCQCN,仅依赖PFC进行流量控制,并使用集体库控制进行更高层次的拥塞管理。

业界提出UEC(Ultra Ethernet Consortium),其目标是构建基于以太网的高性能通信栈,应对AI和HPC的大规模组网;UEC所定义的传输层对当前ROCE技术做全面改造,优化了拥塞控制和多路径传输,是解决大规模集群所带来的拥塞和负载不均问题的关键技术。

3. Scale-out网络目标架构和关键技术

支撑万卡集群需要多方面的网络架构、技术创新来满足AI大模型训练场景的要求,主要包括以下方面:

1)在组网架构上,Scale-out网络需基于Spine-Leaf架构实现横向的高可扩展性,并且针对数据并行的特性,不同GPU服务器的同卡号有大量数据交互的需求,可以进行多轨道优化设计减少跨轨道通信跳数,从传统3跳降至1跳,提升通信效率。

图2 多轨组网可以将大部分流量优化至单跳转发

2)在接口速率上,AI大模型训练参数网的门槛是200G,目前已经有不少场景应用400G,并且会逐渐演进800G/1.6T;为了让单台交换机能够支持更多的端口对GPU服务器进行连接,比如64端口、128端口,交换机的交换容量也在不断地提升,目前主流交换芯片的交换容量是51.2T,已有一些先进厂商在做102.4T的设计和试验。

3)在负载不均问题上,为了让少数大流在多条链路上能够进行均匀地负载分担,业界提出了包喷洒(Packet Spraying)技术,其不再以流为粒度进行负载均衡,而是希望以更细的包粒度进行负载均衡。包喷洒技术通过将数据包分散到多个路径上进行传输,从而实现负载均衡和提高网络性能,避免单路径传输的瓶颈问题。包喷洒技术主要包含两类,分别是端侧包喷洒和网侧包喷洒。

网侧包喷洒模式下,端侧网卡发包不需要做任何变化,网侧Leaf交换机需要配置需要从原来的逐流模式,修改为逐包模式,Leaf交换机可以把这条流中的所有报文按照顺序发送至其上行端口,达到哈希均匀的目的。DLB(Dynamic load balance,动态负载均衡)技术突破传统静态Hash机理的限制,通过引入时间戳、实时负载度量(端口带宽负载、队列大小)因子,在时间、带宽空间两个维度优化了负载均衡效果,提供了动态、智能的Hash机制,在进行数据包均匀哈希的同时,结合设备当时的状态,以保证哈希的效果是最佳的。

图3 DLB从时间、带宽空间两个维度优化负载均衡效果

端侧包喷洒由端侧网卡进行数据包喷洒。具体而言,对要发送的单个数据流,通过修改单个报文的熵(源UDP端口号),进行喷洒,如一条流包含1000个报文,熵值范围为1-128,则网卡发送第一个报文时,携带熵值1,发送第二个报文时,携带熵值2,以此类推。这种情况下,当Leaf交换机收到数据报文时,通过设置根据熵值作为哈希因子进行哈希,如Leaf交换机的上行端口是64个,则可以将1-128熵值的数据流均匀地分布在64个路径上进行数据包喷洒。

包喷洒本质上将原来的大流拆成了小流,在多条路径上进行传输,就带来了数据包乱序的问题,因此需要在接收端网卡进行数据包的重组。DDP(Direct Data Placement)技术通过在报文中携带目标精确地址,直接把收到的数据放置到用户空间的Buffer,实现了接收端网卡数据的零拷贝,可以进一步降低时延。

当前UEC国际标准组织主要通过端侧包喷洒的方式解决负载不均问题。在喷洒的过程中,Leaf和Spine之间的链路出现拥塞的时候该如何处理,做到链路负载均衡的自适应调整呢?当前在网络设备上可以有多种信号来表示拥塞信息,如ECN、INT、Trim等,当接收端网卡收到相应的信号,可以通过ACK报文将这些信号反馈给发送端网卡,由发送端网卡对网络信号进行分析,进一步通过调整该熵在在包喷洒发送时使用比例,来控制报文在该路径上的发送流量,以达到拥塞减轻的目的,我们称之为路径感知包喷洒技术。

图4 端侧包喷洒通过网卡的熵值控制优化负载均衡效果

4)对于拥塞问题,业界提出很多算法,主要有两类:一是被动拥塞控制类,通过先发送报文,再根据网络反馈的状态进行发包的调整,如基于ECN/CNP信号的DCQCN算法,基于端到端时延测量的Timely、SWIFT、BBR算法,基于高精度INT测量的HPCC算法等;二是主动拥塞控制类,通过先获得授权,然后再发包,典型的代表如EQDS、CBRC等。

针对多打一incast问题,由于多个发送端对一个接收端全速率发送流量会造成接收端无法实时处理,如采用被动拥塞控制拥塞控制算法,网络反馈的情况会表现地缓慢、无序,采用主动拥塞控制类的算法,通过收端网卡对所有发送端的credit进行统一管理和授权,可以解决多打一带来的incast问题;进一步考虑到网络的拥塞情况,将网络ECN、INT、Trim等信号结合credit分配授信机制,通过算法调整可以做到网络拥塞感知的credit授信分配机制,可以解决incast多打一在网络侧发生拥塞场景下所产生的问题。

4. Scale-out网络未来展望

无阻塞、负载均衡、高吞吐成为面向大模型预训练的超万卡Scale-out智算中心网络集群的核心诉求。针对Scale-out智算网络面临的业务需求和挑战,需要网络架构创新、接口速率和交换容量的进一步提升、网络拥塞、负载不均问题的优化和技术创新来全面满足。

展望未来,scale-out端网融合的技术将更进一步地与控制管理面、业务应用进行深度结合,实现性能的进一步突破网络控制器深度结合:

网络控制器融合:网络控制拥有整个网络的能力如交换机哈希算法、队列能力等以及实时状态数据如队列深度、拥塞状态等,通过网络控制器与端侧网卡的进一步交互如熵值优化、路径优化,能进一步提升网络利用率。

集合通信库增强:在通信库中集成网络信号的获取接口,实时获取网络的关键状态指标(如网卡拥塞状态信息、交换机队列深度、链路利用率、拥塞信息等)。基于这些数据,通信库可动态调整AllReduce、All-to-All等集合操作的消息分发策略。

关闭