一种云任务重调度方法和装置
技术领域
本发明涉及云计算技术领域,尤其涉及一种云任务重调度方法和装置。
背景技术
伴随着云计算技术的迅猛发展,大规模云数据中心正在全球各地广泛部署与建立,数据中心导致的高能耗问题日益严重,这已经成为当前云计算技术发展面临的首要挑战。
云计算环境中的任务通常是以有向无循环图模型表达,即工作流模型,是科学计算中常用的应用模型,由多个并行任务组成,其调度问题是NP完全问题。求解这种具有数据依赖和顺序约束条件下的任务调度问题的实质是寻找各个任务与可用资源间的映射关系,满足任务间的时序约束和用户需求的同时,实现目标函数的最优化。
相关研究中,文献[Abrishami S,Naghibzadeh M,Epema D H J.Deadline-constrained workflow scheduling algorithms for infrastructure as a serviceclouds[J].Future Generation Computer Systems,2013,29(1):158-69.]提出了基于局部关键路径的PCP算法,可以在约束期限下最小化任务的执行成本,文献[Liu K,Jin H,Chen J,et al.A compromised-time-cost scheduling algorithm in swindew-c forinstance-intensive cost-constrained workflows on a cloud computing platform[J].International Journal of High Performance Computing Applications,2010,24(4):445-456.]提出了一种成本时间折中优化的任务调度算法,文献[Cao H,Jin H,Wu X,et al.DAGMap:Efficient and dependable scheduling of DAG workflow job in grid[J].The Journal of Supercomputing,2010,51(2):201-223.]基于表调度设计了一种启发式调度算法,可以降低任务执行时间,并提高执行成功率,文献[梁合兰,杜彦华,李苏剑等,时序约束下科学工作流的动态调度研究,系统工程理论与实践,2015,35(9):2410-2421]提出一种基于遗传蚁群混合算法的任务调度方法,文献[刘灿灿,张卫民,骆志刚等,基于路径平衡的工作流费用优化方法,软件学报,2013,24(6):1207-1221]提出截止时间约束下的工作流任务费用优化调度方法,利用路径平衡进行了调度费用优化。以上算法通常只关注优化降低任务执行时间,较少考虑执行能耗问题,这与云资源的实际使用特征相违背,由于云资源执行任务的代价大部分来源于数据中心的能耗。仅仅考虑执行效率而不考虑执行能耗不仅会导致云资源利用率的降低,更会导致资源能效的降低,云任务的调度需要同步考虑执行时间与执行能耗的优化。
发明内容
本发明的主要目的在于提供了一种云任务重调度方法和装置,旨在解决,在确保云任务执行时服务质量的基础上,如何通过高能效的任务调度与资源分配使得数据中心能源消耗能够降低的问题。
为实现上述目的,本发明提供了一种云任务重调度方法,所述方法包括以下步骤:
计算云任务图模型中的各任务优先级,所述云任务图模型包括多个云任务、具有多个资源的原始资源集合、以及多个云任务之间的关系;
根据所述任务优先级生成所述云任务图模型中的关键路径,并将得到的关键路径上对应的各个资源作为关键资源;
根据所述任务优先级、所述关键路径和所述关键资源确定初始任务调度方案;
计算所述初始任务调度方案下各资源的能效值,从所述原始资源集合中移除除所述关键资源之外能效值最低的资源,并关闭所述能效值最低的资源,以对所述原始资源集合进行更新,得到当前资源集合;
对所述当前资源集合进行遍历,分别计算各云任务在遍历到的资源上的最早完成时间,将所述云任务在各个资源上的最早完成时间进行排序,从排序结果中选取值最小的最早完成时间对应的资源作为所述任务的最优调度资源,确定各云任务的最优调度资源,并维持所述关键路径上的任务调度不变,以实现云任务的重调度。
优选地,所述计算云任务图模型中的各任务优先级,具体包括:
计算各云任务在所述云任务图模型中的升秩值和降秩值;
将所述云任务的升秩值和降秩值之和作为所述云任务在所述云任务图模型中的任务优先级的值。
优选地,通过以下公式计算所述云任务在所述云任务图模型中的升秩值;
其中,ni和nj均表示云任务,且云任务ni必须在云任务nj开始前被执行完成;ranku(ni)表示云任务ni的升秩值,succ(ni)表示所述云任务ni的直接后继任务集合,w′i表示所述云任务ni在所有资源上的平均计算时间,ci,j表示所述云任务ni与所述云任务nj之间的通信时间,所述升秩值以递归方式从出口任务开始计算;
通过以下公式计算所述云任务在所述云任务图模型中的降秩值:
其中,pred(ni)表示云任务ni的直接前驱任务集合,所述降秩值以递归方式从入口任务开始计算。
优选地,所述根据所述任务优先级生成所述云任务图模型中的关键路径,并将得到的关键路径上对应的各个资源作为关键资源,具体包括:
将入口任务作为关键路径集合的第一个节点;
在所述入口任务的所有后继任务中选择任务优先级的值最大的云任务作为关键任务,将所述关键任务加入至所述关键路径集合中;
在所述关键任务的所有后继任务中选择任务优先级的值最大的云任务作为下一个关键任务,将所述下一个关键任务加入至所述关键路径集合中直至所述下一个关键任务的后继任务为出口任务,以生成关键路径;
将得到的关键路径上的所有关键任务的资源作为关键资源。
优选地,所述根据所述任务优先级、所述关键路径和所述关键资源确定初始任务调度方案,具体包括:
根据所述任务优先级确定各云任务的调度次序,按照所述调度次序依次计算各云任务的最优资源,所述最优资源表征为所述原始资源集合中能够使得云任务最早完成的资源;其中,所述关键路径上的云任务在所述关键资源上进行调度;
根据得到的各云任务的最优资源确定所述初始任务调度方案。
优选地,所述根据所述任务优先级、所述关键路径和所述关键资源确定初始任务调度方案之前,所述方法还包括:
获取所述云任务在各资源上的执行时间和资源功耗值;
相应地,所述计算所述初始任务调度方案下各资源的能效值,具体包括:
根据所述执行时间和所述资源功耗值计算出所述任务在所述初始任务调度方案下的能效值。
此外,为实现上述目的,本发明还提出一种云任务重调度装置,其特征在于,所述装置包括:
任务优先级确定模块,用于计算云任务图模型中的各任务优先级,所述云任务图模型包括多个云任务、具有多个资源的原始资源集合、以及多个云任务之间的关系;
关键路径确定模块,根据所述任务优先级生成所述云任务图模型中的关键路径,并将得到的关键路径上对应的各个资源作为关键资源;
初始方案生成模块,用于根据所述任务优先级、所述关键路径和所述关键资源确定初始任务调度方案;
能效评估模块,用于计算所述初始任务调度方案下各资源的能效值,从所述原始资源集合中移除除所述关键资源之外能效值最低的资源,并关闭所述能效值最低的资源,以对所述原始资源集合进行更新,得到当前资源集合;
重调度模块,用于对所述当前资源集合进行遍历,分别计算各云任务在遍历到的资源上的最早完成时间,将所述云任务在各个资源上的最早完成时间进行排序,从排序结果中选取值最小的最早完成时间对应的资源作为所述任务的最优调度资源,确定各云任务的最优调度资源,并维持所述关键路径上的任务调度不变,以实现云任务的重调度。
优选地,所述任务优先级确定模块具体包括:
计算单元,用于计算各云任务在所述云任务图模型中的升秩值和降秩值;
确定单元,用于将所述云任务的升秩值和降秩值之和作为所述云任务在所述云任务图模型中的任务优先级的值。
优选地,所述关键路径确定模块具体包括:
首节点确定单元,用于将入口任务作为关键路径集合的第一个节点;
路径生成单元,用于在所述入口任务的所有后继任务中选择任务优先级的值最大的云任务作为关键任务,将所述关键任务加入至所述关键路径集合中;在所述关键任务的所有后继任务中选择任务优先级的值最大的云任务作为下一个关键任务,将所述下一个关键任务加入至所述关键路径集合中直至所述下一个关键任务的后继任务为出口任务,以生成关键路径;
资源确定单元,用于将得到的关键路径上的所有关键任务的资源作为关键资源。
优选地,所述初始方案生成模块具体包括:
最优资源确定单元,用于根据所述任务优先级确定各云任务的调度次序,按照所述调度次序依次计算各云任务的最优资源,所述最优资源表征为所述原始资源集合中能够使得云任务最早完成的资源;其中,所述关键路径上的云任务在所述关键资源上进行调度;
方案生成单元,用于根据得到的各云任务的最优资源确定所述初始任务调度方案。
本发明首先计算云任务图模型中的各任务优先级,并利用任务优先级计算云任务图模型的关键路径和关键资源;其次,以最早完成时间为原则,选择待调度的云任务的相应资源,同时规定关键路径上的云任务仅在关键资源上调度,以形成初始任务调度方案;然后,计算初始调度方案下各资源的能效值,从原始资源集合中移除能效值最低的资源,并关闭该资源以对所述原始资源集合进行更新,得到当前资源集合;最后,利用当前资源集合进行任务重调度,即重新以最早完成时间为原则,为任务选择最优调度资源,以实现云任务的重调度。本发明能够对云任务进行合理高效调度,关闭低能效资源,在确保任务执行服务质量的同时,通过高能效的任务调度与资源分配,降低数据中心能源消耗。
附图说明
图1为本发明云任务重调度方法第一实施例的流程示意图;
图2为本发明一实施例中云任务图模型的结构示意图;
图3为本发明一实施例中资源连通图模型的结构示意图;
图4为本发明一实施例中每个云任务在各资源上的执行时间的结果数据表;
图5为本发明一实施例中在异构资源下各资源的功耗的数据表;
图6为本发明一实施例中出现同质资源情形时在重调度前得到的调度时序的示意图;
图7为本发明一实施例中出现同质资源情形时在重调度前得到的资源动态功耗值和资源静态功耗值;
图8为本发明一实施例中出现同质资源情形时且在重调度之后得到的调度时序的示意图;
图9为本发明一实施例中出现同质资源情形时且在重调度之后得到的资源动态功耗值和资源静态功耗值的数据统计表;
图10为本发明一实施例中出现异构资源时在重调度前得到的调度时序图示意图;
图11为本发明一实施例中出现异构资源情形时在重调度前得到的资源动态功耗值和资源静态功耗值的数据统计表;
图12为本发明一实施例中在异构资源时且进行任务重调度之后得到的调度时序图示意图;
图13为本发明一实施例中出现异构资源情形时且在重调度之后得到的资源动态功耗值和资源静态功耗值的数据统计表;
图14为本发明一种云任务重调度装置的结构框图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
参照图1,图1为本发明一种云任务重调度方法第一实施例的流程示意图。
本实施例中,所述云任务重调度方法包括以下步骤:
步骤S10:计算云任务图模型中的各任务优先级,所述云任务图模型包括多个云任务、具有多个资源的原始资源集合、以及多个云任务之间的关系;
可理解的是,将一个具体的云计算应用表示为有向无循环图DAG模型即云任务图模型,如图2所示,表示为G=(V,E),V为包含v个任务的集合,E为任务间的边集合,每条边(i,j)∈E表示任务间的执行顺序约束,代表任务ni必须在任务nj开始前执行完成。每条边上的权值代表两个任务间的通信代价(时间)。若DAG模型中的任务无任一前驱任务,则称该任务为入口任务nentry,若无任一后继任务,则称该任务为出口任务nexit。
将云资源表示为集合P,P={p1,p2,…,pq},资源间为完全连通拓扑结构,如图3所示,图3为资源连通图模型的结构示意图。W表示v×p的计算代价矩阵,其元素wi,j表示任务ni在资源pj上的计算时间。任务ni的平均计算代价可定义为:
ci,j表示任务ni与nj间的通信时间,即DAG模型中边上的权值。任务间的通信时间可表示为v×v的矩阵。若任务ni与nj调度于相同资源上,则通信时间ci,j=0。
在具体实现中,本实施例需计算云任务图模型中的各任务优先级,即首先计算各云任务在所述云任务图模型中的升秩值和降秩值;
其中,,通过以下公式计算云任务ni在所述云任务图模型中的升秩值:
其中,ni和nj均表示云任务,且云任务ni必须在云任务nj开始前被执行完成;ranku(ni)表示云任务ni的升秩值,succ(ni)表示所述云任务ni的直接后继任务集合,wi'表示所述云任务ni在所有资源上的平均计算时间,ci,j表示所述云任务ni与所述云任务nj之间的通信时间,所述升秩值以递归方式从出口任务开始计算;而对于出口任务nexit,由于其不存在后继任务,故其升秩值为:
ranku(nexit)=w'exit (公式11)
进一步地,通过以下公式计算所述云任务在所述云任务图模型中的降秩值:
其中,pred(ni)表示云任务ni的直接前驱任务集合,所述降秩值以递归方式从入口任务开始计算,而对于入口任务nentry,由于其不存在前驱任务,故其降秩值为:
rankd(nentry)=0
最终将所述云任务的升秩值ranku(ni)和降秩值rankd(ni)之和作为所述云任务ni在所述云任务图模型中的任务优先级priority(ni)的值。
步骤S20:根据所述任务优先级生成所述云任务图模型中的关键路径,并将得到的关键路径上对应的各个资源作为关键资源;
可理解的是,本实施例定义了一个关键路径集合为CP,由从所述云任务图模型的入口任务与出口任务间由优先级的值最大的任务路径组成,在具体实现中:
首先,将入口任务作为关键路径集合的第一个节点,即将入口任务nentry作为第一个任务节点选择至CP中;
然后,在所述入口任务的所有后继任务中选择任务优先级的值最大的云任务作为关键任务,将所述关键任务加入至所述关键路径集合中;在所述关键任务的所有后继任务中选择任务优先级的值最大的云任务作为下一个关键任务,将所述下一个关键任务加入至所述关键路径集合中直至所述下一个关键任务的后继任务为出口任务,以生成关键路径;即在nentry的所有后继任务中,选择优先级priority(ni)值最大的任务,将其加入至CP中;继续寻找上步骤中所找到的任务的后继任务中priority(ni)值最大的任务,将其加入至CP中,直到到达出口任务nexit为止,即可得到任务图的关键路径CP;
最后将得到的关键路径上的所有关键任务的资源作为关键资源,即执行关键路径CP上所有任务的资源即为关键资源,定义为P
CP。选择满足以下条件的资源作为调度所有关键路径任务的资源,即以计算代价最小化为目标,选择关键路径任务的调度资源,定义为P
CP:
步骤S30:根据所述任务优先级、所述关键路径和所述关键资源确定初始任务调度方案。
需要说明的是,在步骤S30之前,需要获取所述云任务在各资源上的执行时间和资源功耗值;
可理解的是,本实施例需要预先构建一个资源能耗模型,资源能耗使用CMOS(Complementary Metal Oxide Semiconductor)功耗模型,资源的总能耗Etotal包括处理器执行任务时的动态能耗Edyn和处理器空闲时的静态能耗Esta,即:
Etotal=Edyn+Esta (公式2)
处理器资源的功耗计算为:
P=ACV2f (公式3)
其中,A表示每个时钟周期内的开关次数,C表示有效电荷,v表示处理器的供电电压,f表示处理器的运行频率。对于特定的处理器资源而言,参数A和C均为常量,因此,动态功耗主要被处理器的电压和频率所影响。
目前的处理器均配置有动态电压/频率调整DVFS功能,即处理器可运行于不同等级的电压/频率上。设处理器资源的频率运行等级为五级,表示为f={f1,f2,f3,f4,f5},运行电压等级对应为V={v1,v2,v3,v4,v5},频率等级与电压等级一一对应,且依次递增。令处理器最小频率为fmin,最大频率为fmax,最低电压等级为vmin,最高电压等级为fmax。则fmin=f1,fmax=f5,vmin=v1,vmax=v5。当处理器处于空闲状态时,以最低频率等级保持运行,此时静态功耗为:
当处理器资源执行任务时,以最高频率等级对任务进行处理,此时动态功耗为:
处理器资源完成最后一个任务后,即可完全关闭,此时能耗为0。对于单个处理器资源pj而言,其执行任务ni的动态能耗为:
对于单个处理器资源pj而言,其静态能耗为:
其中,△widle,j表示处理器pj的空闲时间。则处理器pj的总能耗为:
资源集合P执行任务集合V的总能耗为:
本实施中的步骤S30在具体实现中:
首先根据所述任务优先级确定各云任务的调度次序,按照所述调度次序依次计算各云任务的最优资源,所述最优资源表征为所述原始资源集合中能够使得云任务最早完成的资源;其中,所述关键路径上的云任务在所述关键资源上进行调度;
可理解的是,步骤S30是按任务优先级,依次为云任务选择最优调度资源,同时约定:关键路径上的任务仅在关键资源上进行调度。在为其他任务选择调度资源时,本专利设计的选择标准为:使得该任务在资源上能够得到最早完成时间EFT。
令EST(ni,pj)表示任务ni在资源pj上的最早开始执行时间,EFT(ni,pj)表示任务ni在资源pj上的最早完成时间。对于入口任务,
EST(nentry,pj)=0 (公式12)
对于任务图中的非入口任务,EST和EFT需要从入口任务开始递归计算,计算方法如公式5和公式6。为了计算ni的EFT,ni的所有直接前驱任务必须保证已经完成。
EFT(ni,pj)=wi,j+EST(ni,pj)(公式14)
其中,pred(ni)为任务ni的直接前驱任务集合,avail[j]为资源j对于任务执行的最早就绪时间。若任务nk是资源pj上最后的调度任务,则avail[j]为资源pj完成nk的时间,即此时资源pj处于就绪状态,可执行其他任务。EST等式中内层max即是返回该就绪时间,即任务ni所需的全部数据到达资源pj的时间。
最优资源选择(最早完成时间EFT)即需要满足以下条件:
任务nm调度至资源pj后,nm上资源pj上的最早开始时间和最早完成时间分别等于实际开始时间AST(nm)和实际完成时间AFT(nm)。任务图中的所有任务被调度后,调度长度makespan(总体完成时间)即为出口任务nexit的实际完成时间,即:
makespan=AFT(nexit) (公式17)
根据任务优先级得到的任务调度次序以及以最早完成时间为标准得到的最优调度资源,即可得到初始的任务调度方案。
步骤S40:计算所述初始任务调度方案下各资源的能效值,从所述原始资源集合中移除除所述关键资源之外能效值最低的资源,并关闭所述能效值最低的资源,以对所述原始资源集合进行更新,得到当前资源集合;
在具体实现中,得到初始任务调度方案后,需要评估在初始任务调度方案下的资源能效。令EEj表示资源pj的能效值,表示资源pj实际执行任务的动态能耗占资源pj开启状态下的总体能耗的比例,资源pj开启状态下的总体能耗为资源执行的动态能耗与资源空闲时的静态能耗之和,即:
得到每个资源的能效值后,按能效值对资源进行降序排列,删除除关键资源外能效值最小的资源。若初始可用资源集合为P={p1,p2,…,ph…,pq},其中,资源ph为能效值最小的资源,则删除资源ph,得到当前资源集合P`;
步骤S50:对所述当前资源集合进行遍历,分别计算各云任务在遍历到的资源上的最早完成时间,将所述云任务在各个资源上的最早完成时间进行排序,从排序结果中选取值最小的最早完成时间对应的资源作为所述任务的最优调度资源,确定各云任务的最优调度资源,并维持所述关键路径上的任务调度不变,以实现云任务的重调度。
可理解的是,在上述步骤S40中已根据能效值,移除能效值最小的资源后,进而更新初始可用资源集合P,将更新后的当前资源集合定义为P’=P/{ph}={p1,p2,…,pq};
相应地,步骤S50在具体实现中,在确定更新后的当前资源集合P`以后,再次按照上述步骤S30中所述描述的最早完成时间最小minEFT的原则,重新计算每个云任务的最优资源,将所述步骤S50中的最优资源称之为最优调度资源;同时,关键资源保持不变,调度所有关键路径上的任务,并形成最终的任务调度方案,关闭能效值最小的资源ph,节省能耗。
本实施例首先计算云任务图模型中的各任务优先级,并利用任务优先级计算云任务图模型的关键路径和关键资源;其次,以最早完成时间为原则,选择待调度的云任务的相应资源,同时规定关键路径上的云任务仅在关键资源上调度,以形成初始任务调度方案;然后,计算初始调度方案下各资源的能效值,从原始资源集合中移除能效值最低的资源,并关闭该资源以对所述原始资源集合进行更新,得到当前资源集合;最后,利用当前资源集合进行任务重调度,即重新以最早完成时间为原则,为任务选择最优调度资源,以实现云任务的重调度,进而能够对云任务进行合理高效调度,关闭低能效资源,在确保任务执行服务质量的同时,通过高能效的任务调度与资源分配,降低数据中心能源消耗。
进一步地,基于上述图1所示的第一实施例,提出本发明方法第二实施例,第二实施例是通过一个具体的算例对设计的任务重调度方法的第一实施例进行分析,算例使用的任务图如图2所示,资源图如图3所示,任务在各资源上的执行时间(以小时为单位)如图4所示。在同质资源和异构资源两种情况下对所提调度方法的有效性进行验证分析。资源为同质时,资源的处理器能力是一样的,即拥有相同的电压和频率,和相同的运级等级,即执行任务时的动态功耗Pdyn和空闲时的静态功耗Psta是完全相同的。资源为异构时,各个资源的处理器能力是不一样的,即拥有不同的电压和频率,对应的动态功耗Pdyn和静态功耗Psta也不一样。
当所有资源为同质时,设置动态功耗Pdyn=9W,静态功耗Psta=3W。当资源为异构时,各个资源功耗取值如图5所示。
调度方法性能的评估依据设置为时间与能耗的权重函数F:
F=α×Makespan+β×Energy
其中,α表示时间因子,β表示能耗因子,α、β∈[0,1],且α+β=1,实验中取α=β=0.5,即对时间优化与能耗优化具有同等的偏好。Makepsan表示任务的调度长度,Energy表示完成所有任务调度时资源上的能耗。关闭能效值最小的资源,可以降低总体能耗,但有可能导致调度长度的增加,但在调度长度和能耗的综合性能上可以通过上式作出评估。
第一,在出现同质资源情形时,任务重调度前得到的任务调度时序图如图6所示。各资源的能耗及其能效值情况如图7所示。可以看出,资源P5上没有任务调度,其中资源中能效值最低的资源为P3,P3在重调度时将被移除资源集合。此时所有资源的能耗之和为312+324+189+759=1584kwh,任务调度长度makespan=115s。此时,F重调度前=849.5。
进一步地,进行任务重调度后的调度时序图如图8所示。各资源的能耗及其能效值情况如图9所示。
可以看出,资源P3被关闭,不产生能耗。此时所有资源的能耗之和为333+165+924=1422kwh,任务调度长度makespan=124s,总能耗得到降低,且调度略有增加。此时,F重调度后=773<F重调度前,综合性能更优。
第二,在出现异构资源情形时,在任务重调度前得到的任务调度时序图如图10所示。各资源的能耗及其能效值情况如图11所示。可以看出,资源P5没有任务调度,其他资源中能效值最低的资源为P2,P2在重调度时将被移除资源集合。此时所有资源的能耗之和为250+304.5+73+611.8=1239.3kwh,任务调度长度makespan=115s。此时,F重调度前=677.15。
进行任务重调度后的调度时序图如图12所示。各资源的能耗及其能效值情况如图13所示。可以看出,资源P3被关闭,不产生能耗。此时所有资源的能耗之和为248.2+142.5+777.6=1168.3kwh,任务调度长度makespan=124s,总能耗得到降低,调度长度略有增加。此时,F重调度后=646.15<F重调度前,综合性能更优。
本实施例的算例测试结果表明,本发明的云任务重调度方法在资源同质和异构情况下,可以实现调度长度与执行能耗综合性能的优化。
此外,参照图14,本发明还提出一种云任务重调度装置实施例,本实施例中,所述云任务重调度装置包括:
任务优先级确定模块10,用于计算云任务图模型中的各任务优先级,所述云任务图模型包括多个云任务、具有多个资源的原始资源集合、以及多个云任务之间的关系;
关键路径确定模块20,根据所述任务优先级生成所述云任务图模型中的关键路径,并将得到的关键路径上对应的各个资源作为关键资源;
初始方案生成模块30,用于根据所述任务优先级、所述关键路径和所述关键资源确定初始任务调度方案;
能效评估模块40,用于计算所述初始任务调度方案下各资源的能效值,从所述原始资源集合中移除除所述关键资源之外能效值最低的资源,并关闭所述能效值最低的资源,以对所述原始资源集合进行更新,得到当前资源集合;
重调度模块50,用于对所述当前资源集合进行遍历,分别计算各云任务在遍历到的资源上的最早完成时间,将所述云任务在各个资源上的最早完成时间进行排序,从排序结果中选取值最小的最早完成时间对应的资源作为所述任务的最优调度资源,确定各云任务的最优调度资源,并维持所述关键路径上的任务调度不变,以实现云任务的重调度。
可理解的是,本实施的云任务重调度装置可以是一种服务器,本发明云任务重调度装置的具体实现方式可参照上述云任务重调度方法实施例,此处不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。