一种集群通信方法、系统、装置、设备及介质制造方法及图纸

技术编号:39288224 阅读:11 留言:0更新日期:2023-11-07 10:58
本发明专利技术提供一种集群通信方法、系统、装置、设备及介质。所述方法通过在网络设备中安装用于加速集群中分布式机器学习或分布式计算的N个计算单元,将网络设备中的单个计算单元扩展为N个计算单元,通过N个计算单元间的相互配合来降低单个计算单元的负载压力,达到提高通信效率的效果。效率的效果。效率的效果。

【技术实现步骤摘要】
一种集群通信方法、系统、装置、设备及介质


[0001]本专利技术涉及通信
,尤其涉及一种集群通信方法、系统、装置、设备及介质。

技术介绍

[0002]为了加快处理速度,可以使用多台服务器组成计算集群进行分布式机器学习。在分布式机器学习中,各个服务器之间需要进行集群通信,也就是一对多或者多对多的通信,例如由四个服务器组成计算集群进行分布式机器学习,每个服务器分别计算出一组数据,然后放在一起进行数据聚合(求和),最终让所有服务器都得到聚合后的数据。相关技术中利用在网计算(In Network Computing)技术将集群通信操作卸载到网络设备(例如交换机)上,以加速集群通信。然而,由于网络设备的算力有限,随着计算集群规模的增加将导致网络设备的负载压力变大,从而影响集群通信的效率。

技术实现思路

[0003]为克服上述技术中存在的问题,本专利技术提供了一种集群通信方法、系统、装置、设备及介质。
[0004]根据本专利技术实施例的第一方面,提供了一种集群通信方法,所述方法应用于网络设备,所述网络设备中安装有用于加速集群的分布式机器学习或分布式计算的N个计算单元,N大于1,所述集群包括M个服务器,所述M个服务器被分布式部署,且所述M个服务器均连接所述网络设备;所述方法包括:接收所述集群中各服务器发送的待聚合的数组;针对接收的每一数组,依据本网络设备中安装的N个计算单元,对接收的该数组中的数据进行划分,以得到每一计算单元对应的子数组;针对每一子数组,将该子数组分配给该子数组对应的计算单元;同一计算单元被分配的不同子数组包含的数据的数量相同,且包含的数据在原数组中的位置相同;任一子数组中的数据的原数组是指该子数组所属的来自服务器发送的待聚合的数组;获得各计算单元基于被分配的子数组进行数据聚合得到的聚合子结果;任一计算单元得到的聚合子结果对应该计算单元被分配的任一子数组中的数据在原数组中的位置;依据获得的各聚合子结果对应的位置,按照顺序对获得的各聚合子结果进行合并得到聚合结果并发送至所述集群中的服务器。
[0005]可选的,所述N个计算单元的类型为业务板卡、CPU或FPGA中的至少一种。
[0006]可选的,该方法之前进一步包括:与所述集群中各服务器协商各服务器与本网络设备进行通信所采用的目标报文长度;所述接收所述集群中各服务器发送的待聚合的数组包括:接收所述集群中各服务器按照被协商的目标报文长度发送的报文,所述报文携带待聚合的数组。
[0007]可选的,所述与所述集群中各服务器协商各服务器与本网络设备进行通信所采用
的目标报文长度包括:向控制器发送本网络设备的网络设备标识以及本网络设备支持的第一报文长度,以使所述控制器确定出各服务器与所述网络设备进行通信所采用的目标报文长度;任一服务器与所述网络设备进行通信所采用的目标报文长度是基于所述第一报文长度和该服务器支持的第二报文长度确定;接收所述控制器发送的集群信息,所述集群信息包括所述集群中各服务器的服务器标识,以及各服务器与所述网络设备进行通信所采用的目标报文长度。
[0008]可选的,依据本网络设备中安装的N个计算单元,对接收的该数组中的数据进行划分之前,所述方法还包括:若该数组的长度大于或等于预设阈值,则继续执行依据本网络设备中安装的N个计算单元,对接收的该数组中的数据进行划分的步骤;该数组的长度是依赖于该数组中包含的数据的数量确定;若该数组的长度小于预设阈值,则指定其中一个计算单元对所有数组进行聚合处理得到聚合结果,并将所述聚合结果发送至所述集群中各服务器。
[0009]根据本专利技术实施例的第二方面,提供了一种集群通信系统,所述系统包括网络设备以及集群中服务器;网络设备,所述网络设备中安装有用于加速集群的分布式机器学习或分布式计算的N个计算单元,N大于1,所述集群包括M个服务器,所述M个服务器被分布式部署,且所述M个服务器均连接所述网络设备;所述M个服务器,用于向网络设备发送待聚合的数组;所述网络设备,用于接收所述集群中各服务器发送的待聚合的数组;针对接收的每一数组,依据本网络设备中安装的N个计算单元,对接收的该数组中的数据进行划分,以得到每一计算单元对应的子数组;针对每一子数组,将该子数组分配给该子数组对应的计算单元;同一计算单元被分配的不同子数组包含的数据的数量相同,且包含的数据在原数组中的位置相同;任一子数组中的数据的原数组是指该子数组所属的来自服务器发送的待聚合的数组;获得各计算单元基于被分配的子数组进行数据聚合得到的聚合子结果;任一计算单元得到的聚合子结果对应该计算单元被分配的任一子数组中的数据在原数组中的位置;依据获得的各聚合子结果对应的位置,按照顺序对获得的各聚合子结果进行合并得到聚合结果并发送至所述集群中的服务器。
[0010]可选的,所述N个计算单元的类型为业务板卡、CPU或FPGA中的至少一种。
[0011]可选的,与所述集群中各服务器协商各服务器与本网络设备进行通信所采用的目标报文长度;所述接收所述集群中各服务器发送的待聚合的数组包括:接收所述集群中各服务器按照被协商的目标报文长度发送的报文,所述报文携带待聚合的数组。
[0012]可选的,所述与所述集群中各服务器协商各服务器与本网络设备进行通信所采用的目标报文长度包括:向控制器发送本网络设备的IP地址以及本网络设备支持的第一报文长度,以使所述控制器确定出各服务器与所述网络设备进行通信所采用的目标报文长度;任一服务器与所述网络设备进行通信所采用的目标报文长度是基于所述第一报文长度和该服务器支持
的第二报文长度确定;接收所述控制器发送的集群信息,所述集群信息包括所述集群中各服务器的服务器标识,以及各服务器与所述网络设备进行通信所采用的目标报文长度。
[0013]可选的,依据本网络设备中安装的N个计算单元,对接收的该数组中的数据进行划分之前,还包括:若该数组的长度大于或等于预设阈值,则继续执行依据本网络设备中安装的N个计算单元,对接收的该数组中的数据进行划分的步骤;该数组的长度是依赖于该数组中包含的数据的数量确定;若该数组的长度小于预设阈值,则指定其中一个计算单元对所有数组进行聚合处理得到聚合结果,并将所述聚合结果发送至所述集群中各服务器。
[0014]根据本专利技术实施例的第三方面,提供了一种集群通信装置,所述装置应用于网络设备,所述网络设备中安装有用于加速集群的分布式机器学习或分布式计算的N个计算单元,N大于1,所述集群包括M个服务器,所述M个服务器被分布式部署,且所述M个服务器均连接所述网络设备;所述装置包括:接收模块,用于接收所述集群中各服务器发送的待聚合的数组;划分模块;用于针对接收的每一数组,依据本网络设备中安装的N个计算单元,对接收的该数组中的数据进行划分,以得到每一计算单元对应的子数组;分配模块,用于针对每一子数组,将该子数组分配给该子数组对应的计算单元;同一计算单元被分配的不同子数组包含的数据的数量相同,且包含的数据在原数组中的位置相同;任一子数组中的数据的原数组是指该子数组所属的来自服务器发送的待聚合的数组;合并模本文档来自技高网
...

【技术保护点】

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

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

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

1