本发明涉及计算机,特别是涉及一种异构设备调度方法、装置、设备、系统及存储介质。
背景技术:
1、随着大数据、云计算技术的发展,单台计算设备已经不能满足大规模计算任务的需求,由此产生了多计算设备的调度问题。随着计算规模的扩大,多元异构计算设备的调度问题是大规模计算资源调度中必须解决的问题。
2、目前在多元异构计算设备的调度问题中,主要以高效能调度(es)为目标,旨在进行工作量分布时最大限度地减少计算时间和精度损失。但在实际应用中,由计算带来的能源和环境代价未被考虑。
3、提供一种兼顾高效和节能的异构计算系统调度方法,是本领域技术人员需要解决的技术问题。
技术实现思路
1、本发明的目的是提供一种异构设备调度方法、装置、设备、系统及存储介质,用于实现兼顾高效和节能的异构计算设备调度方案。
2、为解决上述技术问题,本发明提供一种异构设备调度方法,包括:
3、根据任务类型与异构计算设备信息,测试得到各异构计算设备执行任务的耗时参数和能耗参数;
4、根据所述耗时参数和所述能耗参数,计算得到各所述异构计算设备执行所述任务的代价参数;
5、根据各所述代价参数,构建将所述任务分配至所述异构计算设备的代价最小化优化函数;
6、求解所述代价最小化优化函数,得到将所述任务分配至所述异构计算设备的调度方案;
7、执行所述调度方案,以将所述任务分配至对应的所述异构计算设备。
8、在一些实施中,所述根据各所述代价参数,构建将所述任务分配至所述异构计算设备的代价最小化优化函数,包括:
9、以所述异构计算设备为背包,以所述任务为需放入所述背包的物品,构建多元异构最小代价最大背包问题。
10、在一些实施中,各所述任务均为相同类型的独立任务;
11、所述根据任务类型与异构计算设备信息,测试得到各异构计算设备执行任务的耗时参数和能耗参数,包括:
12、根据所述任务类型与所述异构计算设备信息,测试得到各所述异构计算设备执行不同数量的所述任务的第一耗时参数和第一能耗参数;
13、所述根据所述耗时参数和所述能耗参数,计算得到各所述异构计算设备执行所述任务的代价参数,包括:
14、根据所述第一耗时参数和所述第一能耗参数,计算得到各所述异构计算设备执行不同数量的所述任务时需付出代价的代价函数。
15、在一些实施中,所述根据各所述代价参数,构建将所述任务分配至所述异构计算设备的代价最小化优化函数,通过下式表示:
16、
17、其中,ni={li,li+1,……,ui};
18、
19、
20、
21、xij∈{0,1}:
22、其中,cij为第i个所述异构计算设备执行j个所述任务时的所述代价参数;xij为第i个所述异构计算设备执行j个所述任务的判断因子,当第i个所述异构计算设备执行j个所述任务时xij为1,当第i个所述异构计算设备执行所述任务的数量不为j时xij为0;ni为第i个所述异构计算设备允许执行任务数量的集合;wij为第i个所述异构计算设备执行j个所述任务时的负载大小;li为第i个所述异构计算设备允许执行任务数量的下限值;ui为第i个所述异构计算设备允许执行任务数量的上限值;y为各所述异构计算设备的允许总负载下限值;t为各所述异构计算设备的允许总负载上限值;n为所述异构计算设备的总数。
23、在一些实施中,所述求解所述代价最小化优化函数,得到将所述任务分配至所述异构计算设备的调度方案,包括:
24、自背包容量为0开始逐渐增加所述背包容量,采用递推法求解每个所述背包容量对应的所述多元异构最小代价最大背包问题,直至获得所有所述异构计算设备的所述调度方案。
25、在一些实施中,所述自背包容量为0开始逐渐增加所述背包容量,采用递推法求解每个所述背包容量对应的所述多元异构最小代价最大背包问题,直至获得所有所述异构计算设备的所述调度方案,包括:
26、初始化最小代价数组和局部最优解矩阵;
27、计算得到所述异构计算设备的数量为1时的初始最优解,并在所述初始最优解的基础上推算所述异构计算设备的数量每累加1时对应的递推最优解;
28、自所述最小代价数组中搜索得到最优背包容量值,并根据所述最优背包容量值计算得到对应的异构计算设备调度方案的总代价值,以使得到所有所述异构计算设备对应的所述调度方案时每个所述异构计算设备执行的任务数量符合其任务数量上下限要求。
29、在一些实施中,所述背包容量对应的所述多元异构最小代价最大背包问题,通过下式表示:
30、
31、
32、
33、其中,zr(τ)为所述背包容量为τ时对应的所述多元异构最小代价最大背包问题的解;r为所述背包容量为τ时对应的所述异构计算设备的数量;nr为第r个所述异构计算设备允许执行任务数量的集合;wij为第r个所述异构计算设备执行j个所述任务时的负载大小;x(r)为包含r个所述异构计算设备时的多元异构最小代价最大背包方案;zr-1为上一步所述多元异构最小代价最大背包问题的解。
34、在一些实施中,所述根据任务类型与异构计算设备信息,测试得到各异构计算设备执行任务的耗时参数和能耗参数,包括:
35、根据所述任务类型与所述异构计算设备信息,测试得到各所述异构计算设备执行各所述任务时的第二耗时参数和第二能耗参数;
36、所述根据所述耗时参数和所述能耗参数,计算得到各所述异构计算设备执行所述任务的代价参数,包括:
37、根据所述第二耗时参数和所述第二能耗参数,计算得到各所述异构计算设备执行所述任务的第一代价参数。
38、在一些实施中,所述根据各所述代价参数,所述根据各所述代价参数,构建将所述任务分配至所述异构计算设备的代价最小化优化函数,通过下式表示:
39、
40、其中,
41、
42、xik∈{0,1};
43、其中,aik为第i个所述异构计算设备执行第k个所述任务时的所述代价参数;xik为第i个所述异构计算设备执行第k个所述任务的判断因子,若第i个所述异构计算设备执行第k个所述任务则xik为1,若第i个所述异构计算设备不执行第k个所述任务则xik为0;n为所述异构计算设备的总数;t为所述任务的总数;wik为第i个所述异构计算设备执行第k个所述任务时占用的负载大小;timin为第i个所述异构计算设备的允许负载下限值;timax为第i个所述异构计算设备的允许负载上限值。
44、在一些实施中,所述求解所述代价最小化优化函数,得到将所述任务分配至所述异构计算设备的调度方案,包括:
45、自背包数量为1开始逐渐累加所述背包数量,采用递推法求解每个所述背包数量对应的所述多元异构最小代价最大背包问题,直至获得所有所述异构计算设备的所述调度方案。
46、在一些实施中,所述自背包数量为1开始逐渐累加所述背包数量,采用递推法求解每个所述背包数量对应的所述多元异构最小代价最大背包问题,直至获得所有所述异构计算设备的所述调度方案,包括:
47、初始化最小代价数组和局部最优解矩阵;
48、计算得到所述异构计算设备的数量为1时的初始最优解,并在所述初始最优解的基础上推算所述异构计算设备的数量每累加1时对应的递推最优解;
49、自所述最小代价数组中搜索得到最优背包总容量值,并根据所述最优背包总容量值计算得到对应的异构计算设备调度方案的总代价值,以使得到所有所述异构计算设备对应的所述调度方案时每个所述异构计算设备执行被分配的所述任务符合其允许负载上下限要求。
50、在一些实施中,每个所述背包数量对应的所述多元异构最小代价最大背包问题,通过下式计算得到:
51、
52、z(r)=mink∈[1,t](zr-1(τ-wr)+dr);
53、
54、其中,z(r)为当所述背包数量为r时对应的所述多元异构最小代价最大背包问题的解;τ为r个所述背包对应的总容量;wr为第r个所述异构计算设备执行被分配的所有所述任务的负载大小;drk为第r个所述异构计算设备执行被分配的所有所述任务的所述代价参数;z(r-1)为当所述背包数量为r-1时对应的所述多元异构最小代价最大背包问题的解。
55、在一些实施中,所述根据所述耗时参数和所述能耗参数,计算得到各所述异构计算设备执行所述任务的代价参数,包括:
56、获取输入的效率权重和节能权重;
57、以所述效率权重为所述耗时参数的权重,以所述节能权重为所述能耗参数的权重,对所述耗时参数和所述能耗参数进行加权求和,得到所述代价参数。
58、在一些实施中,所述根据任务类型与异构计算设备信息,测试得到各异构计算设备执行任务的耗时参数和能耗参数,包括:
59、利用历史计算任务中的历史任务类型与历史异构计算设备信息,构建耗时预测数据集;
60、利用所述耗时预测数据集训练得到所述异构计算设备执行所述任务的耗时预测模型;
61、将各所述异构计算设备执行所述任务分别输入所述耗时预测模型,输出各所述异构计算设备执行所述任务的所述耗时参数和所述能耗参数。
62、在一些实施中,所述根据任务类型与异构计算设备信息,测试得到各异构计算设备执行任务的耗时参数和能耗参数,包括:
63、将分布式训练任务划分为不同的子任务后,测试得到分布式训练系统中各所述异构计算设备执行所述子任务时的所述耗时参数和所述能耗参数。
64、在一些实施中,所述根据任务类型与异构计算设备信息,测试得到各异构计算设备执行任务的耗时参数和能耗参数,包括:
65、将联邦学习任务划分为不同的子任务后,测试得到联邦学习系统中各客户端对应的所述异构计算设备执行所述子任务时的所述耗时参数和所述能耗参数。
66、为解决上述技术问题,本发明还提供一种异构设备调度系统,包括:调度节点和多个异构计算设备;
67、其中,各所述异构计算设备分别与所述调度节点连接;
68、所述调度节点用于根据任务类型与异构计算设备信息,测试得到各异构计算设备执行任务的耗时参数和能耗参数;根据所述耗时参数和所述能耗参数,计算得到各所述异构计算设备执行所述任务的代价参数;根据各所述代价参数,构建将所述任务分配至所述异构计算设备的代价最小化优化函数;求解所述代价最小化优化函数,得到将所述任务分配至所述异构计算设备的调度方案;执行所述调度方案,以将所述任务分配至对应的所述异构计算设备。
69、为解决上述技术问题,本发明还提供一种异构设备调度装置,包括:
70、测试单元,用于根据任务类型与异构计算设备信息,测试得到各异构计算设备执行任务的耗时参数和能耗参数;
71、计算单元,用于根据所述耗时参数和所述能耗参数,计算得到各所述异构计算设备执行所述任务的代价参数;
72、构建单元,用于根据各所述代价参数,构建将所述任务分配至所述异构计算设备的代价最小化优化函数;
73、求解单元,用于求解所述代价最小化优化函数,得到将所述任务分配至所述异构计算设备的调度方案;
74、执行单元,用于执行所述调度方案,以将所述任务分配至对应的所述异构计算设备。
75、为解决上述技术问题,本发明还提供一种异构设备调度设备,包括:
76、存储器,用于存储计算机程序;
77、处理器,用于执行所述计算机程序,所述计算机程序被所述处理器执行时实现如上述任意一项所述异构设备调度方法的步骤。
78、为解决上述技术问题,本发明还提供一种存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上述任意一项所述异构设备调度方法的步骤。
79、本发明所提供的异构设备调度方法,通过根据任务类型与异构计算设备信息,测试得到各异构计算设备执行任务的耗时参数和能耗参数后,根据耗时参数和能耗参数计算得到各异构计算设备执行任务的代价参数,进而根据各代价参数,构建将任务分配至异构计算设备的代价最小化优化函数,求解该代价最小化优化函数,得到将任务分配至异构计算设备的调度方案,执行该调度方案,实现了对任务的高效执行的同时降低异构计算系统的能源消耗。
80、本发明还通过将任务分配至多个异构计算设备的调度问题转换为多元异构最小代价最大背包问题,将异构计算设备执行任务所需的负载和所造成的代价转换为背包问题中的背包重量并引入了最小化代价的问题,通过求解多元异构最小代价最大背包问题实现兼顾高效能和节能的异构计算设备调度问题。
81、本发明还通过在分布式训练中分配子任务时,采用每个异构计算设备执行子任务的耗时参数和能耗参数来计算代价参数,进而求解异构计算设备执行分布式训练任务的调度问题,实现分布式训练系统的高效能与节能调度。
82、本发明还通过在联邦学习任务中分配子任务时,采用每个客户端对应的异构计算设备执行子任务时的耗时参数和能耗参数来计算代价参数,进而求解异构计算设备执行联邦学习任务的调度问题,实现联邦学习系统的高效能与节能调度。
83、本发明还提供一种异构设备调度装置、设备、系统及存储介质,具有上述有益效果,在此不再赘述。