一种面向异构计算资源的资源调度方法及装置制造方法及图纸

技术编号:32349951 阅读:11 留言:0更新日期:2022-02-20 02:15
本发明专利技术实施例公开一种面向异构计算资源的资源调度方法及装置。应用本发明专利技术实施例提供的方案,能够在当前得到的最优方案中,将关键路径中执行时长最长的子任务调度至其他非关键路径中相应的计算资源,从而可以降低关键路径中所有任务的总执行时长,通过多次循环即可得到执行时长最短的资源分配方案,从而可以降低异构计算的耗时,提高计算速度。并且,以每个子任务的代码量为初始权重分配计算资源,可以根据各计算资源可提供的资源粒度,最大程度地使每个计算资源处于工作状态,充分利用各计算资源。资源。资源。

【技术实现步骤摘要】
一种面向异构计算资源的资源调度方法及装置


[0001]本专利技术涉及资源调度
,具体而言,涉及一种面向异构计算资源的资源调度方法及装置。

技术介绍

[0002]在异构计算平台中,良好的资源管理策略可以提高资源利用率,降低任务开销。然而,在一些应用场景中,单纯从降低任务开销的角度优化,优化效果不够理想,需要从调度的角度对计算速度进行进一步优化。因此,为了降低异构计算的计算速度,亟需一种资源调度方法。

技术实现思路

[0003]本专利技术提供了一种面向异构计算资源的资源调度方法及装置,以提高异构计算的计算速度。具体的技术方案如下。
[0004]第一方面,本专利技术实施例提供一种面向异构计算资源的资源调度方法,所述方法包括:
[0005]接收待处理任务,所述待处理任务包括多个子任务,所述多个子任务之间存在依赖关系;并根据所述多个子任务之间的依赖关系,生成有向无环图DAG;
[0006]获取各计算资源的资源量,并构建异构资源池;所述异构资源池包括所述各计算资源的资源量;所述各计算资源为异构计算资源;
[0007]根据预先设定的各任务与各计算资源的对应关系,以所述DAG中各所述子任务的代码量为初始权重,在所述异构资源池中为各所述子任务分配计算资源,得到初始资源分配方案;并将所述初始资源分配方案作为最优方案;
[0008]根据所述最优方案执行所述DAG中包括的各所述子任务并记录各所述子任务的执行时长;
[0009]根据各所述子任务的执行时长,确定所述DAG中的关键路径,以及所述关键路径中执行时长最长的子任务A,所述关键路径为执行时长最长的路径;从所述子任务A对应的计算资源中随机选择一单位计算资源K,并确定拥有大于一单位计算资源K的非关键路径,从所述非关键路径中确定一单位计算资源K分配至所述子任务A,得到当前资源分配方案;
[0010]判断是否满足预设结束条件;
[0011]当满足所述预设结束条件时,将所述当前资源分配方案作为最终资源分配方案;
[0012]当不满足所述预设结束条件时,根据所述当前资源分配方案执行所述DAG中包括的各所述子任务并记录各所述子任务的执行时长,根据预设评价函数计算所述当前资源分配方案对应的当前取值,以及所述最优方案对应的最优取值,在所述当前取值小于所述最优取值时,使用所述当前资源分配方案更新所述最优方案;并返回执行所述根据所述最优方案执行所述DAG中包括的各所述子任务并记录各所述子任务的执行时长的步骤。
[0013]可选的,所述预设评价函数为:
[0014][0015]L
k
为子任务k的执行时长,L
u
为各所述子任务的平均执行时长,N为所述子任务的总数量。
[0016]可选的,所述从所述非关键路径中确定一单位计算资源K分配至所述子任务A,得到当前资源分配方案之前,所述方法还包括:
[0017]判断是否存在拥有大于一单位计算资源K的非关键路径;
[0018]所述确定拥有大于一单位计算资源K的非关键路径,从所述非关键路径中确定一单位计算资源K分配至所述子任务A,得到当前资源分配方案的步骤包括:
[0019]当存在拥有大于一单位计算资源K的非关键路径时,从所述非关键路径中确定一单位计算资源K分配至所述子任务A,得到当前资源分配方案。
[0020]可选的,所述判断是否存在拥有大于一单位计算资源K的非关键路径之后,所述方法还包括:
[0021]当不存在拥有大于一单位计算资源K的非关键路径时,以所述关键路径中各子任务的执行时长为权重,在所述异构资源池中为各所述子任务分配计算资源,得到当前资源分配方案。
[0022]可选的,所述预设结束条件包括:重复次数到达最大重复次数,或相邻两次根据所述预设评价函数计算得到的最优取值的变化值,连续处于设定范围内的次数达到预设次数。
[0023]第二方面,本专利技术实施例提供一种面向异构计算资源的资源调度装置,所述装置包括:
[0024]任务接收模块,用于接收待处理任务,所述待处理任务包括多个子任务,所述多个子任务之间存在依赖关系;并根据所述多个子任务之间的依赖关系,生成有向无环图DAG;
[0025]资源获取模块,用于获取各计算资源的资源量,并构建异构资源池;所述异构资源池包括所述各计算资源的资源量;所述各计算资源为异构计算资源;
[0026]资源分配模块,用于根据预先设定的各任务与各计算资源的对应关系,以所述DAG中各所述子任务的代码量为初始权重,在所述异构资源池中为各所述子任务分配计算资源,得到初始资源分配方案;并将所述初始资源分配方案作为最优方案;
[0027]任务执行模块,用于根据所述最优方案执行所述DAG中包括的各所述子任务并记录各所述子任务的执行时长;
[0028]任务调度模块,用于根据各所述子任务的执行时长,确定所述DAG中的关键路径,以及所述关键路径中执行时长最长的子任务A,所述关键路径为执行时长最长的路径;从所述子任务A对应的计算资源中随机选择一单位计算资源K,并确定拥有大于一单位计算资源K的非关键路径,从所述非关键路径中确定一单位计算资源K分配至所述子任务A,得到当前资源分配方案;
[0029]条件判断模块,用于判断是否满足预设结束条件;
[0030]方案确定模块,用于在所述条件判断模块判断结果为是时,将所述当前资源分配方案作为最终资源分配方案;
[0031]方案替换模块,用于在所述条件判断模块判断结果为否时,根据所述当前资源分
配方案执行所述DAG中包括的各所述子任务并记录各所述子任务的执行时长,根据预设评价函数计算所述当前资源分配方案对应的当前取值,以及所述最优方案对应的最优取值,在所述当前取值小于所述最优取值时,使用所述当前资源分配方案更新所述最优方案;并触发所述任务执行模块。
[0032]可选的,所述预设评价函数为:
[0033][0034]L
k
为子任务k的执行时长,L
u
为各所述子任务的平均执行时长,N为所述子任务的总数量。
[0035]可选的,所述装置还包括:
[0036]路径判断模块,用于判断是否存在拥有大于一单位计算资源K的非关键路径;
[0037]所述任务调度模块,具体用于在所述路径判断模块确定拥有大于一单位计算资源K的非关键路径时,从所述非关键路径中确定一单位计算资源K分配至所述子任务A,得到当前资源分配方案。
[0038]可选的,所述装置还包括:
[0039]资源确定模块,用于在所述路径判断模块确定不存在拥有大于一单位计算资源K的非关键路径时,以所述关键路径中各子任务的执行时长为权重,在所述异构资源池中为各所述子任务分配计算资源,得到当前资源分配方案。
[0040]可选的,所述预设结束条件包括:重复次数到达最大重复次数,或相邻两次根据所述预设评价函数计算得到的最优取值的变化值,连续处于设定范围内的次数达到预设次本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种面向异构计算资源的资源调度方法,其特征在于,所述方法包括:接收待处理任务,所述待处理任务包括多个子任务,所述多个子任务之间存在依赖关系;并根据所述多个子任务之间的依赖关系,生成有向无环图DAG;获取各计算资源的资源量,并构建异构资源池;所述异构资源池包括所述各计算资源的资源量;所述各计算资源为异构计算资源;根据预先设定的各任务与各计算资源的对应关系,以所述DAG中各所述子任务的代码量为初始权重,在所述异构资源池中为各所述子任务分配计算资源,得到初始资源分配方案;并将所述初始资源分配方案作为最优方案;根据所述最优方案执行所述DAG中包括的各所述子任务并记录各所述子任务的执行时长;根据各所述子任务的执行时长,确定所述DAG中的关键路径,以及所述关键路径中执行时长最长的子任务A,所述关键路径为执行时长最长的路径;从所述子任务A对应的计算资源中随机选择一单位计算资源K,并确定拥有大于一单位计算资源K的非关键路径,从所述非关键路径中确定一单位计算资源K分配至所述子任务A,得到当前资源分配方案;判断是否满足预设结束条件;当满足所述预设结束条件时,将所述当前资源分配方案作为最终资源分配方案;当不满足所述预设结束条件时,根据所述当前资源分配方案执行所述DAG中包括的各所述子任务并记录各所述子任务的执行时长,根据预设评价函数计算所述当前资源分配方案对应的当前取值,以及所述最优方案对应的最优取值,在所述当前取值小于所述最优取值时,使用所述当前资源分配方案更新所述最优方案;并返回执行所述根据所述最优方案执行所述DAG中包括的各所述子任务并记录各所述子任务的执行时长的步骤。2.根据权利要求1所述的方法,其特征在于,所述预设评价函数为:L
k
为子任务k的执行时长,L
u
为各所述子任务的平均执行时长,N为所述子任务的总数量。3.根据权利要求1所述的方法,其特征在于,所述从所述非关键路径中确定一单位计算资源K分配至所述子任务A,得到当前资源分配方案之前,所述方法还包括:判断是否存在拥有大于一单位计算资源K的非关键路径;所述确定拥有大于一单位计算资源K的非关键路径,从所述非关键路径中确定一单位计算资源K分配至所述子任务A,得到当前资源分配方案的步骤包括:当存在拥有大于一单位计算资源K的非关键路径时,从所述非关键路径中确定一单位计算资源K分配至所述子任务A,得到当前资源分配方案。4.根据权利要求3所述的方法,其特征在于,所述判断是否存在拥有大于一单位计算资源K的非关键路径之后,所述方法还包括:当不存在拥有大于一单位计算资源K的非关键路径时,以所述关键路径中各子任务的执行时长为权重,在所述异构资源池中为各所述子任务分配计算资源,得到当前资源分配方案。
5.根据权利要求1-4任一项所述的方法,其特征在于,所述预设结束条件包括:重复次数到达最大重复次数,或相邻两次根据所述预设评价函数计算得到的最优取值的变...

【专利技术属性】
技术研发人员:张佩珩陆天翼张剑
申请(专利权)人:北京超星未来科技有限公司
类型:发明
国别省市:

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

1