一种集群通信方法及装置、电子设备及可读存储介质与流程

文档序号:35964062发布日期:2023-11-09 03:03阅读:26来源:国知局
一种集群通信方法及装置、电子设备及可读存储介质与流程

本申请涉及通信,尤其涉及一种集群通信方法及装置、电子设备及可读存储介质。


背景技术:

1、为了加快处理速度,可以使用多台服务器组成计算集群进行分布式机器学习和高性能(high performance computing,hpc)分布式计算。在分布式机器学习或分布式计算中,各个服务器之间需要进行集群通信,也就是一对多或者多对多的通信。例如,由四个服务器组成计算集群进行分布式机器学习,每个服务器分别计算出一组数据,然后四个服务器之间通信获得4组数据,将4组数据放在一起进行数据聚合(求和),最终让所有服务器都得到聚合后的数据。

2、在上述过程中,数据处理和计算过程都是由服务器完成,服务器需要通道多次大量的数据通信交互完成任务计算,然而随着集群规则的增长,大量的消息交互会严重影响分布式机器学习的效率。现有技术中提出在网计算(in-network computing,inc)技术,在网计算技术将集群通信操作卸载到服务器共同连接的一个网络设备(比如交换设备)上,从而减少服务器之间的消息交互,以加速集群通信。然而,每个服务器每次需要进行集合通信的数据都很多,而网络设备的算力有限,网络设备一次处理的数据有限,这就需要服务器将数据划分,划分的数据串行发送至网络设备,而网络设备也是依次处理,这增加了通信时间和处理时间,从而影响集群通信的效率。


技术实现思路

1、有鉴于此,本申请提供一种集群通信方法及装置、电子设备及可读存储介质。

2、本申请实施例提供一种集群通信方法,该方法应用于集群中的任一服务器,集群包括m个服务器,m个服务器被分布式部署,且m个服务器与被指定的用于加速集群的分布式机器学习或分布式计算的n个网络设备相连接,n小于或者等于m;该方法包括:

3、针对本服务器待发送到n个网络设备的待聚合的数组,依据n个网络设备,对该数组中的数据进行划分,以得到每一网络设备对应的子数组;

4、针对每一子数组,将该子数组发送至该子数组对应的网络设备;同一网络设备接收到的不同子数组包含的数据的数量相同,且包含的数据在原数组中的位置相同;任一子数组中的数据的原数组是指该子数组所属的来自服务器发送的待聚合的数组;

5、获得各网络设备基于接收到的子数组进行数据聚合得到的聚合子结果;任一网络设备得到的聚合子结果对应该网络设备接收到的任一子数组中的数据在原数组中的位置;

6、依据获得的各聚合子结果对应的位置,按照顺序对获得的各聚合子结果进行合并得到聚合结果。

7、本申请实施例还提供一种集群通信装置,该装置应用于集群中的任一服务器,集群包括m个服务器,m个服务器被分布式部署,且m个服务器与被指定的用于加速集群的分布式机器学习或分布式计算的n个网络设备相连接,n小于或者等于m;该装置包括:

8、划分模块;用于针对本服务器待发送n个网络设备的待聚合的数组,依据n个网络设备,对该数组中的数据进行划分,以得到每一网络设备对应的子数组;

9、发送模块,用于针对每一子数组,将该子数组发送至该子数组对应的网络设备;同一网络设备接收到的不同子数组包含的数据的数量相同,且包含的数据在原数组中的位置相同;任一子数组中的数据的原数组是指该子数组所属的来自服务器发送的待聚合的数组;

10、获得模块,用于获得各网络设备基于接收到的子数组进行数据聚合得到的聚合子结果;任一网络设备得到的聚合子结果对应该网络设备接收到的任一子数组中的数据在原数组中的位置;

11、合并模块,用于依据获得的各聚合子结果对应的位置,按照顺序对获得的各聚合子结果进行合并得到聚合结果。

12、本申请实施例提供还一种集群通信系统,该系统包括:集群中的m个服务器以及n个网络设备,m个服务器被分布式部署,且m个服务器与被指定的用于加速集群的分布式机器学习或分布式计算的n个网络设备相连接,n小于或者等于m;

13、其中,任一服务器,用于针对本服务器待发送到n个网络设备的待聚合的数组,依据n个网络设备,对该数组中的数据进行划分,以得到每一网络设备对应的子数组;针对每一子数组,将该子数组发送至该子数组对应的网络设备;同一网络设备接收到的不同子数组包含的数据的数量相同,且包含的数据在原数组中的位置相同;任一子数组中的数据的原数组是指该子数组所属的来自服务器发送的待聚合的数组;获得各网络设备基于接收到的子数组进行数据聚合得到的聚合子结果;任一网络设备得到的聚合子结果对应该网络设备接收到的任一子数组中的数据在原数组中的位置;依据获得的各聚合子结果对应的位置,按照顺序对获得的各聚合子结果进行合并得到聚合结果。

14、n个网络设备用于接收集群中各服务器发送的子数组中的数据,并对接收到的子数组进行数据聚合得到的聚合子结果,将该聚合子结果返给各服务器。

15、本申请实施例还提供一种电子设备,包括:处理器和用于存储计算机程序指令的存储器,计算机程序指令在被处理器运行时使得处理器执行如上方法的步骤。

16、本申请实施例还提供一种机器可读存储介质,该存储介质存储有计算机程序指令,当该计算机程序指令被执行时,能够实现如上方法的步骤。

17、由以上技术方案可以看出,本申请实施例中,m个服务器分别连接n个网络设备,通过将每个服务器中待发送的(即待聚合的)数组按照同一划分方式划分为n个子数组,并按照相同的发送方式将n个子数组分别传输至n个网络设备,使每个网络设备中接收到的不同子数组包含的数据的数量相同,且包含的数据在原数组中的位置相同,以使每个网络设备对接收到的子数组进行数据聚合得到的聚合子结果并将该聚合子结果发送至各个服务器,以在各服务器合并得到聚合结果,这实现了将服务器的计算卸载到网络设备上,以提高集群运算速度的目的,并且由于多个网络设备并行运算,服务器和网络设备之间的数据传输次数大幅减少,能够有效减少计算等待耗时,有效降低传输等待耗时,从而有效提高集群通信的效率。



技术特征:

1.一种集群通信方法,其特征在于,所述方法应用于所述集群中的任一服务器,所述集群包括m个服务器,所述m个服务器被分布式部署,且所述m个服务器与被指定的用于加速集群的分布式机器学习或分布式计算的n个网络设备相连接,n小于或者等于m;所述方法包括:

2.根据权利要求1所述的方法,其特征在于,该方法之前进一步包括:与各网络设备协商各网络设备与本服务器进行通信所采用的目标报文长度;

3.根据权利要求2所述的方法,其特征在于,所述与各网络设备协商各网络设备与本服务器进行通信所采用的目标报文长度,包括:

4.根据权利要求1所述的方法,其特征在于,在所述依据n个网络设备,对该数组中的数据进行划分之前,所述方法还包括:

5.一种集群通信装置,其特征在于,所述装置应用于所述集群中的任一服务器,所述集群包括m个服务器,所述m个服务器被分布式部署,且所述m个服务器与被指定的用于加速集群的分布式机器学习或分布式计算的n个网络设备相连接,n小于或者等于m;所述装置包括:

6.根据权利要求5所述的装置,其特征在于,该装置还包括:

7.根据权利要求6所述的装置,其特征在于,

8.根据权利要求5所述的装置,其特征在于,所述划分模块在所述依据n个网络设备,对该数组中的数据进行划分之前,还用于:

9.一种电子设备,其特征在于,包括:

10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行如权利要求1至4任一项所述的方法。


技术总结
本申请提供一种集群通信方法及装置、电子设备及可读存储介质。该方法应用于集群中的任一服务器,该方法不仅实现了将服务器的计算卸载到网络设备上,以提高集群运算速度的目的,而且利用多个网络设备并行运算,有效减少计算等待耗时,以及服务器和网络设备之间的数据传输次数,降低传输等待耗时,从而进一步有效提高集群通信的效率。

技术研发人员:王伟锋
受保护的技术使用者:新华三技术有限公司
技术研发日:
技术公布日:2024/1/16
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1