面向异构计算系统的任务分配方法、装置、设备和介质制造方法及图纸

技术编号:38707642 阅读:9 留言:0更新日期:2023-09-08 14:48
本发明专利技术涉及多元异构计算技术领域,公开了面向异构计算系统的任务分配方法、装置、设备和介质,获取分布式训练任务的训练信息以及每种类型计算节点的耗时信息;训练信息包括模型信息和硬件信息。基于训练信息、耗时信息以及异构计算系统的网络通信信息,确定出各计算节点的负载耗时;根据各计算节点的负载耗时,确定出各计算节点满足节点耗时均衡条件的单次任务量;依据训练信息以及各计算节点的单次任务量,向各计算节点分配对应的训练任务。在负载均衡时考虑了异构计算系统中不同计算节点的计算性能,同时考虑异构计算系统内的网络资源,使负载均衡的效果更优。实现负载均衡仅调整每个计算节点的单次任务量,不影响分布式训练性能。练性能。练性能。

【技术实现步骤摘要】
面向异构计算系统的任务分配方法、装置、设备和介质


[0001]本专利技术涉及多元异构计算
,特别是涉及面向异构计算系统的任务分配方法、装置、设备和介质。

技术介绍

[0002]随着人工智能(Artificial Intelligence,AI)技术的发展,大型神经网络模型的优势逐渐体现。近年来,多元异构计算系统概念被提出。在多元异构计算系统中,不同计算性能的计算节点会被接入到同一个分布式计算系统中,并用于协同进行分布式训练大型神经网络模型。其中,计算节点可以为异构计算芯片或计算卡。但是大规模分布式训练任务往往非常耗时、效率低下。
[0003]异构计算系统包括多个计算节点和一个参数服务器,计算节点和参数服务器之间的通信可以包括服务器内通信和服务器间通信。在该异构计算系统上,每个计算节点都会训练一个相同且完整的神经网络模型,多个计算节点依靠一个参数服务器进行神经网络模型的参数同步。
[0004]在分布式训练迭代过程中,由于异构计算系统中计算节点性能的差异,以及网络环境的不断变化,造成各计算节点向参数服务器发送梯度的时间不统一,参数服务器需要等待最慢的计算节点发送梯度,因此分布式训练的速度受制于最慢的计算节点,导致分布式训练任务的处理耗时较长。
[0005]可见,如何降低分布式训练任务的处理耗时,是本领域技术人员需要解决的问题。

技术实现思路

[0006]本专利技术实施例的目的是提供一种面向异构计算系统的任务分配方法、装置、设备和介质,可以降低分布式训练任务的处理耗时。
>[0007]为解决上述技术问题,本专利技术实施例提供一种面向异构计算系统的任务分配方法,包括:获取分布式训练任务的训练信息以及每种类型计算节点的耗时信息;其中,所述训练信息包括模型信息和硬件信息;基于所述训练信息、所述耗时信息以及所述异构计算系统的网络通信信息,确定出各计算节点的负载耗时;根据各计算节点的负载耗时,确定出各计算节点满足节点耗时均衡条件的单次任务量;依据所述训练信息以及各计算节点的单次任务量,向各计算节点分配对应的训练任务。
[0008]一方面,所述获取分布式训练任务的训练信息以及每种类型计算节点的耗时信息包括:获取分布式训练任务的训练信息;其中,所述训练信息包括模型参数量、梯度数据
量、异构计算系统中计算节点类型、计算节点总数和所有计算节点的单次任务量总和;依据所述训练信息向每种类型的计算节点下发测试任务,以得到每种类型的计算节点在不同单次任务量下执行测试任务时的计算耗时。
[0009]一方面,所述依据所述训练信息向每种类型的计算节点下发测试任务,以得到每种类型的计算节点在不同单次任务量下执行测试任务时的计算耗时包括:从每种计算节点类型的所有计算节点中选取一个计算节点作为测试节点;向所述测试节点下发不同的测试任务;其中,不同测试任务所对应的单次任务量不同;基于所述测试节点执行不同测试任务的耗时,确定出所述测试节点在不同单次任务量下的计算耗时;记录每种计算节点类型下不同单次任务量各自对应的计算耗时。
[0010]一方面,所述基于所述测试节点执行不同测试任务的耗时,确定出所述测试节点在不同单次任务量下的计算耗时包括:统计所述测试节点每执行一次目标测试任务的训练所产生的训练耗时;其中,所述目标测试任务为所有测试任务中的任意一个测试任务,所述目标测试任务对应目标单次任务量;将设定次数的训练耗时的平均值作为所述测试节点在目标单次任务量下的计算耗时。
[0011]一方面,所述将设定次数的训练耗时的平均值作为所述测试节点在目标单次任务量下的计算耗时包括:从当前统计的所述测试节点执行所述目标测试任务所产生的所有训练耗时中剔除前N次的训练耗时,将剩余满足设定次数的训练耗时的平均值作为所述测试节点在目标单次任务量下的计算耗时。
[0012]一方面,所述基于所述训练信息、所述耗时信息以及所述异构计算系统的网络通信信息,确定出各计算节点的负载耗时包括:获取异构计算系统中各计算节点到参数服务器之间的通信带宽;根据每个计算节点所对应的模型参数量、梯度数据量、通信带宽以及当前单次任务量下对应的计算耗时,确定出每个计算节点的负载耗时。
[0013]一方面,所述通信带宽包括上行带宽和下行带宽;相应的,所述根据每个计算节点所对应的模型参数量、梯度数据量、通信带宽以及当前单次任务量下对应的计算耗时,确定出每个计算节点的负载耗时包括:依据每种类型的计算节点在不同单次任务量下执行测试任务时的计算耗时,确定出与目标计算节点的计算节点类型以及当前单次任务量匹配的目标计算耗时;其中,所述目标计算节点为所有计算节点中的任意一个计算节点;根据所述目标计算节点所对应的模型参数量、梯度数据量、上行带宽、下行带宽以及所述目标计算耗时,确定出所述目标计算节点的负载耗时。
[0014]一方面,所述根据所述目标计算节点所对应的模型参数量、梯度数据量、上行带宽、下行带宽以及所述目标计算耗时,确定出所述目标计算节点的负载耗时包括:依据所述模型参数量与所述下行带宽,确定出下行传输耗时;
依据所述梯度数据量与所述上行带宽,确定出上行传输耗时;将所述上行传输耗时、所述下行传输耗时以及所述目标计算耗时的和值作为所述目标计算节点的负载耗时。
[0015]一方面,所述依据所述模型参数量与所述下行带宽,确定出下行传输耗时包括:将所述模型参数量与所述下行带宽的比值作为下行传输耗时。
[0016]一方面,所述依据所述梯度数据量与所述上行带宽,确定出上行传输耗时包括:将所述梯度数据量与所述上行带宽的比值作为上行传输耗时。
[0017]一方面,针对于每个计算节点的单次任务量的设置,所述方法包括:根据所有计算节点的单次任务量总和与计算节点总数,设置各计算节点的初始单次任务量。
[0018]一方面,所述根据所有计算节点的单次任务量总和与计算节点总数,设置各计算节点的初始单次任务量包括:将所有计算节点的单次任务量总和与计算节点总数的比值作为各计算节点的初始单次任务量。
[0019]一方面,所述根据各计算节点的负载耗时,确定出各计算节点满足节点耗时均衡条件的单次任务量包括:选取所有计算节点的负载耗时最大值和负载耗时最小值;按照设定的任务量调整粒度,依次调整负载耗时最大值对应的第一计算节点的单次任务量以及负载耗时最小值对应的第二计算节点的单次任务量,并重新确定出所述第一计算节点的负载耗时以及所述第二计算节点的负载耗时;在所述第一计算节点的负载耗时以及所述第二计算节点的负载耗时满足设定的耗时偏差条件,则按照设定的任务量调整粒度,反向调整所述第一计算节点和所述第二计算节点的单次任务量,重新确定出所述第一计算节点的负载耗时以及所述第二计算节点的负载耗时,并返回所述选取所有计算节点的负载耗时最大值和负载耗时最小值的步骤;直至负载耗时最大值和负载耗时最小值各自对应的计算节点不变的情况下,则将各计算节点当前对应的单次任务量作为各计算节点满足节点耗时均衡条件的单次任务量。
[0020]一方面,在所述选取所有计算节点的负载耗时本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种面向异构计算系统的任务分配方法,其特征在于,包括:获取分布式训练任务的训练信息以及每种类型计算节点的耗时信息;其中,所述训练信息包括模型信息和硬件信息;基于所述训练信息、所述耗时信息以及所述异构计算系统的网络通信信息,确定出各计算节点的负载耗时;根据各计算节点的负载耗时,确定出各计算节点满足节点耗时均衡条件的单次任务量;依据所述训练信息以及各计算节点的单次任务量,向各计算节点分配对应的训练任务。2.根据权利要求1所述的面向异构计算系统的任务分配方法,其特征在于,所述获取分布式训练任务的训练信息以及每种类型计算节点的耗时信息包括:获取分布式训练任务的训练信息;其中,所述训练信息包括模型参数量、梯度数据量、异构计算系统中计算节点类型、计算节点总数和所有计算节点的单次任务量总和;依据所述训练信息向每种类型的计算节点下发测试任务,以得到每种类型的计算节点在不同单次任务量下执行测试任务时的计算耗时。3.根据权利要求2所述的面向异构计算系统的任务分配方法,其特征在于,所述依据所述训练信息向每种类型的计算节点下发测试任务,以得到每种类型的计算节点在不同单次任务量下执行测试任务时的计算耗时包括:从每种计算节点类型的所有计算节点中选取一个计算节点作为测试节点;向所述测试节点下发不同的测试任务;其中,不同测试任务所对应的单次任务量不同;基于所述测试节点执行不同测试任务的耗时,确定出所述测试节点在不同单次任务量下的计算耗时;记录每种计算节点类型下不同单次任务量各自对应的计算耗时。4.根据权利要求3所述的面向异构计算系统的任务分配方法,其特征在于,所述基于所述测试节点执行不同测试任务的耗时,确定出所述测试节点在不同单次任务量下的计算耗时包括:统计所述测试节点每执行一次目标测试任务的训练所产生的训练耗时;其中,所述目标测试任务为所有测试任务中的任意一个测试任务,所述目标测试任务对应目标单次任务量;将设定次数的训练耗时的平均值作为所述测试节点在目标单次任务量下的计算耗时。5.根据权利要求4所述的面向异构计算系统的任务分配方法,其特征在于,所述将设定次数的训练耗时的平均值作为所述测试节点在目标单次任务量下的计算耗时包括:从当前统计的所述测试节点执行所述目标测试任务所产生的所有训练耗时中剔除前N次的训练耗时,将剩余满足设定次数的训练耗时的平均值作为所述测试节点在目标单次任务量下的计算耗时。6.根据权利要求2所述的面向异构计算系统的任务分配方法,其特征在于,所述基于所述训练信息、所述耗时信息以及所述异构计算系统的网络通信信息,确定出各计算节点的负载耗时包括:获取异构计算系统中各计算节点到参数服务器之间的通信带宽;
根据每个计算节点所对应的模型参数量、梯度数据量、通信带宽以及当前单次任务量下对应的计算耗时,确定出每个计算节点的负载耗时。7.根据权利要求6所述的面向异构计算系统的任务分配方法,其特征在于,所述通信带宽包括上行带宽和下行带宽;相应的,所述根据每个计算节点所对应的模型参数量、梯度数据量、通信带宽以及当前单次任务量下对应的计算耗时,确定出每个计算节点的负载耗时包括:依据每种类型的计算节点在不同单次任务量下执行测试任务时的计算耗时,确定出与目标计算节点的计算节点类型以及当前单次任务量匹配的目标计算耗时;其中,所述目标计算节点为所有计算节点中的任意一个计算节点;根据所述目标计算节点所对应的模型参数量、梯度数据量、上行带宽、下行带宽以及所述目标计算耗时,确定出所述目标计算节点的负载耗时。8.根据权利要求7所述的面向异构计算系统的任务分配方法,其特征在于,所述根据所述目标计算节点所对应的模型参数量、梯度数据量、上行带宽、下行带宽以及所述目标计算耗时,确定出所述目标计算节点的负载耗时包括:依据所述模型参数量与所述下行带宽,确定出下行传输耗时;依据所述梯度数据量与所述上行带宽,确定出上行传输耗时;将所述上行传输耗时、所述下行传输耗时以及所述目标计算耗时的和值作为所述目标计算节点的负载耗时。9.根据权利要求8所述的面向异构计算系统的任务分配方法,其特征在于,所述依据所述模型参数量与所述下行带宽,确定出下行传输耗时包括:将所述模型参数量与所述下行带宽的比值作为下行传输耗时。10.根据权利要求8所述的面向异构计算系统的任务分配方法,其特征在于,所述依据所述梯度数据量与所述上行带宽,确定出上行传输耗时包括:将所述梯度数据量与所述上行带宽的比值作为上行传输耗时。11.根据权利要求6所述的面向异构计算系统的任务分配方法,其特征在于,针对于每个计算节点的单次任务量的设置,所述方法包括:根据所有计算节点的单次任务量总和与计算节点总数,设置各计算节点的初始单次任务量。12.根据权利要求11所述的面向异构计算系统的任务分配方法,其特征在于,所述根据所有计算节点的单次任务量总和与计算节点总数,设置各计算节点的初始单次任务量包括:将所有计算节点的单次任务量总和与计算节点总数的比值作为各计算节点的初始单次任务量。13.根据权利要求6所述的面向异构计算系统的任务分配方法,其特征在于,所述根据各计算节点的负载耗时,确定出各计算节点满足节点耗时均衡条件的单次任务量包括:选取所有计算节点的负载耗时最大值和负载耗时最小值;按照设定的任务量...

【专利技术属性】
技术研发人员:唐轶男郭振华李仁刚赵雅倩王丽高开曹芳
申请(专利权)人:浪潮电子信息产业股份有限公司
类型:发明
国别省市:

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

1