耀世娱乐用户注册中心_一种云计算平台任务调度方法、装置和设备与流程
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.f(j)=fitnesstime(j)+1/s(j);
28.其中,所述subtask
j,i
为分配至第j个物理资源的第i个调度任务的能耗,avgtask为所有调度任务的能耗的均值,所述n为染色体对应的调度任务的总数量;
29.所述fitnesstime为与时间有关的染色体效益函数。
30.一种云计算平台任务调度装置,包括:
31.调度任务采集单元,用于获取目标调度任务;
32.集群类型判断单元,用于判断所述目标任务的集群类型,所述集群类型包括线性集群和非线性集群;
33.排序单元,用于基于所述目标任务的集群类型提取所述目标任务对应的排序参数;采用预设排序规则基于所述排序参数对所述目标任务进行排序;
34.调度单元,用于基于排序结果对排序后的目标任务进行调度。
35.可选的,上述云计算平台任务调度装置中,所述排序参数包括时长和能耗;
36.当所述目标任务的集群类型为线性集群时,所述时长指的是所述目标任务对应的最长执行时间,所述能耗指的是所述目标任务对应的总能耗;
37.当所述目标任务的集群类型为非线性集群时,所述时长指的是所述目标任务的执行时长,所述能耗指的是所述目标任务的执行能耗。
38.可选的,上述云计算平台任务调度装置中,所述排序单元在采用预设排序规则基于所述排序参数对所述目标任务进行排序时,具体用于:
39.按照目标任务的能耗对所述目标任务进行排序,能耗越低的目标任务的优先级越高,能耗相同的目标任务,时长越长的目标任务优先级越高,当所述目标任务的集群类型为非线性集群时,将排序结果以及所述目标任务导入所述目标任务所适配的集群中。
40.一种云计算平台任务调度设备,包括:
41.存储器和处理器;
42.所述存储器,用于存储程序;
43.所述处理器,用于执行所述程序,实现上述任一项所述的云计算平台任务调度方法的各个步骤。
44.基于上述技术方案,本发明实施例提供的上述方案,通过基于调度任务的集群类型,选择合适的排序参数,使得在基于排序结果进行调度时,相较于列表启发式,能够对并行的任务进行集群处理,合理降低执行时长;相较于聚类启发式,能够对任务进行预先排序,使其执行顺序更为合理,减少了空闲时间资源的浪费。
附图说明
45.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
46.图1为本技术实施例公开的一种云计算平台任务调度方法的流程示意图;
47.图2为本技术实施例公开的一种云计算平台任务调度装置的结构示意图;
48.图3为遗传算法的调度流程示意图;
49.图4为本技术实施例公开的一种云计算平台任务调度设备的结构示意图。
具体实施方式
50.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
51.首先,对本技术中用到的部分专业词汇进行解释:
52.非线性集群:若在同一个集群中有两个独立的邻居任务,称为非线性集群。
53.线性集群:与非线性集群相对的概念。同一集群中没有两个独立的邻居任务称为线性集群。
54.本技术针对如何将任务分配至合理计算资源,提出一种基于预测的任务调度算法,从而平衡平台的系统响应速度以及平台能耗成本。其基本方案由任务预处理和自适应调度两部分组成。针对任务预处理,对于线性集群,统计其最大任务执行时间及能耗;对于
非线性集群,采用对其进行优先级排序来减少并行性。得到相应任务的列表排序。通过任务预处理得到有序任务序列后,通过构建最小化能耗的效益函数,通过遗传算法对任务进行调度执行,达到平衡系统响应速度以及平台能耗之间的平衡。
55.具体的,参见图1,本技术实施例公开的云计算平台任务调度的具体流程可以包括:
56.步骤s101:获取目标调度任务;
57.所述目标任务为获取到的所需进行调度的所有任务。
58.步骤s102:判断所述目标任务的集群类型,所述集群类型包括线性集群和非线性集群。
59.在获取到所述目标任务以后,会判断所述目标任务的集群类型,判断其属于线性集群还是非线性集群,在判断所述目标任务是线性集群还是非线性集群时,可以通过判断目标的任务是否具有邻居任务的方式,来判断所述目标任务是线性集群还是非线性集群,当所述目标任务具有邻居任务时,该目标任务的集群类型为线性集群,当所述目标任务没有邻居任务时,该目标任务的集群类型为非线性集群。即,当所述目标任务具有邻居任务,且邻居任务的数量大于等于1时,表明所述目标任务的集群类型为线性集群,否则,所述目标任务的集群类型为非线性集群。
60.步骤s103:基于所述目标任务的集群类型提取所述目标任务对应的排序参数。
61.在本技术实施例公开的技术方案中,所述目标任务的集群类型不同,在对所述目标任务进行排序时,所采用的排序参数不同,不同的目标任务的排序参数的值不同,会导致在排序结果中目标任务的优先级不同。
62.在本技术实施例公开的技术方案中,所述排序参数可以包括时长和能耗,当所述目标任务的集群类型为线性集群时和非线性集群时,所述时长和能耗的具体指代对象不同,具体的,当所述目标任务的集群类型为线性集群时,所述时长指的是所述目标任务对应的最长执行时间,所述能耗指的是所述目标任务对应的总能耗,最长执行时间及总能耗指的是单个调度任务的执行时间及能耗;当所述目标任务的集群类型为非线性集群时,所述时长指的是所述目标任务的执行时长,所述能耗指的是所述目标任务的执行能耗。
63.步骤s104:采用预设排序规则基于所述排序参数对所述目标任务进行排序。
64.当所述目标任务的集群类型为线性集群时,本步骤具体为统计所述目标任务对应的最长执行时间以及总能耗,按照预设排序规则对其进行排序,到集群进行执行。
65.当所述目标任务的集群类型为非线性集群时,本步骤具体为通过目标任务的执行时长及能耗按照预设排序规则进行排序,得到有序任务序列。
66.步骤s105:基于排序结果对排序后的目标任务进行调度。
67.在本方案中,步骤s101-s104为本方案的预处理部分,该部分在预处理模块中进行,所述步骤s105为本技术的自适应调度部分,该部分在自适应调度模块中进行。
68.本步骤中,当对所述目标任务排序完成以后,自适应调度模块将时间划分为时间片对待调度的目标任务进行处理,在调度周期内通过相关调度算法对相应任务进行调度,对于当前调度周期内不能处理的任务,将延迟任务存入延迟执行矩阵,在下一调度周期内进行优先考虑。
69.本技术上述实施例公开的技术方案,通过基于调度任务的集群类型,选择合适的
排序参数,使得在基于排序结果进行调度时,相较于列表启发式,能够对并行的任务进行集群处理,合理降低执行时长;相较于聚类启发式,能够对任务进行预先排序,使其执行顺序更为合理,减少了空闲时间资源的浪费。
70.具体的,在本方案中,基于排序结果对排序后的目标任务进行调度时,所采用的调度算法可以为遗传算法,遗传算法(genetic algorithm,ga)最早是由美国的john holland于20世纪70年代提出,该算法是根据大自然中生物体进化规律而设计提出的。是模拟达尔文生物进化论的自然选择和遗传学机理的生物进化过程的计算模型,是一种通过模拟自然进化过程搜索最优解的方法。该算法通过数学的方式,利用计算机仿真运算,将问题的求解过程转换成类似生物进化中的染色体基因的交叉、变异等过程。在求解较为复杂的组合优化问题时,相对一些常规的优化算法,通常能够较快地获得较好的优化结果。遗传算法已被人们广泛地应用于组合优化、机器学习、信号处理、自适应控制和人工生命等领域。采用遗传算法对当前调度周期内目标任务进行调度,能够通过遗传算法的效益函数综合考虑任务执行时长和能耗,达到系统响应速度与能耗之间的平衡。
71.参见图2,所述遗传算法对目标任务的调度流程可以概括为:
72.步骤s201:染色体编码。
73.采用资源-目标任务对应的方式对染色体进行编码。
74.步骤s202:初始种群生成。
75.假设种群大小s,当前调度周期内所需调度的目标任务数m,资源数为r,则初始化生成染色体s条,染色体长度为m,基因取值为[1,r]之间的随机整数。
[0076]
步骤s203:适应度函数。
[0077]
本步骤中,采用染色体上各个资源上分配的任务能耗的标准差来衡量能耗问题,染色体上物理资源的分配任务能耗的标准差适应度函数为:
[0078][0079]
其中,所述subtaskj,i为分配至第j个物理资源的目标任务i的能耗,所述j表示物理资源,avgtask为染色体上所有调度任务(所需调度的目标任务)的能耗的均值,所述n为染色体对应的调度任务的总数量;
[0080]
遗传算法的效益函数定义如下
[0081]
f(j)=fitnesstime(j)+1/s(j)
[0082]
其中fitnesstime为与时间有关的染色体效益函数。
[0083]
效益函数综合考虑任务执行时长及任务能耗,从而得出最优或次优解;所述”与时间有关的染色体效益函数”指的是以任务执行时长为自变量,反应任务执行时长如何影响染色体表现的函数。导向为执行时间越短,其效益越高。可令其为所有任务执行时长排序(从短到长)的倒数;
[0084]
从原理上来说,由于效益函数导向为任务时长越短,能耗距离平均能耗越低,则效益函数越大。而遗传算法的创造思路源于生物进化论中的优胜劣汰的自然选择原则,通过演化来搜索最优或次优解,而时长与能耗存在耦合关系,往往时长越长,能耗越大,故而通过效益函数能够综合考虑任务执行时长和能耗,达到系统响应速度与能耗之间的平衡。
[0085]
步骤s204:交叉变异
[0086]
根据各个个体的适应度值,按照一定的规则或方法从上一代群体中选择出一些优良的个体遗传到下一代群体中。ktlbcga采用轮盘赌选择作为选择操作算子,遗传算法迭代终止条件为迭代到一定代数终止迭代。
[0087]
本实施例公开的技术方案中公开了两种预设排序规则,这两种预设排序规则就能实现对所述目标任务进行排序,其中一个预设排序规则为:
[0088]
按照目标任务的能耗对所述目标任务进行排序,能耗越低的目标任务的优先级越高,能耗相同的目标任务,时长越长的目标任务优先级越高,当所述目标任务的集群类型为非线性集群时,将排序结果以及所述目标任务导入所述目标任务所适配的集群中。
[0089]
另一个预设排序规则为:包括:
[0090]
基于时长对所述目标任务进行排序,得到第一排序结果;
[0091]
基于能耗对所述目标任务进行排序,得到第二排序结果;
[0092]
计算第一排序结果和第二排序结果的均值对所述目标任务进行排序,得到第三排序结果,所述第一排序结果的平均值,可以指的是目标任务在第一排序结果和第二排序结果中排序名字的平均值;
[0093]
如果两个目标任务的第三排序结果相同,则在第二排序结果中优先级越高的目标任务在第三排序结果中的优先级越高;
[0094]
当所述目标任务的集群类型为线性集群时,将排序结果以及所述目标任务导入所述目标任务所适配的集群中。
[0095]
本实施例中公开了一种云计算平台任务调度装置,装置中的各个单元的具体工作内容,请参见上述方法实施例的内容。
[0096]
下面对本发明实施例提供的云计算平台任务调度装置进行描述,下文描述的云计算平台任务调度装置与上文描述的云计算平台任务调度方法可相互对应参照。
[0097]
参见图3,本技术实施例公开的云计算平台任务调度装置可以包括:
[0098]
调度任务采集单元a,用于获取目标调度任务;
[0099]
集群类型判断单元b,用于判断所述目标任务的集群类型,所述集群类型包括线性集群和非线性集群;
[0100]
排序单元c,用于基于所述目标任务的集群类型提取所述目标任务对应的排序参数;采用预设排序规则基于所述排序参数对所述目标任务进行排序;
[0101]
调度单元d,用于基于排序结果对排序后的目标任务进行调度。
[0102]
与上述方法相对应,所述排序单元在采用预设排序规则基于所述排序参数对所述目标任务进行排序时,具体用于:
[0103]
按照目标任务的能耗对所述目标任务进行排序,能耗越低的目标任务的优先级越高,能耗相同的目标任务,时长越长的目标任务优先级越高,当所述目标任务的集群类型为非线性集群时,将排序结果以及所述目标任务导入所述目标任务所适配的集群中。
[0104]
图4为本发明实施例提供的云计算平台任务调度设备的硬件结构图,参见图4所示,可以包括:至少一个处理器100,至少一个通信接口200,至少一个存储器300和至少一个通信总线400;
[0105]
在本发明实施例中,处理器100、通信接口200、存储器300、通信总线400的数量为
至少一个,且处理器100、通信接口200、存储器300通过通信总线400完成相互间的通信;显然,图4所示的处理器100、通信接口200、存储器300和通信总线400所示的通信连接示意仅是可选的;
[0106]
可选的,通信接口200可以为通信模块的接口,如gsm模块的接口;
[0107]
处理器100可能是一个中央处理器cpu,或者是特定集成电路asic(application specific integrated circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。
[0108]
存储器300可能包含高速ram存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
[0109]
其中,处理器100具体用于:
[0110]
获取目标调度任务;
[0111]
判断所述目标任务的集群类型,所述集群类型包括线性集群和非线性集群;
[0112]
基于所述目标任务的集群类型提取所述目标任务对应的排序参数;
[0113]
采用预设排序规则基于所述排序参数对所述目标任务进行排序;
[0114]
基于排序结果对排序后的目标任务进行调度。
[0115]
所述处理器还用于执行上述方法实施例公开的其他步骤,在此不再进行累述。
[0116]
为了描述的方便,描述以上系统时以功能分为各种模块分别描述。当然,在实施本发明时可以把各模块的功能在同一个或多个软件和/或硬件中实现。
[0117]
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统或系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的系统及系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
[0118]
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
[0119]
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的存储介质中。
[0120]
还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵
盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0121]
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。