System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种数据处理方法及计算集群技术_技高网

一种数据处理方法及计算集群技术

技术编号:40500691 阅读:11 留言:0更新日期:2024-02-26 19:27
一种数据处理方法及计算集群,用于解决现有的allreduce操作中数据传输的总数据量和总传输次数较大的问题。其中,数据处理方法应用于计算集群中,计算集群包括计算节点,计算节点包括N个计算单元和第一交换机,N个计算单元连接至第一交换机中。方法包括:第一交换机获取allreduce任务的任务信息,任务信息用于指示参与allreduce任务的、且属于该计算节点的计算单元为N个;N个计算单元分别发送各自的待聚合数据至第一交换机,每个待聚合数据为对应计算单元中的I个分片中的第i个分片。第一交换机根据任务信息识别所接收的数据为待聚合数据,对待聚合数据执行allreduce操作得到聚合数据。

【技术实现步骤摘要】

本申请涉及计算机,尤其涉及一种数据处理方法及计算集群


技术介绍

1、在高性能计算(high performance computing,hpc)或人工智能(artificialintelligence,ai)模型训练的过程中,需要使用聚合通信操作来完成系统中多个计算单元之间的数据同步等操作。常用的聚合通信操作包括allreduce(全局归约)操作,allreduce操作具体是将不同计算单元中的数据归约至某一个计算单元中,以得到聚合结果,随后,该计算单元再将聚合结果分发给其他的各个计算单元中。

2、在allreduce操作中,系统内传输数据的总数据量和总传输次数较大,以总传输数据量为例,假设多个计算单元生成数据的总数据量是x,那么在allreduce操作中,系统内各计算单元之间传输数据的总数据量约是2x。

3、如何减少allreduce操作中数据传输的总数据量和总传输次数,是目前亟待解决的技术问题。


技术实现思路

1、第一方面,本申请提供一种数据处理方法,数据处理方法应用于计算集群中,计算集群包括计算节点,计算节点包括n个计算单元和第一交换机,n个计算单元连接至第一交换机中;方法包括:第一交换机获取allreduce任务的任务信息,其中,任务信息用于指示参与allreduce任务的、且属于计算节点的计算单元为n个;n个计算单元分别发送各自的待聚合数据至第一交换机,其中,每个待聚合数据为对应计算单元中的i个分片中的第i个分片。相应的,第一交换机根据任务信息识别所接收的数据为待聚合数据,并对所接收的待聚合数据执行allreduce操作得到聚合数据;其中,n、i、i为正整数,且i小于i。

2、上述技术方案中,allreduce操作发生在交换机侧,各计算单元的待聚合数据无需经过多次数据传输,以发送至某个计算单元;聚合之后的聚合数据无需经过多次数据传输,以发送至其他的各计算单元,有助于减少allreduce操作中数据传输的总数据量和总传输次数。

3、在一种可能的实现方式中,第一交换机还将聚合数据发送至n个计算单元。

4、上述技术方案中,当参与该allreduce任务的计算节点只有一个时,第一交换机生成的聚合数据即为该allreduce任务的最终聚合结果,第一交换机可将该聚合结果发送至n个计算单元中,从而完成该allreduce任务。

5、在一种可能的实现方式中,计算集群还包括第二交换机,第二交换机用于连接计算节点中的交换机及计算集群中的其他计算节点的交换机;当任务信息还指示参与allreduce任务的计算节点的数量大于1时,第一交换机还将聚合数据发送至第二交换机。相应的,第二交换机将聚合数据和其他计算节点内的交换机发送的聚合数据进行聚合,并将得到的聚合结果发送至第一交换机。第一交换机将聚合结果分别发送至n个计算单元。

6、上述技术方案中,当参与该allreduce任务的计算节点为多个时,第一交换机生成的聚合数据即为该allreduce任务的中间聚合结果,第一交换机还需要将该中间聚合结果发送给第二交换机,相应的,第二交换机聚合多个中间聚合结果以得到最终聚合结果,随后,第二交换机将得到的最终聚合结果发送至多个计算节点各自的交换机中。相应的,第一交换机可以将来自第二交换机的最终聚合结果发送至n个计算单元,从而完成allreduce任务。

7、在一种可能的实现方式中,每个计算单元中的待聚合数据的存储地址的首地址的低位地址相同;在n个计算单元分别发送各自的待聚合数据至第一交换机之前,每个计算单元通过首地址的低位地址,确定第一交换机为对待聚合数据进行聚合的交换机。

8、上述技术方案中,考虑到计算节点中实际包括多个交换机,且n个计算单元均能够连接至该多个交换机的每个交换机中。为保障n个计算单元能够将待聚合数据发送至同一个交换机(即第一交换机)中,设置每个计算单元中待聚合数据的存储地址的首地址的低位地址相同,随后,每个计算单元能够根据相同的首地址的低位地址,确定出相同的交换机。

9、在一种可能的实现方式中,第一交换机在将聚合数据发送至第二交换机之前,还获取每个计算单元中的待聚合数据的存储地址的首地址的低位地址,通过首地址的低位地址,确定第二交换机为对聚合数据进行进一步聚合的交换机。

10、上述技术方案中,考虑到每个计算节点中的交换机还能够向上连接多个交换机,为保障每个计算节点中的交换机能够将聚合数据发送至同一个交换机(即第二交换机)中,设计每个计算节点中的交换机根据相同的首地址的低位地址,确定出相同的交换机。

11、在一种可能的实现方式中,n个计算单元中的每个计算节点将任务信息和待聚合数据一起发送至第一交换机。在一种可能的实现方式中,每个计算节点向第一交换机发送第一聚合请求,该第一聚合请求的载荷(payload)中包括任务信息和待聚合数据。

12、上述技术方案中,每个计算节点将任务信息和待聚合数据一起发送至第一交换机,第一交换机中无需提前配置allreduce任务的任务信息,有助于提高聚合效率。

13、在一种可能的实现方式中,在n个计算单元分别发送各自的待聚合数据至第一交换机之前,还包括:控制单元将任务信息发送至第一交换机,其中,控制单元是n个计算单元中的一个。在一种可能的实现方式中,每个计算节点向第一交换机发送第一聚合请求,该第一聚合请求的payload中包括待聚合数据。

14、上述技术方案中,第一交换机中预先配置allreduce任务的任务信息,该allreduce任务的任务信息无需在聚合请求中发送,有助于减少聚合请求中的payload。

15、在一种可能的实现方式中,n个计算单元通过allreduce操作的操作码以指示第一交换机对待聚合数据执行allreduce操作。如此,配置方法更简单。

16、在一种可能的实现方式中,n个计算单元通过第一交换机的预留地址以指示第一交换机对待聚合数据执行allreduce操作。如此,兼容性更高,可兼容现有的传输协议。

17、在一种可能的实现方式中,计算单元还获取配置信息和切分策略;根据切分策略,确定参与allreduce任务的n个计算单元,n为大于1的整数,n个计算单元包括n个计算单元;根据配置信息和n个计算单元,生成allreduce任务的任务信息。

18、第二方面,本申请提供一种计算集群,计算集群包括计算节点,计算节点包括n个计算单元和第一交换机,n个计算单元连接至第一交换机中;第一交换机,用于获取allreduce任务的任务信息,任务信息用于指示参与allreduce任务的、且属于计算节点的计算单元为n个;n个计算单元,用于分别发送各自的待聚合数据至第一交换机,其中,每个待聚合数据为对应计算单元中的i个分片中的第i个分片;第一交换机,还用于根据任务信息识别所接收的数据为待聚合数据,并对所接收的待聚合数据执行allreduce操作得到聚合数据;其中,n、i、i为正整数本文档来自技高网...

【技术保护点】

1.一种数据处理方法,其特征在于,用于计算集群,所述计算集群包括计算节点,所述计算节点包括N个计算单元和第一交换机,所述N个计算单元连接至所述第一交换机中;

2.如权利要求1所述的方法,其特征在于,还包括:

3.如权利要求1所述的方法,其特征在于,所述计算集群还包括第二交换机,所述第二交换机用于连接所述计算节点中的交换机及所述计算集群中的其他计算节点的交换机;

4.如权利要求1至3任意一项所述的方法,其特征在于,每个计算单元中的待聚合数据的存储地址的首地址的低位地址相同;

5.如权利要求1-4任意一项所述的方法,其特征在于,所述N个计算单元中的每个计算节点将所述任务信息和所述待聚合数据一起发送至所述第一交换机。

6.如权利要求1-4任意一项所述的方法,其特征在于,在所述N个计算单元分别发送各自的待聚合数据至所述第一交换机之前,还包括:

7.如权利要求1-6任意一项所述的方法,其特征在于,所述N个计算单元通过所述allreduce操作的操作码以指示所述第一交换机对所述待聚合数据执行所述allreduce操作;</p>

8.一种计算集群,其特征在于,所述计算集群包括计算节点,所述计算节点包括N个计算单元和第一交换机,所述N个计算单元连接至所述第一交换机中;

9.如权利要求8所述的计算集群,其特征在于,所述第一交换机还用于将所述聚合数据发送至所述N个计算单元。

10.如权利要求8所述的计算集群,其特征在于,所述计算集群还包括第二交换机,所述第二交换机用于连接所述计算节点中的交换机及所述计算集群中的其他计算节点的交换机;

11.如权利要求8至10任意一项所述的计算集群,其特征在于,每个计算单元中的待聚合数据的存储地址的首地址的低位地址相同;

12.如权利要求8-11任意一项所述的计算集群,其特征在于,所述N个计算单元中的每个计算节点具体用于将所述任务信息和所述待聚合数据一起发送至所述第一交换机。

13.如权利要求8-11任意一项所述的计算集群,其特征在于,在所述N个计算单元分别发送各自的待聚合数据至所述第一交换机之前,控制单元用于将所述任务信息发送至所述第一交换机,其中,所述控制单元是所述N个计算单元中的一个。

14.如权利要求8-13任意一项所述的计算集群,其特征在于,所述N个计算单元具体用于通过所述allreduce操作的操作码以指示所述第一交换机对所述待聚合数据执行所述allreduce操作;

15.一种计算机可读存储介质,其特征在于,包括计算机程序指令,当所述计算机程序指令被计算设备执行时,所述计算设备实现如权利要求1-7任意一项所述的方法中计算单元的功能,或者实现如权利要求1-7任意一项所述的方法中第一交换机的功能。

16.一种计算设备,其特征在于,包括处理器和存储器;所述处理器执行所述存储器中存储的指令,以使得所述计算设备实现权利要求1-7任意一项所述的方法中计算单元的功能,或者实现权利要求1-7任意一项所述的方法中第一交换机的功能。

...

【技术特征摘要】

1.一种数据处理方法,其特征在于,用于计算集群,所述计算集群包括计算节点,所述计算节点包括n个计算单元和第一交换机,所述n个计算单元连接至所述第一交换机中;

2.如权利要求1所述的方法,其特征在于,还包括:

3.如权利要求1所述的方法,其特征在于,所述计算集群还包括第二交换机,所述第二交换机用于连接所述计算节点中的交换机及所述计算集群中的其他计算节点的交换机;

4.如权利要求1至3任意一项所述的方法,其特征在于,每个计算单元中的待聚合数据的存储地址的首地址的低位地址相同;

5.如权利要求1-4任意一项所述的方法,其特征在于,所述n个计算单元中的每个计算节点将所述任务信息和所述待聚合数据一起发送至所述第一交换机。

6.如权利要求1-4任意一项所述的方法,其特征在于,在所述n个计算单元分别发送各自的待聚合数据至所述第一交换机之前,还包括:

7.如权利要求1-6任意一项所述的方法,其特征在于,所述n个计算单元通过所述allreduce操作的操作码以指示所述第一交换机对所述待聚合数据执行所述allreduce操作;

8.一种计算集群,其特征在于,所述计算集群包括计算节点,所述计算节点包括n个计算单元和第一交换机,所述n个计算单元连接至所述第一交换机中;

9.如权利要求8所述的计算集群,其特征在于,所述第一交换机还用于将所述聚合数据发送至所述n个计算单元。

10.如权利要求8所述的计算集群,其特征在于,所述计算...

【专利技术属性】
技术研发人员:谢尚港沈胜宇凌文凯陈天翔
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:

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

1