一种集群通信方法及装置、电子设备及可读存储介质制造方法及图纸

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

【技术实现步骤摘要】
一种集群通信方法及装置、电子设备及可读存储介质


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

技术介绍

[0002]为了加快处理速度,可以使用多台服务器组成计算集群进行分布式机器学习和高性能(High Performance Computing,HPC)分布式计算。在分布式机器学习或分布式计算中,各个服务器之间需要进行集群通信,也就是一对多或者多对多的通信。例如,由四个服务器组成计算集群进行分布式机器学习,每个服务器分别计算出一组数据,然后四个服务器之间通信获得4组数据,将4组数据放在一起进行数据聚合(求和),最终让所有服务器都得到聚合后的数据。
[0003]在上述过程中,数据处理和计算过程都是由服务器完成,服务器需要通道多次大量的数据通信交互完成任务计算,然而随着集群规则的增长,大量的消息交互会严重影响分布式机器学习的效率。现有技术中提出在网计算(In

network Computing,INC)技术,在网计算技术将集群通信操作卸载到服务器共同连接的一个网络设备(比如交换设备)上,从而减少服务器之间的消息交互,以加速集群通信。然而,每个服务器每次需要进行集合通信的数据都很多,而网络设备的算力有限,网络设备一次处理的数据有限,这就需要服务器将数据划分,划分的数据串行发送至网络设备,而网络设备也是依次处理,这增加了通信时间和处理时间,从而影响集群通信的效率。

技术实现思路

[0004]有鉴于此,本申请提供一种集群通信方法及装置、电子设备及可读存储介质。
[0005]本申请实施例提供一种集群通信方法,该方法应用于集群中的任一服务器,集群包括M个服务器,M个服务器被分布式部署,且M个服务器与被指定的用于加速集群的分布式机器学习或分布式计算的N个网络设备相连接,N小于或者等于M;该方法包括:针对本服务器待发送到N个网络设备的待聚合的数组,依据N个网络设备,对该数组中的数据进行划分,以得到每一网络设备对应的子数组;针对每一子数组,将该子数组发送至该子数组对应的网络设备;同一网络设备接收到的不同子数组包含的数据的数量相同,且包含的数据在原数组中的位置相同;任一子数组中的数据的原数组是指该子数组所属的来自服务器发送的待聚合的数组;获得各网络设备基于接收到的子数组进行数据聚合得到的聚合子结果;任一网络设备得到的聚合子结果对应该网络设备接收到的任一子数组中的数据在原数组中的位置;依据获得的各聚合子结果对应的位置,按照顺序对获得的各聚合子结果进行合并得到聚合结果。
[0006]本申请实施例还提供一种集群通信装置,该装置应用于集群中的任一服务器,集群包括M个服务器,M个服务器被分布式部署,且M个服务器与被指定的用于加速集群的分布
式机器学习或分布式计算的N个网络设备相连接,N小于或者等于M;该装置包括:划分模块;用于针对本服务器待发送N个网络设备的待聚合的数组,依据N个网络设备,对该数组中的数据进行划分,以得到每一网络设备对应的子数组;发送模块,用于针对每一子数组,将该子数组发送至该子数组对应的网络设备;同一网络设备接收到的不同子数组包含的数据的数量相同,且包含的数据在原数组中的位置相同;任一子数组中的数据的原数组是指该子数组所属的来自服务器发送的待聚合的数组;获得模块,用于获得各网络设备基于接收到的子数组进行数据聚合得到的聚合子结果;任一网络设备得到的聚合子结果对应该网络设备接收到的任一子数组中的数据在原数组中的位置;合并模块,用于依据获得的各聚合子结果对应的位置,按照顺序对获得的各聚合子结果进行合并得到聚合结果。
[0007]本申请实施例提供还一种集群通信系统,该系统包括:集群中的M个服务器以及N个网络设备,M个服务器被分布式部署,且M个服务器与被指定的用于加速集群的分布式机器学习或分布式计算的N个网络设备相连接,N小于或者等于M;其中,任一服务器,用于针对本服务器待发送到N个网络设备的待聚合的数组,依据N个网络设备,对该数组中的数据进行划分,以得到每一网络设备对应的子数组;针对每一子数组,将该子数组发送至该子数组对应的网络设备;同一网络设备接收到的不同子数组包含的数据的数量相同,且包含的数据在原数组中的位置相同;任一子数组中的数据的原数组是指该子数组所属的来自服务器发送的待聚合的数组;获得各网络设备基于接收到的子数组进行数据聚合得到的聚合子结果;任一网络设备得到的聚合子结果对应该网络设备接收到的任一子数组中的数据在原数组中的位置;依据获得的各聚合子结果对应的位置,按照顺序对获得的各聚合子结果进行合并得到聚合结果。
[0008]N个网络设备用于接收集群中各服务器发送的子数组中的数据,并对接收到的子数组进行数据聚合得到的聚合子结果,将该聚合子结果返给各服务器。
[0009]本申请实施例还提供一种电子设备,包括:处理器和用于存储计算机程序指令的存储器,计算机程序指令在被处理器运行时使得处理器执行如上方法的步骤。
[0010]本申请实施例还提供一种机器可读存储介质,该存储介质存储有计算机程序指令,当该计算机程序指令被执行时,能够实现如上方法的步骤。
[0011]由以上技术方案可以看出,本申请实施例中,M个服务器分别连接N个网络设备,通过将每个服务器中待发送的(即待聚合的)数组按照同一划分方式划分为N个子数组,并按照相同的发送方式将N个子数组分别传输至N个网络设备,使每个网络设备中接收到的不同子数组包含的数据的数量相同,且包含的数据在原数组中的位置相同,以使每个网络设备对接收到的子数组进行数据聚合得到的聚合子结果并将该聚合子结果发送至各个服务器,以在各服务器合并得到聚合结果,这实现了将服务器的计算卸载到网络设备上,以提高集群运算速度的目的,并且由于多个网络设备并行运算,服务器和网络设备之间的数据传输次数大幅减少,能够有效减少计算等待耗时,有效降低传输等待耗时,从而有效提高集群通信的效率。
附图说明
[0012]图1a为相关技术中提供的All

Reduce的集群通信方法的示意图。
[0013]图1b为相关技术中提供的HD算法的示意图。
[0014]图1c为相关技术中提供的Ring算法的示意图。
[0015]图1d为相关技术中提供的在网计算的示意图。
[0016]图2为本申请一示例性实施例提供的集群通信方法的流程示意图。
[0017]图3为本申请一示例性实施例提供的All

Reduce的集群通信方法的流程示意图。
[0018]图4为本申请另一实施例提供的集群通信装置的结构示意图。
[0019]图5为本申请一实施例提供的电子设备的结构示意图。
具体实施方式
[0020]这里将详细地对示例性实施例进行说明,其示例标识在附图中。下面的描述涉及附图时,除非另有标识,不同附图中的相同数字标识相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种集群通信方法,其特征在于,所述方法应用于所述集群中的任一服务器,所述集群包括M个服务器,所述M个服务器被分布式部署,且所述M个服务器与被指定的用于加速集群的分布式机器学习或分布式计算的N个网络设备相连接,N小于或者等于M;所述方法包括:针对本服务器待发送到所述N个网络设备的待聚合的数组,依据所述N个网络设备,对该数组中的数据进行划分,以得到每一网络设备对应的子数组;针对每一子数组,将该子数组发送至该子数组对应的网络设备;同一网络设备接收到的不同子数组包含的数据的数量相同,且包含的数据在原数组中的位置相同;任一子数组中的数据的原数组是指该子数组所属的来自服务器发送的待聚合的数组;获得各网络设备基于接收到的子数组进行数据聚合得到的聚合子结果;任一网络设备得到的聚合子结果对应该网络设备接收到的任一子数组中的数据在原数组中的位置;依据获得的各聚合子结果对应的位置,按照顺序对获得的各聚合子结果进行合并得到聚合结果。2.根据权利要求1所述的方法,其特征在于,该方法之前进一步包括:与各网络设备协商各网络设备与本服务器进行通信所采用的目标报文长度;其中,所述将该子数组发送至该子数组对应的网络设备,包括:按照被协商的目标报文长度向该网络设备发送报文,所述报文中携带该网络设备对应的子数组。3.根据权利要求2所述的方法,其特征在于,所述与各网络设备协商各网络设备与本服务器进行通信所采用的目标报文长度,包括:向控制器发送本服务器的服务器标识、以及本服务器支持的第一报文长度,以使所述控制器确定出本服务器与各网络设备进行通信所采用的目标报文长度;本服务器与任一网络设备进行通信所采用的目标报文长度是基于所述第一报文长度和该网络设备支持的第二报文长度确定;接收控制器下发的被指定的N个网络设备各自的设备标识、以及各网络设备与本服务器进行通信所采用的目标报文长度。4.根据权利要求1所述的方法,其特征在于,在所述依据N个网络设备,对该数组中的数据进行划分之前,所述方法还包括:若该数组的长度大于预设阈值,则继续执行依据N个网络设备,对该数组中的数据进行划分的步骤;所述数组的长度是依赖于所述数组中包含的数据的数量确定;若该数组的长度小于或者等于预设阈值,则将该数组发送至所述N个网络设备中被指定的一个网络设备,以由该网络设备对接收到的所有数组进行聚合处理得到聚合结果并将所述聚合结果发送至所述集群中各服务器。5.一种集群通信装置,其特征在于,所述装置应用于所述集群中的任一服务器,所述集群包括M个服务器,所述M个服务器被分布式部署,且所述M个服务器与被指定的用于加速集群的分布式机器学习或分...

【专利技术属性】
技术研发人员:王伟锋
申请(专利权)人:新华三技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1