异构计算系统及其算力节点选择方法、装置、设备、介质与流程

文档序号:35888395发布日期:2023-10-28 18:46阅读:28来源:国知局
异构计算系统及其算力节点选择方法、装置、设备、介质与流程

本发明涉及计算机,特别是涉及一种异构计算系统及其算力节点选择方法、装置、设备、介质。


背景技术:

1、异构计算技术为能够使计算任务的并行性类型(也即代码类型)与机器能有效支持的计算类型(也即机器能力)最相匹配、最能充分利用各种计算资源的并行和分布计算技术。随着人工智能技术的快速发展,能够有效协同处理大量数据的异构计算系统,尤其是多元异构计算系统,被广泛应用在人工智能的相关技术中。

2、相关技术中的异构计算系统存在着算力节点选择不当的问题,导致异构计算系统的资源浪费。鉴于此,在不增加成本的基础上,实现异构计算系统中执行任务的算力节点的最优选择,优化异构计算系统的资源利用率,是所属领域技术人员需要解决的技术问题。


技术实现思路

1、本发明提供了一种异构计算系统的算力节点选择方法、装置、电子设备、可读存储介质及异构计算系统,可以在不增加成本的基础上,实现异构计算系统中执行任务的算力节点的最优选择,优化异构计算系统的资源利用率,有效节省计算资源,还可以提高任务执行效率。

2、为解决上述技术问题,本发明提供以下技术方案:

3、本发明第一方面提供了一种异构计算系统的算力节点选择方法,包括:

4、当接收到携带待执行任务及用户选择的自定义算力节点参数的任务执行请求,根据所述自定义算力节点参数运行所述待执行任务;

5、利用异构计算系统的各测试算力节点,并为每个测试算力节点配置不同的测试任务参数执行待执行任务的方式,生成多个部署至所述异构计算系统的测试任务;

6、基于各测试任务的测试结果和所述自定义算力节点参数,确定使用计算资源最少时的算力调用方案,并基于所述算力调用方案对所述自定义算力节点参数进行相应调整;其中,各测试算力节点与各自定义算力节点所属算力节点类型对应相同;所述算力调用方案包括优化后执行所述待执行任务的执行算力节点及每个执行算力节点对应的目标任务参数;各执行算力节点为自定义算力节点中的部分算力节点。

7、在第一种示例性的实施方式中,所述利用异构计算系统的各测试算力节点,并为每个测试算力节点配置不同的测试任务参数执行待执行任务的方式,生成多个部署至所述异构计算系统的测试任务,包括:

8、通过解析所述任务执行请求,得到分布式训练任务信息;

9、根据所述分布式训练任务信息生成训练测试任务,将所述训练测试任务部署至所述异构计算系统的相应类算力节点;

10、其中,所述分布式训练任务信息携带待训练网络模型及算力节点类型,所述训练测试任务包括多个训练子任务及其各自对应的训练参数。

11、在第二种示例性的实施方式中,各训练子任务对应的训练参数包括批尺寸,所述将所述训练测试任务部署至所述异构计算系统的相应类算力节点,包括:

12、从所述异构计算系统中每一类算力节点中各分别选择一个算力节点作为测试算力节点;

13、将各训练子任务及其对应的批尺寸分别下发至所述异构计算系统的相应类算力节点中选定的算力节点上,以使每个测试算力节点使用不同规模的训练数据对同一个所述待训练网络模型进行训练。

14、在第三种示例性的实施方式中,所述将各训练子任务及其对应的批尺寸分别下发至所述异构计算系统的相应类算力节点中选定的算力节点上,包括:

15、将各训练子任务及其对应的批尺寸下发至所述异构计算系统的相应类算力节点中的空闲算力节点上。

16、在第四种示例性的实施方式中,所述将各训练子任务及其对应的批尺寸下发至所述异构计算系统的相应类算力节点中的空闲算力节点上,包括:

17、对所述异构计算系统的相应类算力节点,判断当前类算力节点是否存在空闲算力节点;

18、若当前类算力节点存在空闲算力节点,则将各训练子任务及其对应的批尺寸下发至当前类算力节点中的空闲算力节点上;若当前类算力节点不存在空闲算力节点,则等待出现空闲算力节点之后,将各训练子任务及其对应的批尺寸下发至当前类算力节点中的空闲算力节点上。

19、在第五种示例性的实施方式中,所述当前类算力节点不存在空闲算力节点之后,还包括:

20、判断当前等待时长是否超过预先设置的等待时长阈值;

21、若当前等待时长超过所述等待时长阈值,则不调整各自定义算力节点及其对应的任务参数。

22、在第六种示例性的实施方式中,所述将各训练子任务及其对应的批尺寸分别下发至所述异构计算系统的相应类算力节点中选定的算力节点上之后,还包括:

23、监控各测试算力节点的任务运行状态;

24、当检测到当前测试算力节点的当前训练子任务处于稳定运行状态,则统计所述当前训练子任务的单次迭代耗时;

25、当检测到所述当前测试算力节点发生显存不足报错,则生成显存不足信息;所述显存不足信息包括报错标识、训练子任务标识、测试算力节点标识及当前批尺寸值;

26、根据每个训练子任务的单次迭代耗时和显存不足信息生成测试结果。

27、在第七种示例性的实施方式中,所述统计所述当前训练子任务的单次迭代耗时之后,还包括:

28、向所述当前测试算力节点发送终止运行所述当前训练子任务,并执行下一个训练子任务的指令。

29、在第八种示例性的实施方式中,所述当检测到所述当前测试算力节点发生显存不足报错之后,还包括:

30、若所述当前测试算力节点存在批尺寸值大于所述当前批尺寸值的目标训练子任务,则生成停止运行所述目标训练子任务的指令。

31、在第九种示例性的实施方式中,所述基于所述算力调用方案对所述自定义算力节点参数进行相应调整,包括:

32、从各自定义算力节点中选择出与各执行算力节点不同的目标算力节点,将其余自定义算力节点的任务参数调整为相对应的执行算力节点的目标任务参数,释放各目标算力节点的资源并将其运行状态置为空闲状态。

33、在第十种示例性的实施方式中,所述待执行任务为多次迭代任务类型,所述基于所述算力调用方案对所述自定义算力节点参数进行相应调整,包括:

34、当所述异构计算系统检测到完成所述待执行任务的当前次迭代更新之后,基于所述算力调用方案对自定义算力节点及其任务参数进行相应调整。

35、在第十一种示例性的实施方式中,所述生成多个部署至所述异构计算系统的测试任务之后,还包括:

36、调用预先创建的测试任务表;所述测试任务表包括测试任务标识条项、测试算力节点类型条项、测试任务参数条项及测试结果条项;

37、根据执行各测试任务的测试算力节点及其相应的测试任务参数、各测试任务的测试结果,对所述测试任务表的相应条项内容进行填充。

38、在第十二种示例性的实施方式中,所述确定使用计算资源最少时的算力调用方案之后,还包括:

39、调用预先创建的节点优化表;所述节点优化表包括执行算力节点类型条项及目标任务参数条项;

40、根据各执行算力节点及其对应的目标任务参数填充所述节点优化表中相应的条项内容,并输出所述节点优化表。

41、在第十三种示例性的实施方式中,所述基于各测试任务的测试结果和所述自定义算力节点参数,确定使用计算资源最少时的算力调用方案,包括:

42、将各测试算力节点中计算性能不满足第一预设目标算力性能条件的第一类测试算力节点的工作负载,依次通过调整任务参数的方式分配至计算性能满足第二预设目标算力性能条件的第二类测试算力节点,直至运行所述待执行任务所使用的计算资源达到最小;

43、将所述异构计算系统当前运行待执行任务的测试算力节点作为执行算力节点,各测试算力节点对应的当前任务参数作为相应的目标任务参数,生成算力调用方案。

44、在第十四种示例性的实施方式中,所述待执行任务为分布式训练任务,所述将各测试算力节点中计算性能不满足第一预设目标算力性能条件的第一类测试算力节点的工作负载,依次通过调整任务参数的方式分配至计算性能满足第二预设目标算力性能条件的第二类测试算力节点,直至运行所述待执行任务所使用的计算资源达到最小,包括:

45、s101:根据所述自定义算力节点参数得到每个自定义算力节点的批尺寸,并根据所述测试结果得到每个测试算力节点的单次迭代耗时;

46、s102:获取当前测试结果中单次迭代耗时最大值的最大耗时算力节点;

47、s103:从当前测试结果中选择单次迭代耗时最小值的最小耗时算力节点,将所述最小耗时算力节点的单次迭代耗时调整为第一目标算力节点的单次迭代耗时,并调大所述最小耗时算力节点对应在自定义算力节点参数中的批尺寸值,同时调小所述最大耗时算力节点对应在自定义算力节点参数中的批尺寸值;其中,所述第一目标算力节点与所述最小耗时算力节点的算力类型相同,且批尺寸值大于所述最小耗时算力节点的批尺寸;

48、s104:若所述最大耗时算力节点对应在自定义算力节点参数中的批尺寸值为0,则执行s105;若所述最大耗时算力节点对应在自定义算力节点参数中的批尺寸值没有为0,更新所述自定义算力节点参数和所述测试结果,并跳转执行s103;

49、s105:若原始的测试结果的单次迭代耗时最大值大于等于更新后的测试结果中的单次迭代耗时最大值,则删除最大耗时算力节点以及其对应的批尺寸和单次迭代耗时,并更新所述自定义算力节点参数和所述测试结果,跳转执行s102,直至原始的测试结果的单次迭代耗时最大值小于更新后的测试结果中的单次迭代耗时最大值。

50、在第十五种示例性的实施方式中,所述将所述最小耗时算力节点的单次迭代耗时调整为第一目标算力节点的单次迭代耗时,并调大所述最小耗时算力节点对应在自定义算力节点参数中的批尺寸值,同时调小所述最大耗时算力节点对应在自定义算力节点参数中的批尺寸值,包括:

51、将所述最小耗时算力节点的单次迭代耗时调整为第一目标算力节点的单次迭代耗时,并按照每次增加第二预设值的方式调大所述最小耗时算力节点对应在自定义算力节点参数中的批尺寸值,同时按照每次减小第三预设值的方式调小所述最大耗时算力节点对应在自定义算力节点参数中的批尺寸值;

52、其中,所述第一目标算力节点与所述最小耗时算力节点的算力类型相同,且批尺寸值比所述最小耗时算力节点的批尺寸值大第一预设值。

53、在第十六种示例性的实施方式中,所述获取当前测试结果中单次迭代耗时最大值的最大耗时算力节点之后,还包括:

54、若所述第一目标算力节点的单次迭代耗时值不存在或为显存不足信息,则从中选择单次迭代耗时仅次于所述最小耗时算力节点的单次迭代耗时的耗时算力节点作为最小耗时算力节点,并跳转执行s103;

55、若遍历所述测试结果中的所有算力节点,均无法成功调整当前最小耗时算力节点的单次迭代耗时值,判断当前更新后的测试结果中的每个测试算力节点的批尺寸是否与所述任务执行请求中用户自定义的批尺寸值是否完全相同;

56、若完全相同,则不对各自定义算力节点及其对应的任务参数进行调整;若不相同,则将更新后的测试结果中的各测试算力节点及其对应在更新后的自定义算力节点参数的批尺寸作为各执行算力节点及其对应的目标任务参数。

57、本发明第二方面提供了一种异构计算系统的算力节点选择方法,包括:

58、当接收到携带待训练网络模型及用户选择的自定义算力节点参数的分布式训练任务执行请求,调用各自定义算力节点基于相应的批尺寸运行所述待训练网络模型;

59、利用异构计算系统的各测试算力节点,并为每个测试算力节点配置不同的批尺寸训练所述待训练网络模型的方式,生成多个部署至所述异构计算系统的测试任务;

60、根据各测试任务的测试结果和所述自定义算力节点参数,确定使用计算资源最少时的算力调用方案,并基于所述算力调用方案对所述自定义算力节点参数进行相应调整;其中,各测试算力节点与各自定义算力节点所属算力节点类型对应相同;所述算力调用方案包括优化后执行所述待执行任务的执行算力节点及每个执行算力节点对应的批尺寸;各执行算力节点为自定义算力节点中的部分算力节点。

61、本发明第三方面提供了一种异构计算系统的算力节点选择装置,包括:

62、任务运行模块,用于接收到携带待执行任务及用户选择的自定义算力节点参数的任务执行请求,根据所述自定义算力节点参数运行所述待执行任务;

63、测试任务部署模块,用于利用异构计算系统的各测试算力节点,并为每个测试算力节点配置不同的测试任务参数执行待执行任务的方式,生成多个部署至所述异构计算系统的测试任务;

64、节点优化模块,用于基于各测试任务的测试结果和所述自定义算力节点参数,确定使用计算资源最少时的算力调用方案,并基于所述算力调用方案对所述自定义算力节点参数进行相应调整;其中,各测试算力节点与各自定义算力节点所属算力节点类型对应相同;所述算力调用方案包括优化后执行所述待执行任务的执行算力节点及每个执行算力节点对应的目标任务参数;各执行算力节点为自定义算力节点中的部分算力节点。

65、本发明第四方面提供了一种异构计算系统的算力节点选择装置,包括:

66、训练任务运行模块,用于当接收到携带待训练网络模型及用户选择的自定义算力节点参数的分布式训练任务执行请求,调用各自定义算力节点基于相应的批尺寸运行所述待训练网络模型;

67、训练任务部署模块,用于利用异构计算系统的各测试算力节点,并为每个测试算力节点配置不同的批尺寸训练所述待训练网络模型的方式,生成多个部署至所述异构计算系统的测试任务;

68、训练节点优化模块,用于根据各测试任务的测试结果和所述自定义算力节点参数,确定使用计算资源最少时的算力调用方案,并基于所述算力调用方案对所述自定义算力节点参数进行相应调整;其中,各测试算力节点与各自定义算力节点所属算力节点类型对应相同;所述算力调用方案包括优化后执行所述待执行任务的执行算力节点及每个执行算力节点对应的目标任务参数;各执行算力节点为自定义算力节点中的部分算力节点。

69、本发明第五方面提供了一种电子设备,包括处理器,所述处理器用于执行存储器中存储的计算机程序时实现如前任一项所述异构计算系统的算力节点选择方法的步骤。

70、本发明第六方面还提供了一种可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如前任一项所述异构计算系统的算力节点选择方法的步骤。

71、本发明第七方面提供了一种异构计算系统,包括多类算力节点和处理器;所述处理器用于执行存储器存储的计算机程序时实现如前任一项所述的异构计算系统的算力节点选择方法所述的异构计算系统的算力节点选择方法的步骤。

72、在一种示例性的实施方式中,所述处理器部署至目标算力节点;

73、所述目标算力节点为异构计算系统中的所有算力节点中算力性能最高的算力节点。

74、在另一种示例性的实施方式中,所述处理器部署至服务器;

75、所述服务器与异构计算系统的每个算力节点均进行通信连接。

76、本发明提供的技术方案的优点在于,异构计算系统在按照用户自己选择的算力节点及相应的任务参数运行待执行任务的过程中,异构计算系统通过少数的测试便可以得到其内各算力节点在不同配置参数下的任务运行结果,以运行待执行任务所使用的计算资源最少为目的,根据不同算力节点的任务运行结果、用户选择的自定义算力节点参数可以自动发现异构算力选择不当的问题,并在用户不感知的情况下自动调节优化运行该待执行任务所使用的异构计算节点。由于最终选择的算力节点为当前运行待执行任务的一部分算力节点,从而可以在不增加成本的基础上,实现异构计算系统中执行任务的算力节点的最优选择,优化异构计算系统的资源利用率,有效节约异构计算系统的计算资源。由于对运行待执行任务的算力节点进行了最优调整,在不需要引入新的高性能节点,也可以得到好的任务执行效果,有利于提高任务执行效率。

77、此外,本发明还针对异构计算系统的算力节点选择方法提供了相应的实现装置、电子设备、可读存储介质及异构计算系统,进一步使得所述方法更具有实用性,所述装置、电子设备、可读存储介质及异构计算系统具有相应的优点。

78、应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本发明。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1