一种跨节点集合通信多链路优化方法

摘要: 本发明涉及高性能计算、分布式计算及人工智能大模型训练,尤其涉及一种跨节点集合通信多链路优化方法。背景技术:1、在大规模分布式训练,尤其是大模型训练场景中,集合通...
一种跨节点集合通信多链路优化方法

本发明涉及高性能计算、分布式计算及人工智能大模型训练,尤其涉及一种跨节点集合通信多链路优化方法。

背景技术:

1、在大规模分布式训练,尤其是大模型训练场景中,集合通信是各个计算节点(如gpu或die)之间同步和交换模型参数、梯度的关键操作。常见的集合通信算子包括allreduce、allgather、reducescatter、alltoall等。这些算子的执行效率直接影响到分布式训练的整体吞吐量和训练时间。现代计算集群通常具有复杂的多层物理拓扑结构,例如,计算节点通过高速内部互联、pcie交换机、nvlink、rdma网络等异构链路连接。这些链路在带宽和延迟上存在显著差异。传统的集合通信算法(如ring allreduce、hd allreduce、pairwise等)往往针对同构网络设计,或未充分考虑多链路并发利用,在特定通信步骤中常常存在部分链路空闲的现象。在异构拓扑下,这种局限性容易受限于最低带宽链路,导致整体通信带宽利用率低下,无法充分发挥硬件潜力。

2、因此,亟需一种跨节点、多链路并发的高效集合通信优化方法,以适应复杂异构集群拓扑,最大化整体通信性能。

技术实现思路

1、本发明目的在于针对现有集合通信算法在复杂异构多链路集群环境中特定通信步骤存在链路空闲、带宽利用率低的问题,提供一种高效的多链路并发调度方法,显著提升集合通信算子性能。

2、本发明的目的是通过以下技术方案来实现的:一种跨节点集合通信多链路优化方法,包括以下步骤:

3、获取集群的物理拓扑结构、各链路的带宽与延迟信息、目标集合通信算子类型以及待同步数据量;使用各链路的带宽与延迟信息估计链路上的传输时间;

4、若目标集合通信算子为针对allgather类集约算子,则执行双半环算法:将参与通信的节点组织为双向传输的逻辑环,在通信过程中进行双向数据传输,并在最终通信步骤中引入数据分块,依据异构链路的带宽比例对所分配的子块进行划分与传输;

5、若目标集合通信算子为alltoall,则执行pairwisepro算法:基于数据块在叠加链路上的传输时间调整传输时隙的定义,并依据各链路带宽比例设定数据细分策略,使不同链路在不同时隙中并行传输不同的数据子块;

6、对于跨节点规模场景,基于待同步数据量,采用分级策略组合所述双半环算法或pairwisepro算法,动态确定最优通信组,生成跨节点的多链路并发通信调度方案。

7、进一步地,所述使用各链路的带宽与延迟信息估计链路上的传输时间具体为:将一次点对点通信传输

m字节数据的时间建模为

8、

9、其中表示静态时延;为链路带宽;数据分块、时隙定义和通信组选择时使并行链路的对齐,并在小数据量场景下优先避免启动延迟过大的候选路径。

10、进一步地,所述步骤s2中双半环算法的实现具体为:

11、将参与通信的n个节点组织为两个方向相反的逻辑环;

12、在前n/2-1个通信步骤中,不对原始数据块进行分块,两个环上分别独立执行常规ring算法的数据传递;

13、在最终通信步骤中,将待传递的数据块进行分块,分别在两个逻辑半环上传输;若此时节点间同时存在高带宽链路与低带宽辅助链路,则依据各链路类型的理论带宽比例对所述数据块细分为多个子块,并将各个子块分别分配至对应的异构链路中进行并行传输。

14、进一步地,所述步骤s3中pairwisepro算法的实现具体为:定义传输时隙的时长为单个数据块在多条带宽叠加的链路上的综合传输时间;

15、在首个传输时隙中,节点同时通过最高带宽链路以及带宽叠加链路向其相邻节点及特定跨节点发送数据块,其中通过带宽叠加链路发送的数据依据各链路的带宽比例进行细分;

16、在后续的传输时隙中,节点仅通过带宽叠加链路,以循环位移的方式向不同的对端节点发送数据子块;

17、通过合并所有时隙的传输操作,等效实现所有节点间的全连接通信模式,充分利用所有链路的双向带宽。

18、进一步地,所述采用分级策略组合所述双半环算法或pairwisepro算法具体为:当节点分布在多层级物理结构中时,将整个通信过程划分为多个物理层级进行,包括集群间通信、服务器间通信以及服务器内通信;根据当前的待同步数据量,通过预先运行性能分析程序来比较不同节点组规模下的理论或实测通信耗时;选择通信耗时最短的节点规模作为当前层级下的最优通信组大小,依据该最优通信组大小对节点进行分组,并在不同物理层级上递归或迭代地应用所述双半环算法或pairwisepro算法完成全局集合通信。

19、根据说明书的另一方面还提供了一种跨节点集合通信多链路优化装置,包括存储器和一个或多个处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现所述的一种跨节点集合通信多链路优化方法。

20、根据说明书的另一方面还提供了一种计算机可读存储介质,其上存储有程序,所述程序被处理器执行时,实现所述的一种跨节点集合通信多链路优化方法。

21、本发明的有益效果:

22、1.本发明针对allgather类算子提出的双半环算法,以及针对alltoall算子提出的pairwisepro算法,相较于现有ring算法仅沿单一逻辑环逐步传递、pairwise算法按固定对端顺序占用单一路径的方式,进一步将传统算法末端空闲链路和异构链路低效等待时间转化为按带宽比例分配的并行传输窗口;通过在最终通信步骤或传输时隙内引入子块划分、链路映射和完成时间对齐,使sio、hccs、rdma等不同带宽链路均参与有效数据传输,实现了通信全过程中的链路持续高利用率,突破了传统算法在特定步骤存在的链路空闲限制。

23、2.引入分级策略与性能分析机制,根据实际数据量和拓扑结构选择最优的通信粒度,有效平衡了带宽利用与通信延迟,完美适应从单服务器到跨集群的大规模扩展场景。

24、3.方案直接聚焦于通信过程中的底层物理链路特性的最大化利用,在多种数据规模和节点数量下,对各项集合通信算子均能带来显著的性能提升,充分挖掘了硬件潜能,满足了大模型训练中对集合通信的高并发、高吞吐需求。

1.一种跨节点集合通信多链路优化方法,其特征在于,包括以下步骤:

2.根据权利要求1所述的一种跨节点集合通信多链路优化方法,其特征在于,所述使用各链路的带宽与延迟信息估计链路上的传输时间具体为:将一次点对点通信传输m字节数据的时间建模为

3.根据权利要求1所述的一种跨节点集合通信多链路优化方法,其特征在于,所述allgather类集约算子为完成节点集合内的数据汇聚或数据重分布的算子,具体包括allgather、reducescatter与allreduce。

4.根据权利要求1所述的一种跨节点集合通信多链路优化方法,其特征在于,所述步骤s2中双半环算法的实现具体为:

5.根据权利要求1所述的一种跨节点集合通信多链路优化方法,其特征在于,所述步骤s3中pairwisepro算法的实现具体为:定义传输时隙的时长为单个数据块在多条带宽叠加的链路上的综合传输时间;

6.根据权利要求1所述的一种跨节点集合通信多链路优化方法,其特征在于,所述采用分级策略组合所述双半环算法或pairwisepro算法具体为:当节点分布在多层级物理结构中时,将整个通信过程划分为多个物理层级进行,包括集群间通信、服务器间通信以及服务器内通信;根据当前的待同步数据量,通过预先运行性能分析程序来比较不同节点组规模下的理论或实测通信耗时;选择通信耗时最短的节点规模作为当前层级下的最优通信组大小,依据该最优通信组大小对节点进行分组,并在不同物理层级上递归或迭代地应用所述双半环算法或pairwisepro算法完成全局集合通信。

7.一种跨节点集合通信多链路优化装置,包括存储器和一个或多个处理器,所述存储器中存储有可执行代码,其特征在于,所述处理器执行所述可执行代码时,实现如权利要求1-6中任一项所述的一种跨节点集合通信多链路优化方法。

8.一种计算机可读存储介质,其上存储有程序,其特征在于,所述程序被处理器执行时,实现如权利要求1-6中任一项所述的一种跨节点集合通信多链路优化方法。