一种通信方法及装置与流程

文档序号:38014986发布日期:2024-05-17 12:38阅读:19来源:国知局
一种通信方法及装置与流程

本技术涉及通信,尤其涉及一种通信方法及装置。


背景技术:

1、随着人工智能领域中单个模型的规模越来越大,单台机器已经无法容纳大模型对应的训练数据集、模型参数以及训练过程中产生的信息。因此,利用计算集群的高算力和大内存,对大模型进行分布式训练成为了主流选择。

2、计算集群中的每台服务器内设置有多个计算设备(例如为神经网络处理器(neural-network processing unit,npu))。在对大模型进行分布式训练时,同一个服务器内的npu之间,以及不同的服务器内的npu之间需要通过网络对大模型进行训练时所产生的数据进行传输。如果采用电交换网络实现数据传输时,由于训练大模型产生大量待传输的数据,因而需要对电交换机的容量进行扩展,但对电交换机容量扩展后,会导致整个数据传输过程功耗显著增加。

3、为了支持大模型进行训练所产生数据的传输且减少数据传输过程功耗,现有技术中考虑采用光交换网络对训练大模型所产生的数据进行传输。但现有技术并未提供光交换网络下npu间的连接方案。因此,如何实现光交换网络下所有服务器之间的全连接,以高效地实现npu与npu之间的数据传输是一个亟需解决的问题。


技术实现思路

1、本技术提供一种通信方法及装置,用于在光交换网络下,提供一种通过计算集群中包括的服务器中的计算设备与光交换机连接,实现服务器之间的全互连的方案。

2、第一方面,提供一种通信方法,该方法可由管理设备执行,或由芯片系统执行,该芯片系统能够实现管理设备的功能。该方法应用于计算集群,所述计算集群包括m个服务器,每个服务器内包括n个计算设备,所述m个服务器通过其中的计算设备与光交换机连接,实现服务器之间的互联,所述方法包括:根据所述服务器的个数m判断实现所述m个服务器全互联,每个服务器所需要的最少计算设备的数量n,其中,所述m、n以及n为正整数;当所述n小于等于所述n时,确定所述m个服务器全互联时,各服务器之间的连接策略;根据所述确定的连接策略,连接所述m个服务器,使所述m个服务器全互联。

3、在本技术实施例中,管理设备根据光组网架构下计算集群中服务器的个数和每个服务器内npu的个数,先根据服务器的个数m判断实现m个服务器全互联,每个服务器所需要的最少计算设备的数量n,再判断计算集群是否支持服务器间的全互连,当确定计算集群支持服务器间的全互连后,再确定m个服务器全互联时,各服务器之间的连接策略;然后根据确定的连接策略,连接m个服务器,使m个服务器全互联。也就是说,本技术提供了一种实现在光组网架构下计算集群包括的服务器之间全互连的方案。

4、在一种可能的实施方式中,所述确定所述m个服务器全互联时,各服务器之间的连接策略包括:根据待建立连接源服务器的标识,所述源服务器中的源计算设备的标识、所述n和/或所述m,确定目标服务器的标识;其中,所述源服务器的标识为按照服务器的数量为所述源服务器标记的标识,所述源计算设备的标识为按照所述源服务器中所包括的计算设备的数量为所述源计算设备标记的标识。本技术中管理设备可以根据待建立连接源服务器的标识,源服务器中的源计算设备的标识、n和/或m,确定目标服务器的标识,从而可以实现确定可以计算集群中任意两个服务器间之间的连接关系的目的。

5、在一种可能的实施方式中,所述根据待建立连接源服务器的标识,所述源服务器中的源计算设备的标识以及所述m,确定目标服务器的标识,包括:

6、基于公式

7、nodedst=(devsrc-nodesrc+m)mod m

8、确定所述目标服务器的标识;

9、其中,nodedst用于表征所述目标服务器的标识,devsrc用于表征所述源计算设备的标识,nodesrc用于表征所述源服务器的标识。通过该公式可以确定光组网架构下,各种服务器数量和/或服务器内npu数量不同的场景中,与源服务器中源npu对应的目标npu的服务器的标识,从而可以具体确定计算集群内服务器之间的连接关系。

10、在一种可能的实施方式中,如果所述m为偶数,所述根据源计算设备的标识、所述源服务器的源标识以及所述n,确定目标服务器的标识,包括:

11、基于公式

12、确定所述目标服务器的标识;

13、其中,nodedst用于表征所述目标服务器的标识,devsrc用于表征所述源计算设备的标识,nodesrc用于表征所述源服务器的标识。通过上述公式,当计算集群中服务器个数为偶数,可以实现以服务器内最少的npu数量,实现光组网架构下,各种服务器数量和/或服务器内npu数量不同的场景中各个服务器间的全连接,减少了资源损耗。

14、在一种可能的实施方式中,所述方法还包括:所述m个服务器中的各计算设备执行计算操作;根据所述计算设备之间的连接拓扑及对计算结果的聚合方式,确定数据的传输方式。由于综合考虑了计算设备的连接拓扑和对计算结果的聚合方式,因此可以尽快确定开销较少的数据的传输方法,减少传输数据的功耗。

15、在一种可能的实施方式中,所述根据所述计算设备之间的连接拓扑及对计算结果的聚合方式,确定数据的传输方式,包括:

16、当所述对计算结果的聚合方式为全规约时,确定所述数据的传输方式为:所述源服务器与目标服务器间基于发送通信算子进行通信;目标计算设备与所述目标服务器内除所述目标计算设备外的计算设备间基于广播通信算子进行通信;所述目标计算设备与所述源计算设备间建立互连;本技术实施例中,考虑到对计算结果的聚合方式为全规约时,只通过源计算设备将待传输的数据发送给目标计算设备,再由目标计算设备将待传输的数据发送给目标服务器内其他计算设备,因此可以避免源服务器内所有计算设备上相同的待传输数据被重复发送所造成的系统带宽利用率降低的情况出现;并且,由于目标服务器内采用广播通信算子进行通信,因此可以保证目标服务器内每个计算设备可以获得数据,避免数据的丢失;或,

17、当计算集群中每个服务器具备对等通信能力,确定所述数据的传输方式为:所述源计算设备与所述源服务器内除所述源计算设备外的计算设备间基于第一预设通信总线和第一对等接收通信算子进行通信;所述源服务器与所述目标服务器基于发送通信算子进行通信;所述目标计算设备与所述目标服务器内除所述目标计算设备外的计算设备间基于第二预设通信总线和对等发送通信算子进行通信;由于源服务器和目标服务器具备对等通信能力,因此源服务器内,每个计算设备都可以访问该服务器内任一计算设备的内存并将数据发送出去;这样,可以直接利用与目标服务器相连的源计算设备,将源服务器内其他计算设备内存上的数据发送给目标服务器对应目标计算设备,从而可以较为快速且高效的实现源计算设备与目标计算设备间数据的传输;或,

18、当所述对计算结果的聚合方式不为全规约,且计算集群中每个服务器不具备对等通信能力时,确定所述数据传输方式为:所述源计算设备与所述源服务器内除所述源计算设备外的计算设备间基于全聚集通信算子进行通信;所述源服务器与所述目标服务器间基于发送通信算子进行通信;所述目标计算设备与所述目标服务器内除所述目标计算设备外的计算设备基于散射通信算子进行通信;由于将源计算设备内所有计算设备上的待传输数据进行了拼接,再发送给目标服务器内的目标计算设备,这样,减少了源服务器与目标服务器间进行数据传输的传输次数,从而在一定程度上避免网络阻塞;或,

19、当所述对计算结果的聚合方式不为全规约,且计算集群中每个服务器不具备对等通信能力时,确定所述数据传输方式为:所述源服务器内的各个计算设备间基于发送通信算子和转接设备进行通信;所述源服务器与所述目标服务器间基于发送通信算子进行通信;所述目标服务器内的各个计算设备间基于发送通信算子和转接设备进行通信;通过该数据的传输方法,可以实现服务器内存在复杂拓扑结构时,可以通过转接设备实现服务器间的高效通信。

20、第二方面,提供一种通信装置。该通信装置可以为上述管理设备,或为包括该管理设备的较大设备,或为该管理设备中的功能模块,例如基带装置或芯片系统等。该通信装置可包括用于执行第一方面所述的方法的相应的手段(means)或模块。该通信装置具有实现上述第一方面方法实施例中行为的功能,有益效果可以参见第一方面的描述,此处不再赘述。例如,所述通信装置包括处理单元(有时也称为处理模块)和收发单元(有时也称为收发模块)。收发单元能够实现发送功能和接收功能,在收发单元实现发送功能时,可称为发送单元(有时也称为发送模块),在收发单元实现接收功能时,可称为接收单元(有时也称为接收模块)。发送单元和接收单元可以是同一个功能模块,该功能模块称为收发单元,该功能模块能实现发送功能和接收功能;或者,发送单元和接收单元可以是不同的功能模块,收发单元是对这些功能模块的统称。

21、其中,所述处理模块用于根据所述服务器的个数m判断实现所述m个服务器全互联,每个服务器所需要的最少计算设备的数量n;当所述n小于等于所述n时,确定所述m个服务器全互联时,各服务器之间的连接策略;根据所述确定的连接策略,连接所述m个服务器,使所述m个服务器全互联。

22、在一种可选的实现方式中,所述通信装置还包括存储单元,所述处理单元能够与存储单元耦合,并执行存储单元中的程序或指令,使能所述通信装置执行上述第一方面所述的管理设备的功能。

23、第三方面,提供一种通信装置,该通信装置可以为管理设备,或者为用于管理设备中的芯片或芯片系统。该通信装置包括通信接口以及处理器,可选的,还包括存储器。其中,该存储器用于存储计算机程序,处理器与存储器、通信接口耦合,当处理器读取所述计算机程序或指令时,使通信装置执行上述第一方面中由管理设备所执行的方法。

24、第四方面,提供一种计算机可读存储介质,所述计算机可读存储介质用于存储计算机程序,当所述计算机程序在计算机上运行时,使得所述计算机执行如第一方面所述的方法。

25、第五方面,提供一种计算机程序产品,所述计算机程序产品包括计算机程序,当所述计算机程序在计算机上运行时,使得所述计算机执行如第一方面所述的方法。

26、第六方面,提供一种芯片系统,包括处理器和接口,所述处理器用于从所述接口调用并运行指令,当所述处理器执行所述指令时,实现如第一方面所述的方法。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1