CN108762899B - 一种云任务重调度方法和装置 - Google Patents

一种云任务重调度方法和装置 Download PDF

Info

Publication number
CN108762899B
CN108762899B CN201810473142.8A CN201810473142A CN108762899B CN 108762899 B CN108762899 B CN 108762899B CN 201810473142 A CN201810473142 A CN 201810473142A CN 108762899 B CN108762899 B CN 108762899B
Authority
CN
China
Prior art keywords
task
cloud
resource
key
resources
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201810473142.8A
Other languages
English (en)
Other versions
CN108762899A (zh
Inventor
张小庆
胡亚捷
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Weipai (Wuhan) High tech Co.,Ltd.
Original Assignee
Wuhan Polytechnic University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Wuhan Polytechnic University filed Critical Wuhan Polytechnic University
Priority to CN201810473142.8A priority Critical patent/CN108762899B/zh
Publication of CN108762899A publication Critical patent/CN108762899A/zh
Application granted granted Critical
Publication of CN108762899B publication Critical patent/CN108762899B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5038Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开了一种云任务重调度方法和装置,本发明首先计算云任务图模型中的各任务优先级,并利用任务优先级计算云任务图模型的关键路径和关键资源;其次,以最早完成时间为原则,选择待调度的云任务的相应资源,同时规定关键路径上的云任务仅在关键资源上调度,以形成初始任务调度方案;然后,计算初始调度方案下各资源的能效值,从原始资源集合中移除能效值最低的资源,并关闭该资源以对所述原始资源集合进行更新,得到当前资源集合;最后,利用当前资源集合进行任务重调度,即重新以最早完成时间为原则,为任务选择最优调度资源,以实现云任务的重调度。本发明能够对云任务进行合理高效调度,关闭低能效资源,降低数据中心能源消耗。

Description

一种云任务重调度方法和装置
技术领域
本发明涉及云计算技术领域,尤其涉及一种云任务重调度方法和装置。
背景技术
伴随着云计算技术的迅猛发展,大规模云数据中心正在全球各地广泛部署与建立,数据中心导致的高能耗问题日益严重,这已经成为当前云计算技术发展面临的首要挑战。
云计算环境中的任务通常是以有向无循环图模型表达,即工作流模型,是科学计算中常用的应用模型,由多个并行任务组成,其调度问题是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]提出截止时间约束下的工作流任务费用优化调度方法,利用路径平衡进行了调度费用优化。以上算法通常只关注优化降低任务执行时间,较少考虑执行能耗问题,这与云资源的实际使用特征相违背,由于云资源执行任务的代价大部分来源于数据中心的能耗。仅仅考虑执行效率而不考虑执行能耗不仅会导致云资源利用率的降低,更会导致资源能效的降低,云任务的调度需要同步考虑执行时间与执行能耗的优化。
发明内容
本发明的主要目的在于提供了一种云任务重调度方法和装置,旨在解决,在确保云任务执行时服务质量的基础上,如何通过高能效的任务调度与资源分配使得数据中心能源消耗能够降低的问题。
为实现上述目的,本发明提供了一种云任务重调度方法,所述方法包括以下步骤:
计算云任务图模型中的各任务优先级,所述云任务图模型包括多个云任务、具有多个资源的原始资源集合、以及多个云任务之间的关系;
根据所述任务优先级生成所述云任务图模型中的关键路径,并将得到的关键路径上对应的各个资源作为关键资源;
根据所述任务优先级、所述关键路径和所述关键资源确定初始任务调度方案;
计算所述初始任务调度方案下各资源的能效值,从所述原始资源集合中移除除所述关键资源之外能效值最低的资源,并关闭所述能效值最低的资源,以对所述原始资源集合进行更新,得到当前资源集合;
对所述当前资源集合进行遍历,分别计算各云任务在遍历到的资源上的最早完成时间,将所述云任务在各个资源上的最早完成时间进行排序,从排序结果中选取值最小的最早完成时间对应的资源作为所述任务的最优调度资源,确定各云任务的最优调度资源,并维持所述关键路径上的任务调度不变,以实现云任务的重调度。
优选地,所述计算云任务图模型中的各任务优先级,具体包括:
计算各云任务在所述云任务图模型中的升秩值和降秩值;
将所述云任务的升秩值和降秩值之和作为所述云任务在所述云任务图模型中的任务优先级的值。
优选地,通过以下公式计算所述云任务在所述云任务图模型中的升秩值;
Figure GDA0002435723120000031
其中,ni和nj均表示云任务,且云任务ni必须在云任务nj开始前被执行完成;ranku(ni)表示云任务ni的升秩值,succ(ni)表示所述云任务ni的直接后继任务集合,w′i表示所述云任务ni在所有资源上的平均计算时间,ci,j表示所述云任务ni与所述云任务nj之间的通信时间,所述升秩值以递归方式从出口任务开始计算;
通过以下公式计算所述云任务在所述云任务图模型中的降秩值:
Figure GDA0002435723120000032
其中,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的平均计算代价可定义为:
Figure GDA0002435723120000071
ci,j表示任务ni与nj间的通信时间,即DAG模型中边上的权值。任务间的通信时间可表示为v×v的矩阵。若任务ni与nj调度于相同资源上,则通信时间ci,j=0。
在具体实现中,本实施例需计算云任务图模型中的各任务优先级,即首先计算各云任务在所述云任务图模型中的升秩值和降秩值;
其中,,通过以下公式计算云任务ni在所述云任务图模型中的升秩值:
Figure GDA0002435723120000072
其中,ni和nj均表示云任务,且云任务ni必须在云任务nj开始前被执行完成;ranku(ni)表示云任务ni的升秩值,succ(ni)表示所述云任务ni的直接后继任务集合,wi'表示所述云任务ni在所有资源上的平均计算时间,ci,j表示所述云任务ni与所述云任务nj之间的通信时间,所述升秩值以递归方式从出口任务开始计算;而对于出口任务nexit,由于其不存在后继任务,故其升秩值为:
ranku(nexit)=w'exit (公式11)
进一步地,通过以下公式计算所述云任务在所述云任务图模型中的降秩值:
Figure GDA0002435723120000081
其中,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上所有任务的资源即为关键资源,定义为PCP。选择满足以下条件的资源作为调度所有关键路径任务的资源,即以计算代价最小化为目标,选择关键路径任务的调度资源,定义为PCP
Figure GDA0002435723120000082
步骤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。当处理器处于空闲状态时,以最低频率等级保持运行,此时静态功耗为:
Figure GDA0002435723120000091
当处理器资源执行任务时,以最高频率等级对任务进行处理,此时动态功耗为:
Figure GDA0002435723120000092
处理器资源完成最后一个任务后,即可完全关闭,此时能耗为0。对于单个处理器资源pj而言,其执行任务ni的动态能耗为:
Figure GDA0002435723120000093
对于单个处理器资源pj而言,其静态能耗为:
Figure GDA0002435723120000094
其中,△widle,j表示处理器pj的空闲时间。则处理器pj的总能耗为:
Figure GDA0002435723120000095
资源集合P执行任务集合V的总能耗为:
Figure GDA0002435723120000096
本实施中的步骤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的所有直接前驱任务必须保证已经完成。
Figure GDA0002435723120000101
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)即需要满足以下条件:
Figure GDA0002435723120000102
任务nm调度至资源pj后,nm上资源pj上的最早开始时间和最早完成时间分别等于实际开始时间AST(nm)和实际完成时间AFT(nm)。任务图中的所有任务被调度后,调度长度makespan(总体完成时间)即为出口任务nexit的实际完成时间,即:
makespan=AFT(nexit) (公式17)
根据任务优先级得到的任务调度次序以及以最早完成时间为标准得到的最优调度资源,即可得到初始的任务调度方案。
步骤S40:计算所述初始任务调度方案下各资源的能效值,从所述原始资源集合中移除除所述关键资源之外能效值最低的资源,并关闭所述能效值最低的资源,以对所述原始资源集合进行更新,得到当前资源集合;
在具体实现中,得到初始任务调度方案后,需要评估在初始任务调度方案下的资源能效。令EEj表示资源pj的能效值,表示资源pj实际执行任务的动态能耗占资源pj开启状态下的总体能耗的比例,资源pj开启状态下的总体能耗为资源执行的动态能耗与资源空闲时的静态能耗之和,即:
Figure GDA0002435723120000111
得到每个资源的能效值后,按能效值对资源进行降序排列,删除除关键资源外能效值最小的资源。若初始可用资源集合为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、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (10)

1.一种云任务重调度方法,其特征在于,所述方法包括:
计算云任务图模型中的各任务优先级,所述云任务图模型包括多个云任务、具有多个资源的原始资源集合、以及多个云任务之间的关系;
根据所述任务优先级生成所述云任务图模型中的关键路径,并将得到的关键路径上对应的各个资源作为关键资源;
根据所述任务优先级、所述关键路径和所述关键资源确定初始任务调度方案;
计算所述初始任务调度方案下各资源的能效值,从所述原始资源集合中移除除所述关键资源之外能效值最低的资源,并关闭所述能效值最低的资源,以对所述原始资源集合进行更新,得到当前资源集合;
对所述当前资源集合进行遍历,分别计算各云任务在遍历到的资源上的最早完成时间,将所述云任务在各个资源上的最早完成时间进行排序,从排序结果中选取值最小的最早完成时间对应的资源作为所述任务的最优调度资源,确定各云任务的最优调度资源,并维持所述关键路径上的任务调度不变,以实现云任务的重调度。
2.如权利要求1所述的方法,其特征在于,所述计算云任务图模型中的各任务优先级,具体包括:
计算各云任务在所述云任务图模型中的升秩值和降秩值;
将所述云任务的升秩值和降秩值之和作为所述云任务在所述云任务图模型中的任务优先级的值。
3.如权利要求2所述的方法,其特征在于,通过以下公式计算所述云任务在所述云任务图模型中的升秩值;
Figure FDA0002435723110000011
其中,ni和nj均表示云任务,且云任务ni必须在云任务nj开始前被执行完成;ranku(ni)表示云任务ni的升秩值,succ(ni)表示所述云任务ni的直接后继任务集合,w′i表示所述云任务ni在所有资源上的平均计算时间,ci,j表示所述云任务ni与所述云任务nj之间的通信时间,所述升秩值以递归方式从出口任务开始计算;
通过以下公式计算所述云任务在所述云任务图模型中的降秩值:
Figure FDA0002435723110000021
其中,pred(ni)表示云任务ni的直接前驱任务集合,所述降秩值以递归方式从入口任务开始计算。
4.如权利要求3所述的方法,其特征在于,所述根据所述任务优先级生成所述云任务图模型中的关键路径,并将得到的关键路径上对应的各个资源作为关键资源,具体包括:
将入口任务作为关键路径集合的第一个节点;
在所述入口任务的所有后继任务中选择任务优先级的值最大的云任务作为关键任务,将所述关键任务加入至所述关键路径集合中;
在所述关键任务的所有后继任务中选择任务优先级的值最大的云任务作为下一个关键任务,将所述下一个关键任务加入至所述关键路径集合中直至所述下一个关键任务的后继任务为出口任务,以生成关键路径;
将得到的关键路径上的所有关键任务的资源作为关键资源。
5.如权利要求1所述的方法,其特征在于,所述根据所述任务优先级、所述关键路径和所述关键资源确定初始任务调度方案,具体包括:
根据所述任务优先级确定各云任务的调度次序,按照所述调度次序依次计算各云任务的最优资源,所述最优资源表征为所述原始资源集合中能够使得云任务最早完成的资源;其中,所述关键路径上的云任务在所述关键资源上进行调度;
根据得到的各云任务的最优资源确定所述初始任务调度方案。
6.如权利要求1-5任一项所述的方法,其特征在于,所述根据所述任务优先级、所述关键路径和所述关键资源确定初始任务调度方案之前,所述方法还包括:
获取所述云任务在各资源上的执行时间和资源功耗值;
相应地,所述计算所述初始任务调度方案下各资源的能效值,具体包括:
根据所述执行时间和所述资源功耗值计算出所述任务在所述初始任务调度方案下的能效值。
7.一种云任务重调度装置,其特征在于,所述装置包括:
任务优先级确定模块,用于计算云任务图模型中的各任务优先级,所述云任务图模型包括多个云任务、具有多个资源的原始资源集合、以及多个云任务之间的关系;
关键路径确定模块,根据所述任务优先级生成所述云任务图模型中的关键路径,并将得到的关键路径上对应的各个资源作为关键资源;
初始方案生成模块,用于根据所述任务优先级、所述关键路径和所述关键资源确定初始任务调度方案;
能效评估模块,用于计算所述初始任务调度方案下各资源的能效值,从所述原始资源集合中移除除所述关键资源之外能效值最低的资源,并关闭所述能效值最低的资源,以对所述原始资源集合进行更新,得到当前资源集合;
重调度模块,用于对所述当前资源集合进行遍历,分别计算各云任务在遍历到的资源上的最早完成时间,将所述云任务在各个资源上的最早完成时间进行排序,从排序结果中选取值最小的最早完成时间对应的资源作为所述任务的最优调度资源,确定各云任务的最优调度资源,并维持所述关键路径上的任务调度不变,以实现云任务的重调度。
8.如权利要求7所述的装置,其特征在于,所述任务优先级确定模块具体包括:
计算单元,用于计算各云任务在所述云任务图模型中的升秩值和降秩值;
确定单元,用于将所述云任务的升秩值和降秩值之和作为所述云任务在所述云任务图模型中的任务优先级的值。
9.如权利要求8所述的装置,其特征在于,所述关键路径确定模块具体包括:
首节点确定单元,用于将入口任务作为关键路径集合的第一个节点;
路径生成单元,用于在所述入口任务的所有后继任务中选择任务优先级的值最大的云任务作为关键任务,将所述关键任务加入至所述关键路径集合中;在所述关键任务的所有后继任务中选择任务优先级的值最大的云任务作为下一个关键任务,将所述下一个关键任务加入至所述关键路径集合中直至所述下一个关键任务的后继任务为出口任务,以生成关键路径;
资源确定单元,用于将得到的关键路径上的所有关键任务的资源作为关键资源。
10.如权利要求7所述的装置,其特征在于,所述初始方案生成模块具体包括:
最优资源确定单元,用于根据所述任务优先级确定各云任务的调度次序,按照所述调度次序依次计算各云任务的最优资源,所述最优资源表征为所述原始资源集合中能够使得云任务最早完成的资源;其中,所述关键路径上的云任务在所述关键资源上进行调度;
方案生成单元,用于根据得到的各云任务的最优资源确定所述初始任务调度方案。
CN201810473142.8A 2018-05-16 2018-05-16 一种云任务重调度方法和装置 Active CN108762899B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810473142.8A CN108762899B (zh) 2018-05-16 2018-05-16 一种云任务重调度方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810473142.8A CN108762899B (zh) 2018-05-16 2018-05-16 一种云任务重调度方法和装置

Publications (2)

Publication Number Publication Date
CN108762899A CN108762899A (zh) 2018-11-06
CN108762899B true CN108762899B (zh) 2020-05-15

Family

ID=64008376

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810473142.8A Active CN108762899B (zh) 2018-05-16 2018-05-16 一种云任务重调度方法和装置

Country Status (1)

Country Link
CN (1) CN108762899B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111950835B (zh) * 2019-12-06 2021-03-12 中国人民解放军国防科技大学 基于竞价型实例的截止期约束工作流资源调度方法
CN111427688B (zh) * 2020-03-23 2023-08-11 武汉轻工大学 云任务多目标调度方法、装置、电子设备及存储介质
CN111506431B (zh) * 2020-04-26 2023-07-04 泸州职业技术学院 一种云服务器在能耗约束下感知负载性能优化方法
CN114064259B (zh) * 2020-08-03 2024-06-14 北京超星未来科技有限公司 一种面向异构计算资源的资源调度方法及装置

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101539800A (zh) * 2009-05-05 2009-09-23 曙光信息产业(北京)有限公司 一种低功耗作业调度计算方法
CN103077082A (zh) * 2013-01-08 2013-05-01 中国科学院深圳先进技术研究院 一种数据中心负载分配及虚拟机迁移节能方法及系统
CN103902379A (zh) * 2012-12-25 2014-07-02 中国移动通信集团公司 一种任务调度方法、装置及服务器集群
CN105760209A (zh) * 2014-12-16 2016-07-13 华为技术有限公司 移除虚拟机的方法、装置与自动弹性群组
CN107015856A (zh) * 2017-03-30 2017-08-04 青海大学 云环境下科学工作流中的任务调度方案生成方法及装置
CN107133091A (zh) * 2017-05-08 2017-09-05 武汉轻工大学 基于自顶向下任务分级的云工作流任务调度方法
CN107301500A (zh) * 2017-06-02 2017-10-27 北京工业大学 一种基于关键路径任务前瞻的工作流调度方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040100982A1 (en) * 1999-09-30 2004-05-27 Sivaram Balasubramanian Distributed real-time operating system

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101539800A (zh) * 2009-05-05 2009-09-23 曙光信息产业(北京)有限公司 一种低功耗作业调度计算方法
CN103902379A (zh) * 2012-12-25 2014-07-02 中国移动通信集团公司 一种任务调度方法、装置及服务器集群
CN103077082A (zh) * 2013-01-08 2013-05-01 中国科学院深圳先进技术研究院 一种数据中心负载分配及虚拟机迁移节能方法及系统
CN105760209A (zh) * 2014-12-16 2016-07-13 华为技术有限公司 移除虚拟机的方法、装置与自动弹性群组
CN107015856A (zh) * 2017-03-30 2017-08-04 青海大学 云环境下科学工作流中的任务调度方案生成方法及装置
CN107133091A (zh) * 2017-05-08 2017-09-05 武汉轻工大学 基于自顶向下任务分级的云工作流任务调度方法
CN107301500A (zh) * 2017-06-02 2017-10-27 北京工业大学 一种基于关键路径任务前瞻的工作流调度方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
云计算环境下多有向无环图工作流的节能调度算法;刘丹琦等;《计算机应用》;20130901;第33卷(第9期);第2410-2415页 *
高效能云计算虚拟机优化部署策略;张小庆;《计算机工程与应用》;20161231;第52卷(第15期);第1-7页 *

Also Published As

Publication number Publication date
CN108762899A (zh) 2018-11-06

Similar Documents

Publication Publication Date Title
CN108762899B (zh) 一种云任务重调度方法和装置
Rahman et al. A dynamic critical path algorithm for scheduling scientific workflow applications on global grids
Lin et al. A reinforcement learning-based power management framework for green computing data centers
Ijaz et al. Efficient scheduling strategy for task graphs in heterogeneous computing environment.
CN108647084B (zh) 能效云任务调度方法
Xiao et al. A cooperative coevolution hyper-heuristic framework for workflow scheduling problem
CN111209104A (zh) 一种异构集群下Spark应用的能量感知调度方法
US20160291672A1 (en) Preformance state aware thread scheduling
CN112346828B (zh) 基于分布式异构系统的任务配置方法、装置及存储介质
Song et al. An efficient scheduling algorithm for energy consumption constrained parallel applications on heterogeneous distributed systems
Jiang et al. On power-peak-aware scheduling for large-scale shared clusters
Lee et al. A non-critical path earliest-finish algorithm for inter-dependent tasks in heterogeneous computing environments
WO2024000224A1 (en) Methods and systems for energy-efficient scheduling of periodic tasks on a group of processing devices
Fan et al. Associated task scheduling based on dynamic finish time prediction for cloud computing
CN112764903B (zh) 异构环境下带有特殊任务的任务调度方法、系统及应用
Xiaoqing et al. Data-dependent tasks re-scheduling energy efficient algorithm
Aida et al. Performance enhancement of scheduling algorithm in heterogeneous distributed computing systems
Jiang et al. PVBTS: A novel task scheduling algorithm for heterogeneous computing platforms
Suresh et al. Prioritized user demand approach for scheduling meta tasks on heterogeneous grid environment
Tian-mei-zi et al. k-HEFT: A static task scheduling algorithm in clouds
CN111679897A (zh) 异构多核片上系统任务分配方法和装置
Hamidzadeb et al. Dynamic scheduling of real-time tasks, by assignment
Qasim et al. Dynamic mapping of application workflows in heterogeneous computing environments
CN110865886B (zh) 面向多概率性参数实时任务的和谐感知多处理器调度方法
Ge et al. Efficient Computation Offloading with Energy Consumption Constraint for Multi-Cloud System

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20210610

Address after: Room 407, 4 / F, unit a, building 2, Huagong science park innovation enterprise base, Donghu Development Zone, Wuhan City, Hubei Province, 430000

Patentee after: WEIPAI (WUHAN) HIGH-TECH Co.,Ltd.

Address before: 430023 No. 68, Xuefu Road, Changqing Garden, Dongxihu District, Wuhan, Hubei

Patentee before: WUHAN POLYTECHNIC University

CP01 Change in the name or title of a patent holder
CP01 Change in the name or title of a patent holder

Address after: Room 407, 4 / F, unit a, building 2, Huagong science park innovation enterprise base, Donghu Development Zone, Wuhan City, Hubei Province, 430000

Patentee after: Weipai (Wuhan) High tech Co.,Ltd.

Address before: Room 407, 4 / F, unit a, building 2, Huagong science park innovation enterprise base, Donghu Development Zone, Wuhan City, Hubei Province, 430000

Patentee before: WEIPAI (WUHAN) HIGH-TECH Co.,Ltd.