能效云任务调度方法与流程

文档序号:15636251发布日期:2018-10-12 21:30阅读:237来源:国知局
本发明涉及云计算领域,更具体地,涉及一种能效云任务调度方法。
背景技术
:近年来,快速发展的it需求已经使得企业机构将其负载流转移至云数据中心执行,云数据中心中服务器的运行能耗也随之大幅度提升。举例来说,一个300w功率的高性能服务器大约每年会消耗2628kwh的能量,另包括约800kwh用于冷却服务器的能耗。另外,据报道,amazon云数据中心的50%预算用于能源消耗及服务器的冷却,其总能耗则占世界总能耗的0.5%。除了能耗成本,数据中心能量消耗过程中还会向空气中排放对环境极其不利的二氧化碳,加重温室效应,带来大气污染加重。如何降低云数据中心能耗已经成为负载与任务调度执行中必须考虑的难题。云任务通常是以有向无循环图模型表达,是科学计算中常用的应用模型,由多个并行任务组成,其调度问题是np完全问题。求解这种具有数据依赖和顺序约束条件下的任务调度问题的实质是寻找各个任务与可用资源间的映射关系,并实现目标函数的最优化。目前的调度方法通常注重于从用户方提交的任务的角度进行调度效率的优化,即最小化任务的调度时间,如heft算法(topcuougluh,hariris,wumy.performance-effectiveandlow-complexitytaskschedulingforheterogeneouscomputing[j].ieeetransactionsonparallel&distributedsystems,2002,13(3):260-274)、atbbr算法(huangkc,yinglt,liuhc.taskrankingandallocationinlist-basedworkflowschedulingonparallelcomputingplatform[j].journalofsupercomputing,2015,71(1):217-240)、cpop算法(arabnejadv,bubendorferk,ngb,etal.adeadlineconstrainedcriticalpathheuristicforcost-effectivelyschedulingworkflows[j].internationaljournalofsoftwareengineering&knowledgeengineering,2015,21(05):621-645)、ic-pcp算法(s.abrishami,m.naghibzadeh,andd.h.epema,deadline-constrainedworkflowschedulingalgorithmsforinfrastructureasaserviceclouds[j],futuregenerationcomputersystems,2013,29(1):158-169)等。该类算法通常以尽力降低所有任务的执行时间为目标,未考虑执行代价,这与云资源的实际使用特征相违背,由于云资源执行任务的代价大部分来源于数据中心的能耗。仅仅考虑执行效率而不考虑执行能耗不仅会导致云资源利用率的降低,更会导致资源能效的降低。因此,有必要开发一种能效云任务调度方法,能够同步考虑执行时间与执行能耗的优化。公开于本发明
背景技术
部分的信息仅仅旨在加深对本发明的一般
背景技术
的理解,而不应当被视为承认或以任何形式暗示该信息构成已为本领域技术人员所公知的现有技术。技术实现要素:本发明提出了一种能效云任务调度方法,其能够对云任务进行合理高效调度,关闭低能效资源,在资源同质和异构情况下,在不增加调度长度的同时,降低任务执行的总体能耗,节省资源的能源开销。根据本发明的一方面,提出了一种能效云任务调度方法。所述方法可以包括:步骤1:建立包含多个任务的有向无循环图,计算每个任务在所有资源的平均计算时间;步骤2:根据每个任务的平均计算时间,确定每个任务的优先级,获得每个任务的调度次序;步骤3:根据所述每个任务的调度次序,计算每个任务的最早完成时间的最小值或最小计算时间,获得初始调度方案;步骤4:计算所述初始调度方案的每个资源的能效值,删除能效值最小的资源,获得资源集合,针对所述资源集合重复步骤1-3,获得最终调度方案。优选地,每个任务在所有资源的平均计算时间为:其中,wi'为任务ni在所有资源的平均计算时间,q为资源总数,j为资源序号,wi,j为任务ni在资源pj的计算时间。优选地,所述任务的优先级以出口任务为起点,通过递归方式计算;其中,所述出口任务的优先级为:priority(nexit)=w'exit(2)其中,priority(nexit)为出口任务nexit的优先级,w'exit为出口任务nexit在所有资源的平均计算时间;每个任务的优先级为:其中,priority(ni)为任务ni的优先级,succ(ni)为任务ni的直接后继任务集合,nk为ni的后继任务,ci,k为任务ni与nk间的通信时间。优选地,所述计算每个任务的最早完成时间的最小值为:mineft(ni,pj)=min(wi,j+est(ni,pj))(4)其中,mineft(ni,pj)为任务ni在资源pj的最早完成时间的最小值,eft(ni,pj)为任务ni在资源pj的最早完成时间,est(ni,pj)为任务ni在资源pj上的最早开始执行时间。优选地,所述est(ni,pj)为:其中,pred(ni)为任务ni的直接前驱任务集合,avail[j]为资源j对于任务执行的最早就绪时间,nm为ni的前驱任务,aft(nm)为任务nm的实际完成时间,cm,i为任务nm与ni间的通信时间。优选地,所述每个任务的最小计算时间为:fct=minwi,j(6)其中,fct为最小计算时间。优选地,计算所述初始调度方案的每个资源的能效值为:其中,eej为资源pj的能效值,edyn,j为资源pj的动态能耗,esta,j为资源pj的静态能耗,etotal,j为资源pj的总能耗。优选地,资源pj的动态能耗为:其中,a为每个时钟周期内的开关次数,c为有效电荷,vmax为处理器的最大供电电压,fmax为处理器的最大运行频率。优选地,资源pj的静态能耗为:其中,vmin为处理器的最小供电电压,fmin为处理器的最小运行频率,△widle,j为处理器pj的空闲时间。优选地,资源pj的总能耗为:本发明具有其它的特性和优点,这些特性和优点从并入本文中的附图和随后的具体实施方式中将是显而易见的,或者将在并入本文中的附图和随后的具体实施方式中进行详细陈述,这些附图和具体实施方式共同用于解释本发明的特定原理。附图说明通过结合附图对本发明示例性实施例进行更详细的描述,本发明的上述以及其它目的、特征和优势将变得更加明显,其中,在本发明示例性实施例中,相同的参考标号通常代表相同部件。图1示出了根据本发明的能效云任务调度方法的步骤的流程图。图2示出了根据本发明的一个实施例的任务有向无循环图dag模型的示意图。图3示出了根据本发明的一个实施例的资源连通图。图4示出了根据本发明的一个实施例的同质资源计算mineft时的原始调度时序图。图5示出了根据本发明的一个实施例的同质资源计算mineft时重调度后得到的调度时序图。图6示出了根据本发明的一个实施例的同质资源计算minfct时的原始调度时序图。图7示出了根据本发明的一个实施例的同质资源计算minfct时重调度后得到的调度时序图。图8示出了根据本发明的一个实施例的异构资源计算mineft时的原始调度时序图。图9示出了根据本发明的一个实施例的异构资源计算mineft时重调度后得到的调度时序图。图10示出了根据本发明的一个实施例的异构资源计算minfct时的原始调度时序图。图11示出了根据本发明的一个实施例的异构资源计算minfct时重调度后得到的调度时序图。具体实施方式下面将参照附图更详细地描述本发明。虽然附图中显示了本发明的优选实施例,然而应该理解,可以以各种形式实现本发明而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了使本发明更加透彻和完整,并且能够将本发明的范围完整地传达给本领域的技术人员。图1示出了根据本发明的能效云任务调度方法的步骤的流程图。在该实施例中,根据本发明的能效云任务调度方法可以包括:步骤1:建立包含多个任务的有向无循环图,计算每个任务在所有资源的平均计算时间;步骤2:根据每个任务的平均计算时间,确定每个任务的优先级,获得每个任务的调度次序;步骤3:根据每个任务的调度次序,计算每个任务的最早完成时间的最小值或最小计算时间,获得初始调度方案;步骤4:计算初始调度方案的每个资源的能效值,删除能效值最小的资源,获得资源集合,针对资源集合重复步骤1-3,获得最终调度方案。在一个示例中,每个任务在所有资源的平均计算时间为:其中,wi'为任务ni在所有资源的平均计算时间,q为资源总数,j为资源序号,wi,j为任务ni在资源pj的计算时间。在一个示例中,任务的优先级以出口任务为起点,通过递归方式计算;其中,出口任务的优先级为:priority(nexit)=w'exit(2)其中,priority(nexit)为出口任务nexit的优先级,w'exit为出口任务nexit在所有资源的平均计算时间;每个任务的优先级为:其中,priority(ni)为任务ni的优先级,succ(ni)为任务ni的直接后继任务集合,nk为ni的后继任务,ci,k为任务ni与nk间的通信时间。在一个示例中,计算每个任务的最早完成时间的最小值为:mineft(ni,pj)=min(wi,j+est(ni,pj))(4)其中,mineft(ni,pj)为任务ni在资源pj的最早完成时间的最小值,eft(ni,pj)为任务ni在资源pj的最早完成时间,est(ni,pj)为任务ni在资源pj上的最早开始执行时间。在一个示例中,est(ni,pj)为:其中,pred(ni)为任务ni的直接前驱任务集合,avail[j]为资源j对于任务执行的最早就绪时间,nm为ni的前驱任务,aft(nm)为任务nm的实际完成时间,cm,i为任务nm与ni间的通信时间。在一个示例中,每个任务的最小计算时间为:fct=minwi,j(6)其中,fct为最小计算时间。在一个示例中,计算初始调度方案的每个资源的能效值为:其中,eej为资源pj的能效值,edyn,j为资源pj的动态能耗,esta,j为资源pj的静态能耗,etotal,j为资源pj的总能耗。在一个示例中,资源pj的动态能耗为:其中,a为每个时钟周期内的开关次数,c为有效电荷,vmax为处理器的最大供电电压,fmax为处理器的最大运行频率。在一个示例中,资源pj的静态能耗为:其中,vmin为处理器的最小供电电压,fmin为处理器的最小运行频率,△widle,j为处理器pj的空闲时间。在一个示例中,资源pj的总能耗为:图2示出了根据本发明的一个实施例的任务有向无循环图dag模型的示意图。图3示出了根据本发明的一个实施例的资源连通图。具体地,能效云任务调度方法可以包括:步骤1:建立包含多个任务的有向无循环图,即dag模型,将一个具体的云计算应用表示为有向无循环图dag模型,如图2所示,表示为g=(v,e),v为包含v个任务的集合,e为任务间的边集合,每条边(i,j)∈e表示任务间的执行顺序约束,代表任务ni必须在任务nj开始前完成执行。每条边上的权值代表两个任务间的通信代价(通信时间)。若dag模型中的任务无任一前驱任务,则称该任务为入口任务nentry,若无任一后继任务,则称该任务为出口任务nexit。将云资源表示为初始资源集合p,p={p1,p2,…,pq},资源间为完全连通拓扑结构,如图3所示。w表示v×p的计算代价矩阵,其元素wi,j表示任务ni在资源pj上的计算时间,计算每个任务在所有资源的平均计算时间为公式(1)。步骤2:根据每个任务的平均计算时间,确定每个任务的优先级为公式(3),任务优先级的计算需要以递归方式从出口任务开始计算,对于出口任务nexit,由于其不存在后继任务,故其优先级为公式(2),根据定义的任务优先级,对任务进行降序排序,即可获得每个任务的调度次序。步骤3:最优资源选择即是根据每个任务的调度次序依次为任务选择最优调度资源,可以包括两种选择标准:(1)使得该任务在资源上能够得到最早完成时间eft,令est(ni,pj)表示任务ni在资源pj上的最早开始执行时间,eft(ni,pj)表示任务ni在资源pj上的最早完成时间,对于入口任务nentry:est(nentry,pj)=0(11)对于任务图中的非入口任务,est和eft需要从入口任务开始递归计算,先计算ni的est为公式(5),进而计算ni在每一个资源的最早完成时间,获得任务ni的最早完成时间的最小值为公式(4),ni的所有直接前驱任务必须保证已经完成,若任务nk是资源pj上最后的调度任务,则avail[j]为资源pj完成nk的时间,即此时资源pj处于就绪状态,可执行其他任务。est等式中内层max即是返回该就绪时间,即任务ni所需的全部数据到达资源pj的时间。(2)使得任务在资源上得到最小计算时间fct为公式(6),任务nm调度至资源pj后,nm上资源pj上的最早开始时间和最早完成时间分别等于实际开始时间ast(nm)和实际完成时间aft(nm)。任务图中的所有任务被调度后,调度长度makespan(总体完成时间)即为出口任务nexit的实际完成时间为公式(12):makespan=aft(nexit)(12)其中,makespan为调度长度,即总体完成时间,aft(nexit)为出口任务nexit的实际完成时间。根据每个任务的最早完成时间或最小计算时间,获得初始调度方案。步骤4:得到任务初始调度方案后,需要评估在初始调度方案下的资源能效。计算初始调度方案的每个资源的能效值,令eej表示资源pj的能效值,其含义是资源pj实际执行任务的动态能耗占资源pj开启状态下的总体能耗的比例,资源pj开启状态下的总体能耗为资源执行的动态能耗与资源空闲时的静态能耗之和,即公式(7),其中,资源能耗使用cmos模型,资源的总能耗etotal包括处理器执行任务时的动态能耗edyn和处理器空闲时的静态能耗esta,即公式(13):etotal=edyn+esta(13)其中,处理器资源的功耗计算为公式(14):p=acv2f(14)其中,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。当处理器处于空闲状态时,以最低频率等级保持运行,此时静态功耗psta为公式(15):当处理器资源执行任务时,以最高频率等级对任务进行处理,此时动态功耗pdyn为公式(16):处理器资源完成最后一个任务后,即可完全关闭,此时能耗为0。对于单个处理器资源pj而言,其执行任务ni的动态能耗为公式(8),对于单个处理器资源pj而言,其静态能耗为公式(9),其中,△widle,j表示处理器pj的空闲时间。则处理器pj的总能耗为公式(10)。资源集合p执行任务集合v的总能耗为公式(17):等式中,仅当任务ni调度至资源pj上执行时,才以最大执行电压和频率计算此时的任务执行能耗。得到每个资源的能效值后,按能效值对资源进行降序排列,删除能效值最小的资源,即初始资源集合为p={p1,p2,…,ph…,pq},其中,资源ph为能效值最小的资源,则删除资源ph,获得资源集合p’=p/{ph}={p1,p2,…,pq}。根据资源集合p’,重复步骤1-3,获得最终调度方案。本发明对云任务进行合理高效调度,关闭低能效资源,在资源同质和异构情况下,在不增加调度长度的同时,降低任务执行的总体能耗,节省资源的能源开销。应用示例为便于理解本发明实施例的方案及其效果,以下给出一个具体应用示例。本领域技术人员应理解,该示例仅为了便于理解本发明,其任何具体细节并非意在以任何方式限制本发明。通过一个具体的算例对设计的能效任务调度方法进行分析,算例使用的任务图如图2所示,资源图如图3所示,任务在各资源上的执行时间如表1所示,表内数字的单位为h。表1在同质资源和异构资源两种情况下对所设计的调度方法的有效性进行验证分析。资源为同质时,资源的处理器能力是相同的,即拥有相同的电压和频率,和相同的运级等级,即执行任务时的动态功耗pdyn和空闲时的静态功耗psta是完全相同的。资源为异构时,各个资源的处理器能力是不相同的,即拥有不同的电压和频率,对应的动态功耗pdyn和静态功耗psta也不相同。当所有资源为同质时,设置动态功耗pdyn=9w,静态功耗psta=3w。当资源为异构时,各个资源功耗取值如表2所示。表2资源动态功耗pdyn/w静态功耗psta/wp1101.4p2121.5p341p481.3p551.1调度方法性能的评估依据设置为时间与能耗的权重函数f:f=α×makespan+β×energy(18)其中,α表示时间因子,β表示能耗因子,α、β∈[0,1],且α+β=1,实验中取α=β=0.5,即对时间优化与能耗优化具有同等的偏好。makepsan表示任务的调度长度,energy表示完成所有任务调度时资源的总体能耗。关闭能效值最小的资源,可以降低总体能耗,但有可能导致调度长度的增加,但在调度长度和能耗的综合性能上可以通过公式(18)作出评估。1)同质资源情形图4示出了根据本发明的一个实施例的同质资源计算mineft时的原始调度时序图。①以mineft为标准进行最优资源选择时,在任务重调度前得到的任务调度时序图如图4所示。各资源的能耗及其能效值情况如表3所示。可以看出,能效值最低的资源为p2,p2在重调度时将被移除资源集合,此时所有资源的能耗之和为318+420+333+372+387=1830kwh,任务调度长度makespan=114s,此时,f重调度前=972。表3资源动态能耗/kwh静态能耗/kwh能耗之和/kwh能效值p11441743180.45283p21173034200.278571p31891443330.567568p42161563720.580645p538703871图5示出了根据本发明的一个实施例的同质资源计算mineft时重调度后得到的调度时序图。进行任务重调度后的调度时序图如图5所示。各资源的能耗及其能效值情况如表4所示。可以看出,资源p2被关闭,不产生能耗。此时所有资源的能耗之和为318+327+372+732=1749kwh,任务调度长度makespan=114s,总能耗得到降低,且调度长度不变。此时,f重调度后=931<f重调度前,综合性能更优。表4资源动态能耗/kwh静态能耗/kwh能耗之和/kwh能效值p11441743180.45283p2000nonep31981293270.60550p42161563720.58064p55851477320.79918图6示出了根据本发明的一个实施例的同质资源计算minfct时的原始调度时序图。②以minfct进行最优资源选择时,在任务重调度前得到的任务调度时序图如图6所示。各资源的能耗及其能效值情况如表5所示。可以看出,能效值最低的资源为p4,p4在重调度时将被移除资源集合。此时所有资源的能耗之和为381+540+186+201+198=1506kwh,任务调度长度makespan=114s。此时,f重调度前=810。表5资源动态能耗/kwh静态能耗/kwh能耗之和/kwh能效值p12071743810.54330p22972435400.55p390961860.48387p4811202010.40298p519801981图7示出了根据本发明的一个实施例的同质资源计算minfct时重调度后得到的调度时序图。进行任务重调度后的调度时序图如图7所示。各资源的能耗及其能效值情况如表6所示。可以看出,资源p4被关闭,不产生能耗。此时所有资源的能耗之和为456+537+186+198=1377kwh,任务调度长度makespan=113s,总能耗得到降低,且调度长度降低。此时,f重调度后=745<f重调度前,综合性能更优。表6资源动态能耗/kwh静态能耗/kwh能耗之和/kwh能效值p13241324560.71052p22972405370.55307p390961860.48387p4000nonep5198019812)异构资源情形图8示出了根据本发明的一个实施例的异构资源计算mineft时的原始调度时序图。①以mineft进行最优资源选择时,在任务重调度前得到的任务调度时序图如图8所示。各资源的能耗及其能效值情况如表7所示。可以看出,能效值最低的资源为p2,p2在重调度时将被移除资源集合。此时所有资源的能耗之和为241.2+307.5+132+259.6+215=1155.3kwh,任务调度长度makespan=114s。此时,f重调度前=634.65。表7图9示出了根据本发明的一个实施例的异构资源计算mineft时重调度后得到的调度时序图。进行任务重调度后的调度时序图如图9所示。各资源的能耗及其能效值情况如表8所示。可以看出,资源p2被关闭,不产生能耗。此时所有资源的能耗之和为241.2+131+259.6+378.9=1010.69kwh,任务调度长度makespan=114s,总能耗得到降低,且调度长度不变。此时,f重调度后=562.34<f重调度前,综合性能更优。表8资源动态能耗/kwh静态能耗/kwh能耗之和/kwh能效值p116081.199241.20.66334p2000nonep388431310.73959p419267.6259.60.73959p532553.9378.90.85774图10示出了根据本发明的一个实施例的异构资源计算minfct时的原始调度时序图。②以minfct进行最优资源选择时,在任务重调度前得到的任务调度时序图如图10所示。各资源的能耗及其能效值情况如表9所示。可以看出,能效值最低的资源为p3,p3在重调度时将被移除资源集合。此时所有资源的能耗之和为311.2+517.5+72+124+110=1134.7kwh,任务调度长度makespan=114s。此时,f重调度前=624.35。表9资源动态能耗/kwh静态能耗/kwh能耗之和/kwh能效值p123081.199311.20.7390p2396121.5517.50.7652p34032720.5555p472521240.5806p511001101图11示出了根据本发明的一个实施例的异构资源计算minfct时重调度后得到的调度时序图。进行任务重调度后的调度时序图如图11所示。各资源的能耗及其能效值情况如表10所示。可以看出,资源p3被关闭,不产生能耗。此时所有资源的能耗之和为380.4+517.5+124+110=1131.9kwh,任务调度长度makespan=114s,总能耗降低,调度长度不变。此时,f重调度后=622.95<f重调度前,综合性能更优。表10资源动态能耗/kwh静态能耗/kwh能耗之和/kwh能效值p133545.399380.40.8885p2396121.5517.50.7652p3000nonep472521240.5806p511001101综上所述,本发明对云任务进行合理高效调度,关闭低能效资源,在资源同质和异构情况下,不增加调度长度的同时,降低任务执行的总体能耗,节省资源的能源开销。本领域技术人员应理解,上面对本发明的实施例的描述的目的仅为了示例性地说明本发明的实施例的有益效果,并不意在将本发明的实施例限制于所给出的任何示例。以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本
技术领域
的普通技术人员来说许多修改和变更都是显而易见的。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1