更全的杂志信息网

一种云工作流任务调度能效优化算法

更新时间:2009-03-28

作为高性能计算平台,云计算越来越多地为大规模密集型工作流应用提供了高性能的异构资源和运行环境[1]。工作流是任务间存在顺序约束的一种应用模型,在科学、工业和工程领域中均得到了广泛应用。而云环境中的工作流任务调度问题本质是在不同的可用资源与任务之间实现有效映射[2],同时维持任务间固有的顺序约束。基于资源提供方与用户方对任务执行的不同需求,云工作流调度目标也有所差异,主要考虑的优化目标包括:执行时间或执行代价、系统可靠性等等。然而,由于云数据中心的广泛部署的原因,能耗已经成为目前云计算环境面临的主要难题,高能耗不仅提升成本,而且对环境有害。

目前,动态电压/频率扩展DVFS技术是云资源方在处理器上应用的一种能耗优化常用方法,它可以根据资源负载动态缩放处理器电压/频率,降低处理器能耗[3]。但是,降低处理器资源的能耗的同时处理器的性能同样会降低,这会导致工作流任务执行时间的增加,并可能导致无法满足期限时间的QoS约束。为了在满足截止时间约束的同时提高工作流调度的能效,实现性能与能效的均衡调度,本文提出一种工作流任务调度能效优化算法,算法以三阶段式完成调度:初始任务映射、处理器资源合并和任务松驰。算法可在满足截止时间约束同时降低执行能耗,提高资源利用率,实现用户需求与资源能耗的均衡。

1 相关工作

启发式算法是解决工作流调度这类NP问题的常用方法,如基于异构最早完成时间的HEFT算法[4]可以以较低的时间复杂度得到较小的工作流执行时间。同类型的启发式算法通常以系统为中心或以用户为中心选择相应的优化指标,如:执行跨度[5]、资源利用率[6]、系统可靠性[7]和总体执行代价[8]。这类线性启发式算法通常都是单目标优化的,基本不考虑执行工作流任务时给资源方带来的能耗问题。

考虑能耗问题的文献中,文献[9]提出一种选择能量感知调度算法EAS,算法建立了一种考虑能耗和执行时间的相对优越函数,对于给定的任务,通过考虑当前最佳资源及其相应电压缩放等级计算该函数值,并选择最大的函数对应的资源作为任务的调度目标。但该调度结果是局部最优的。文献[10]提出基于复制与能量平衡调度算法EDB,算法可以通过副本机制提高工作流执行效率,并维持可接受的能耗开销,但由于算法中处理器始终处于最大电压/频率等级,因此总体而言,能耗过大。文献[11]提出能量感知DAG调度算法EADAG,算法通过求解决定路径的方式得到最小调度时间,同时在空闲调度中可以进行处理器电压调整以降低能耗,同时对执行时间也未产生影响。该算法与本文算法虽有类似,但在目标资源选择上不是能效最优的。文献[12]提出基于DVFS的加强能效调度算法EES,可降低非关键任务的执行频率,将任务重分配至得到更低能耗的合适时间槽中。比较国外文献,国内云工作流调度相关研究中[13~16]则甚少考虑能效优化问题。

对于云环境,降低调度能耗不仅可以降低经济代价,更可以提升系统服务可靠性。为了解决这一问题,在满足截止时间约束时提高调度能效,实现性能与能效的均衡调度,本文提出一种工作流任务调度能效优化算法,将工作流任务的能效调度优化过程以三阶段式进行:初始任务映射、处理器资源合并和任务松驰。算法可以在满足截止时间约束的同时降低工作流的执行能耗,提高资源利用率,实现用户需求与资源能耗的均衡。

2012年1月至2014年11月收住我院ICU进行亚低温治疗行脉搏指数连续心输出量(PICCO)监测的颅脑损伤患者60例,GCS评分 3~7分,符合重度颅脑损伤诊断标准,排除既往有心肺疾病者。所有患者均行亚低温治疗,治疗时间72 h。将60例患者随机分为咪达唑仑复合芬太尼组(A组)和冬眠合剂组(B组),每组30例。两组病例数、年龄、性别、GCS评分、SOFA评分等比较,差异无显著性,具有可比性。

2 系统模型

2.1 资源模型

目标系统由异质处理器资源集合组成,表示为:P={pi},处理器之间以全连通拓扑结构连接。任务集为:N={ni}。每个处理器 pj∈P具有DVFS功能,即可运行于不同的供电电压与时钟频率,对应的计算性能可动态改变。对于处理器 pj∈P,定义其可运行的供电电压集合为V={vs},可运行的时钟频率集合为F={fs}。对应地,电压运行等级为v1时,对应的时钟频率为等级f1。由于处理器资源在空闲状态时仍然消耗能源,此时运行于最低频率状态vlowest,并对应处理器最大限度的能耗节省。

其中,vjlowest和 fjlowest分别为资源 pj在最低电压时的供电电压和频率,tjidle为 pj的空闲时间。

2.2 云工作流任务模型

云计算应用通常为并行的工作流任务,以有向无循环图DAG表示,如图1所示案例。工作流任务表示为G=(N,E),由顶点集合N和有向边集E组成,N为应用中的n个任务集合,E为任务间的边集合,代表任务间的顺序约束。任务ni与nj间的边edge(i,j)∈E表示任务间的通信关系,仅当任务ni传输其输出后任务nj才可以开始执行。

工作流中,无前驱的任务称为DAG入口任务(如图1中的nentry),无后继的任务称为DAG出口任务(如图1中的 nexit)。

  

图1 工作流任务DAG示例

令wi,j为任务ni在处理器 pj上的执行代价,则ni在所有可用资源上的平均执行代价AECi可定义为:

一席话,听得那老黄哭笑不得:“你们放心,我们只抢钱,不要命,我们的行动,都得按鸟窝大师给我们写好的脚本。总之我们黄梁村的山贼,跟秦岭、太行山、大别山的山贼都不一样,跟十二连环坞的也有很大不同,我们要脸,不要血。”袁安腹诽,可是这位兄台,你要脸,为什么又要用黑钟馗面具将脸遮起来呢?真英雄,好汉子,打一个劫,蒙着脸有意思吗?

 

定义DAG中有向边的权值为ci,j,表示任务ni与nj间的通信代价。若任务ni与nj调度至同一资源执行,此时忽略资源内的通信代价,定义ci,j=0。资源间的数据传输速率存储于大小为 p×p的矩阵B内,资源的通信代价则由 p维向量S定义。定义为datai,j为任务ni与nj间的数据传输量,则调度至资源 pm的任务ni与调度至pk的任务nj间的通信代价可定义为:

 

则任务ni与nj间的平均通信代价可定义为:

 

其中,ATR为资源间的平均传输速率,ATC为通信启动的平均时间代价。在进行任务调度时,任务按自底向下分级值的形式对任务进行优先级排序,任务ni的分级值以递归方式定义为:

 

令EST(ni,pj)为调度至资源 pj的任务ni的最早开始时间,EFT(ni,pj)为调度至资源 pj的任务ni的最早完成时间。对于入口任务nentry,其EST计算为:

备忘录为双方建立了一个合作框架,未来双方将在该框架下研究利用各自的独特能力、专门知识和客户关系开展一系列商业合作的可行性。

 

对于任务DAG模型中的其他任务(从入口任务开始),其EST和EFT的计算方法为:

接下来设计系统扩张状态观测器.为方便扩张状态观测器设计,定义系统扩张状态变量有界.则系统状态空间方程(4)可被增广为

 

其中,avil[pj]为资源 pj上最后调度的任务nk的最早完成时间,pred(ni)为任务ni的直接前驱集:

 

AFT(nm)为任务task(nm)的实际完成时间。如果任务为非入口任务,则返回任务ni所需所有数据到达资源pj的时间。AST(nm)为任务task(nm)的实际开始时间。如果nm=nentry,则AST(nm)=EST(nm)=EST(nentry)=0,此时可以通过递归计算AFT(nm)=AST(nm)+tm得到AFT(nm)。

DAG中的所有任务调度后,调度长度为出口任务nexit的实际完成时间。定义调度任务的最长路径为关键路径CP,最迟完成任务的完成时间为调度长度或makespan。如果出口任务多于一个,则最迟任务的makespan可定义为:

 

2.3 能耗模型

云环境中资源执行任务的主要能耗来源包括动态功能 Edynamic和静态功耗 Estatic,Estatic与 Edynamic成正比,且通常少于动态能耗Edynamic的30%,通常情况下,资源方总体能耗由动态能耗决定。为了简化能耗模型,本文在实验中仅考虑资源动态能耗部分。动态功耗Pdynamic定义为:

 

其中,K为与动态功耗相关的常量因子,取决于设备性能,vj,s为处理器 pj在等级s时间的供电电压,fs为与电压vj,s对应的频率。总能耗可定义为:

 

其中,ti,j为任务ni在资源 pj上的执行时间,v(i,pj,s)表示任务ni被调度至电压等级为s的资源 pj上,fpj,s表示电压等级s时资源pj的频率。由于供电电压和频率在处理器空闲时间内不能调整至零,此时电压为最低状态vlowest,可节省能耗。所有可用资源在空闲时间内的能耗定义为:

(亚伦)“在金牛犊脚下筑起一座祭坛,高声宣布:明天,是耶和华的节日!次日一早,众人献上全燔祭和平安祭。礼成,坐下一起吃喝,营地一片欢乐。

 

Patel等[4]研究发现,ACE的基因多态性促使心动过速发展成快速性心律失常性心肌病。存在D型等位基因型的快速性心律失常患者,其ACE水平升高将导致Ang Ⅱ水平相应升高,致使心肌细胞发生增生、肥大等改变,造成左室扩大及室壁压力变化[21]。

综上,执行DAG任务的总能耗定义为:

衡量社交媒体营销的方法。用于衡量社交媒体营销对酒店经营影响的方法有很多,其中最常见的是“社交媒体投资回报率(ROI)”,即通过计算营销活动产生的净利润来衡量社交媒体营销的成功与否。然而,在实际操作过程中,酒店很少会将社交媒体营销与销售额直接挂钩。造成这一现象的主要原因是较难区分哪些销售额是由社交媒体营销产生的,哪些不是。另一种衡量的方法是与社交媒体的流量挂钩,但社交媒体流量并不等同于消费者购买酒店产品的数量。

 

3 算法设计

本章设计调度长度makespan与能耗同步最小化的任务调度算法CWEES,算法包括三个阶段:初始任务映射阶段、处理器资源合并阶段和任务松驰阶段。为了降低处理器资源的使用数量,必须选择合适的时间槽部署低载处理器上的任务,然后,调度就绪任务至具有DVFS功能的处理器上,实现降低能耗的目标。CWEES算法伪代码如下:

Input:G(N,E),resource setP

Output:scheduling solution π:G(N,E)→ P

利用式(20)计算处理器 pj上从任务ni至nm的总空闲时间:

2.Processors_Merging()using Al.3

3.T_slacking()using Al.4

4.return the assignment of tasks to lower voltage/frequency processors

算法说明:CWEES算法总体包括三步,即步骤1调用子算法2通过HEFT计算初始makespan,步骤2调用子算法3进行资源合并,步骤3调用子算法4进行任务松驰,最后在步骤5返回任务调度方案。

3.1 初始任务映射阶段

该阶段需要按照任务自底向上分级ranku值的降序排列获得所有任务的优先级,ranku值的获取从任务DAG的出口任务自底向上向入口任务进行计算,如公式(4)所示。该过程中,首先需要在不违背任务间的顺序依赖约束条件下产生一个初始的任务排序,然后,利用HEFT算法计算排序中最后一个任务的初始makespan MS,最后,基于MS,根据用户给定的一个扩展因子α,α≥0,计算所有任务的全局截止时间D,表示为:

 

本文目标是在截止时间D内尽可能降低任务执行能耗,并完成所有任务。算法2 MS_Computing()伪代码如下:

Input:G(N,E),resource setP and α

Output:MSand deadlineD

1.computeranku(ni)of all tasks

2.schedule tasks to all availible resource by HEFT

他对家庭的重要作用具有很强的洞察力,他认为不了解一个国家最优秀的家庭,则完全看不清这个国家的真面目。因而他在书中写到:“孔孟之道的家庭教育较为平衡,它避免操之过急,是一种现实的,基于对自然和人性的观察,建立在家长权威基础上的教育。这个权威逐渐上升至一切权威,直至我们的造物主——贬斥骄傲,褒扬谦卑的上帝。在寻求智慧的道路上,首先完成国家使命,做当做的;要富有远见卓识,心明眼亮,力求看得更远;避免一切卑微的心思和意念,努力成为对他人有用之人;身居庙堂高位而不耽于逸乐,汲汲探求智慧之路。‘朝闻道,夕死可矣。’这是怎样的精神境界和高超智慧!怎样不朽的人类灵魂的尊严”!

3.computeMSusing Eq.(9)

算法说明:步骤1首先进行初始调度长度设置,并合并资源直到调度长度大于D,同时进行资源序列的初始化,步骤2初始化任务的分级值为0,若MS′≤D,循环执行步骤4~13。步骤4先计算每个已开启处理器上分配的任务数量,步骤5计算每个任务在每个可用资源上的执行时间和对应的资源的rankm值,步骤6计算对应处理器资源的能量效率为:

5.returnMSandD

13. end if

3.2 处理器资源合并阶段

在前面k-1个处理器上重复该算法进行任务调度直到总调度长度大于D,k为在第一阶段中初始分配任务时的处理器数量。完成一次循环后,如果调度长度仍不大于D,则关闭未分配任务的处理器,且k值减1。然后,将最后的调度结果存储为最终的处理器选择,并标记活跃处理器为集合P′。完成以上步骤后,为了处理给定任务组的工作流,保留相对高效的处理器以降低能耗浪费。

 

其中,pjmax表示处理器 j的最大功耗,pjidle表示处理器j空闲时的功耗。算法3 Processors_Merging()伪代码如下:

Input:G(N,E)、P 、ranking value、MSandD

Output:best turn-on processors list

国有企业要以自身的实际情况为基础,以此来健全财务管理体系,然后进行逐步完善,以此来实现财务预算管理的效果,进一步健全财务管理考核机制,以此来确保财务预算管理的效果。当前大多数国有企业的考核机制过于简单,在考核指标与考核方法方面,不能够精确的对员工的工作业绩进行考评,从而不利于员工对于工作的积极性。鉴于此,要注重对考评机制在建立过程中的合理性与科学性,以员工的工作业绩为参考对财务预算管理的成果进行评价,并制定出完善的奖惩机制,从而激发财务预算管理人员的主观能动性,从而确保国有企业财务预算管理工作的实施效果。

1.initializeMS′=MS ,merge processors until the scheduling length is larger than D and initialize resource order

2.initializeranki=0for each i

(1)In this study,the Gaussian mixture model for IAR was proposed for RF measurement in the presence of multipath.Based on this model,the theoretical error of dual-frequency ambiguity estimation in the presence of multipath was obtained.

情况 3.2.4 C1中3个都不是Y中顶点色集合,由{4,5,6}是Y中某顶点vj0的色集合,设f(vj0)=6,可得每个C(ui)包含4或5,则{1,2,6},{1,3,6},{2,3,6}不是X中顶点色集合,但是{1,2,6},{1,3,6},{2,3,6}是Y中顶点色集合,可得1,2,C(ui), i=1,2,…,10,从而每个C(ui)只能是以下集合之一:{1,2,3,4},{1,2,3,5},{1,2,3,4,5},{1,2,3,4,6},{1,2,3,5,6},{1,2,3,4,5,6},得出矛盾。

3.whileMS′≤D

4. compute the number of tasks each turn-on processor has been assigned asrankm

1.2.1 信息环境外部归因。一是特殊的地理自然条件是我国农村形成信息贫困的客观原因。农村地区由于受历史、地理条件等诸多因素的制约,形成社会信息环境落后,信息产品供需矛盾突出,信息产品生产不足和信息基础设施薄弱。二是当地的经济发展水平是导致信息贫困的主要因素。经济发展水平决定了农民对信息产品的消费能力和信息资源的生产能力以及信息的传播能力。三是政府投入与政策扶持是消除信息资源分布不均衡的主要外力。农民拥有信息资源量少,可接触信息媒介种类和信息内容单一,这就要强调政府的主体责任,强力推动农村信息化建设

5. computetp_j+=wi,j,rankj++for every iand every j

6. compute the energy efficiency for processorpjeu

7. assume peuis smaller then rankm is smaller

8. sort{p1,p2,…,pk-1}in descending order ofrankm

9. setk as the number of processors have been assigned tasks and schedule tasks in {p1,p2,…,pk-1} by HEFT and updateMS

10. ifMS′≤D

11. turn off processorpkin P

12. P′=P-{pk},k=k-1,p=k,MS′=MS

算法说明:步骤1通过自底向上方式从出口任务遍历DAG的方式计算所有任务分级值,步骤2利用HEFT将任务调度至所有可用资源上,步骤3利用式(9)计算机 MS,步骤4利用式(14)计算截止时间D,最后在步骤5返回MS和D。

14.end while

15.return P′

4.computeDusing Eq.(14)

 

如果 peu更小时处理器rankm也较低,则在步骤8根据rankm降序排列处理器{p1,p2,…,pk-1},步骤9先设置k为已分配任务的处理器数量,然后基于HEFT执行{p1,p2,…,pk-1}上的任务列表并更新MS值,步骤10判断当前调度长度与D的关系,若不大于,则在步骤11中关闭未利用处理器资源,并更新相关参数(步骤12)。最后,在步骤15返回有效的执行处理器资源集合。

该阶段过程如算法3所示。首先,计算每个开启状态处理器的分配任务数量,然后基于rankm值,根据{p1,p2,…,pn}对处理器进行降序排列。如果两个不同处理器资源的rankm值相等,则拥有更小能量效率 peu的处理器被放置于处理器排序的前列。 peu的计算方法如下:

3.3 任务松驰阶段

该阶段中,空闲时间槽可被松驰并在不违背任务顺序约束的同时利用DVFS技术进行重分配。如算法4所示,对于一个任务,允许的最迟完成时间LFT可计算为:

 

其中,

 

表示任务ni的直接后继任务集,tj为任务的执行时间。任务ni允许的松驰时间可计算为:

 

接下来需要降低和优化任务ni的执行时钟频率。首先,选择拥有最大LFT的任务ni,如果Slack(ni)>0,将任务ni的EST与其相同处理器上的前一任务的LFT进行比较。如果LFT(ni)>EST(ni),则表明两个任务间拥有松驰时间间隔,重复该步骤直到找到与后续任务nm-1没有松驰时间间隔的任务nm为止。利用式(19)计算处理器 pj上任务ni至nm的总执行时间为:

 

1.MS_computing()using Al.2

 

然后,计算对于任务ni的最小运行频率为:

 

通过比较与处理器pj的电压/频率等级集合,选择与任务ni的实际运行频率最接近且大于的fpj,s。然后,设置实际运行频率为 fni,pj=fpj,s,并根据公式(22)更新ni的执行时间为:

 

基于以上过程,处理器 pj上任务ni的执行时槽可在[LFT(ni)-LFT(ni)]间改变。如此,在完成频率扩展后,可计算任务ni的具体调度时间,并更新nx与其前驱的LFT。重复该过程直到所有任务被优化调度。算法4 T_Slacking()伪代码如下:

Input:EST 、execution time of tasks、MS′andD

Output:execution tasks list with best voltage/frequencey level

1.computeLFT andSlack(ni)for every task

2.while exit un-optimal tasks do

3. ifSlack(ni)for task niexits

4. select the task niwith the biggestLFT and compute the idealfor taskni

2.3 两组患者的纯音听阈测试气导平均阈值对比 治疗后,实验组患者的纯音听阈测试气导平均阈值的改善程度显著优于对照组,差异有统计学意义(t=10.089,P<0.001),见表2。

5. pick outactual operation frequency fni,pj

6. updatefrequency between fpjmaxand fni,pj and the execution time ofnito

7.allocatetimeslotfornito[LFT(ni)-LFT(ni)]

8. update LFT of all predecessor task for ni and LFT ofnxwhich be executed beforenion pj

9. end if

10.end while

11.return execution tasks list

算法说明:步骤1计算每个任务的LFT和松驰时间Slack(ni),步骤2~10对每个非最优任务作循环操作,首先在步骤3判断当前任务是否存在松驰时间,若存在,则执行步骤4~8。步骤4选择拥有最长LFT的任务ni并计算其理想运行频率,步骤5选择任务的实际运行频率,步骤6在[fpjmax,fni,pj]间更新任务的执行频率并更新ni的执行时间为,步骤7为ni分配时槽为[LFT(ni)-LFT(n)],步骤8更新n的所有前驱任务的LFT并ii更新处理器 pj上ni的前一任务nx的LFT。若不存在非最优任务,则最后在步骤11返回任务的执行序列。

CWEES算法在维持任务调度所要求的截止时间性能的同时,可以降低任务执行总能耗,其主要思想可总结为:首先优化处理器的使用数量,重新分配轻载处理器上的任务至其他资源上,实现对运行处理器数量的降低。并充分利用处理器上任务执行间的剩余空闲时槽,利用DVFS技术降低处理器的电压和时钟频率,有效扩展任务执行时间,降低处理器运行能耗。

3.4 算例说明

本节利用一个算例说明CWEES算法的实现思路。算例设置5个具有DVFS功能的同异处理器资源,运行时的供电电压等级为{1.2 V,1.1 V,1.0 V,0.9 V,0.8 V,0.7 V},对应的运行频率等级为{1.0 GHz,0.8 GHz,0.6 GHz,0.5 GHz,0.4 GHz,0.3 GHz}。

首先,根据任务的自底向上分级值对任务进行降序排列,任务DAG结构如图2所法。表1给出了10个任务在处理器上的执行代价。为了简化问题,假设所有处理器的性能是相同的,即同一任务在所有处理器上的拥有相同的执行时间。

  

图2 工作流DAG任务示例

 

表1 任务执行代价

  

表2给出了利用公式(4)计算的任务自底向下分级值。通过降序排列,可得到任务序列为:{n0,n2,n1,n5,n4,n6,n3,n8,n7,n9}。

 

表2 任务分级值rank

  

图3(a)给出HEFT算法的初始调度结果,图3(b)给出了未使用处理器合并的EES算法的初始调度结果。利用算法3的处理器合并,算法可以决定开启的处理器。图3(c)给出本文算法进行处理器合并的结果。在该算例中,处理器 p3和 p2在不违背顺序约束的前提下被轮流开启,且并未增加调度长度。处理器 p2和 p3上的任务4和任务6均被调度到处理器 p4。如图3(d)所示,这些任务的执行时间均在更低的电压等级下得到松驰,以降低能耗,这即为CWEES算法得到的最终调度结果。为了简化分析,该算例中设置了5个同质处理器,且α=0,即D=MS。

图3(a)中,HEFT的 MS=80,同时可计算出处理器的繁忙时间=92,空闲时间=308,故资源利用率仅为23%,总能耗Etotal=177.756,包括132.48的动态能耗和45.276的空闲能耗。同样,EES和CWEES的资源利用率分别为34.875%和54.875%,能效分别为22.6%和29.5%。该算例表明结合DVFS的处理器合并机制可以降低能耗,同时维持执行性能需求。

4 仿真实验

4.1 实验环境与性能指标

本节评估所提算法性能,选择算例中启发式算法HEFT[4]和EES[12]作为比较基准算法。HEFT未考虑能耗代价,执行效率较高。EES是基于DVFS的加强能效调度算法,可降低非关键任务的执行频率,将任务重分配至能耗更低的合适时间槽中。选择CloudSim[17]作为工作流调度仿真平台,该平台可用于仿真云基础设施和服务,提供可重复和可控制的实验环境。

考虑的性能指标包括以下四种:

(1)能耗效率ECR。表示DAG任务执行的总能耗与关键路径上最快完成处理器上的任务执行能耗之比,计算方法为:

 

(2)资源利用率。表示为使用资源与全部资源的比例。

(3)平均执行时间。表示得到给定DAG任务下的调度结果的算法运行时间。

(4)能量节省效率。该指标测量算法在基准能耗Ebase基础上能耗效率。利用HEFT的能耗作为基准能耗Ebase,当处理器空闲时,算法调整至最低频率等级。

4.2 实验配置

为了使用实验环境配置更具代表性,实验模拟仿真了四组不同的具有DVFS能力的异构处理器资源,其类型和电压/频率等各项参数的取值均是实际环境中AMD Athlon-64、Intel Pentium M、AMD Opteron 2218和ADM Turion MT-34等处理器的真实参数,具体如表3所示。实验中以随机的方式产生工作流DAG任务模型,同时,为了负载状况更具一般性,实验中以多种规模的任务负载和任务组成进行仿真测试,具体为:将随机DAG任务数量分布于{20,40,80,160,320,400}中,而任务中的通信/计算类任务的比率CCR为{0.1,0.5,1.0,2.0,5.0},可用处理器资源的数量集为2至32,以指数2进行递增。

  

图3 算法调度结果示意图

 

表3 资源参数

  

0123456 1.5 1.4 1.3 1.2 1.1 1.0 0.9 2.0 1.8 1.6 1.4 1.2 1.0 0.8 1.432 1.478 1.308 1.160 0.926 1.3 1.2 1.0 0.7 0.6————1.30 1.25 1.20 1.15 1.10 1.05—2.6 2.4 2.2 2.0 1.8 1.0—1.20 1.14 1.10 1.03 1.00 0.90—1.8 1.5 1.4 1.1 1.0 0.7—

4.3 实验结果

实验1观察任务数量对算法性能的影响。图4(a)是平均资源利用率情况。明显地,EES和CWEES虽然在不同的电压/频率等级均可提高资源利用率,但CWEES表现更好,其最大资源利用率达到80%。图4(b)中是平均ECR情况,根据定义,ECR越小,算法性能越好。DE在能耗节省上拥有更大的优势,其ECR值的正比例下降比较EES更加稳定,这是EES仅采用了DVFS节能技术,没有利用资源合并。图4(c)是任务集的平均执行时间,其值为总执行时间除以任务数量。随着任务增加,三种算法的平均执行时间均趋于降低。这是由于随着任务增加,随机DAG规模也将增加,HEFT中的单个任务的平均执行时间逐渐趋于平衡,EES和CWEES的平均时间高于HEFT,虽然两种算法需要节省能耗,牺牲了部分执行效率。CWEES在利用DVFS前进行处理器合并的方式得到最优资源数量,降低了空闲能耗,且其平均任务执行时间低于EES。EES仅侧重于能耗优化,忽略了其他性能条件的影响。图4(d)是算法在HEFT上得到的能量节省效率指标。可以看出,CWEES较EES能效更高,这源于其资源合并机制。而随着任务数的增加,CWEES的性能变得更好。但当任务数量达到某门限值时,该指标会降低。平均来说,CWEES较EES可节省7%左右能耗。

实验2观察处理器数量对算法性能的影响。处理器数量在[2,32]间,任务数量为400。图5(a)是处理器数量对资源利用率的影响。可以看出,资源数量变化对HEFT影响不大,由于HEFT仅考虑调度时间最小。随着资源数量增加,执行时间会降低但更多资源会保持空闲而浪费。由于利用了DVFS的任务松驰机制,EES和CWEES优于HEFT。随着资源数量增加,CWEES的优势更为明显,由于此时处理器合并将带来更大的性能提升。图5(b)是平均ECR。可以看出,资源数为8之前,ECR值增加缓慢,由于此时总能耗增加并不多。相对而言,CWEES的ECR指标增加最为缓慢,由于其能耗最低。图5(c)是平均执行时间。明显地,平均执行时间会随资源量的增加而降低。同样地,资源数为8之前,执行时间下降更快,之后则趋于平稳。EES和CWEES高于HEFT,由于前两者针对能耗节省,不同程度地会牺牲单个任务的执行时间。而EES仅侧重于降低能耗,CWEES则利用DVFS技术优化了资源使用数量。因此,CWEES的平均执行时间低于EES。图5(d)是能量节省效率情况。可以看出,资源数小于8时,该指标相对更小。随着资源量的增加,该指标明显升高,且CWEES是优于EES的。

  

图4 任务数量对算法性能的影响

  

图5 处理器数率量对算法性能的影响

  

图6 扩展因子α对算法性能的影响

实验3观察扩展因子α对算法性能的影响。实验设置400个任务和48个可用处理器,每种类型12个。图6(a)是资源利用率情况。在初始情况下,EES和CWEES的资源利用率会随着扩展因子的增加而增加,而HEFT基本保持不变,该因子对HEFT不产生影响,由于HEFT仅关注于优化任务的最早完成时间。对于EES,α从15%增加至90%时,利用率从53%增加至70%,而当α进一步增加后,利用率将下降,由于此时任务的松驰时间达到了极限值。相比而言,CWEES的利用率提升更快,而这是以牺牲部分任务执行时间为代价的。图6(b)显示扩展因子对的HEFT的ECR没有影响。对于EES和DE,α∈[15%,60%]时,ECR是降低的,而CWEES的下降速率快于EES,由于CWEES在进行频率扩展前进行了处理器合并。在ECR的最小值方面,CWEES也是低于EES的,这源于空闲时槽被重复利用的结果。图6(c)的平均执行时间上,EES和CWEES的执行时间会随着扩展因子递增,CWEES更低,接近于HEFT。主要原因是EES为降低能耗牺牲了过多的效率,而CWEES在执行效率与能效方面更加的均衡。图6(d)观察扩展因子与能量节省效率间的关系。可以看出,EES和CWEES表现更好,且CWEES的能效较EES增加更快。但到达各自的门限值后,能效开始下降,这是由于处理器合并和松驰时间是受限的。

  

图7 通信计算比率CCR对算法性能的影响

实验4观察通信计算比率CCR对算法性能的影响。CCR反映的是工作流任务的组成。图7(a)是资源利用率情况。可以看出,CWEES在满足截止时间的同时可以达到最高的资源利用率,当CCR=2时,CWEES的利用率达到80%。对于EES,CCR=0.5时,资源利用率最高为60%,HEFT为58%。原因可解释为EES和HEFT适应于计算密集型应用,由于此时CCR较低而得到了最高的利用率。而CWEES则同时适应于计算密集型和通信密集型应用任务。图7(b)是ECR情况。图中显示,CCR=0.5时,HEFT和EES拥有最低的ECR,分别为6.9和4.1。CWEES在CCR=2时拥有最高的ECR=4。HEFT,EES和CWEES中CWEES性能更高。而比较EES,CWEES中CCR对ECR具有更小的影响。该结果表明HEFT和EES更适用于计算密集型应用,而CWEES适应于两种类型的应用。图7(c)是平均执行时间情况。HEFT仍然是在三种算法中在执行效率上最好的,由于其仅关注于优化执行时间。而CWEES的平均执行时间小于EES,这源于CWEES在利用DVFS之前进行了资源合并。图7(d)是能量节省效率情况。可以看出,CCR=0.5时,EES能效最高,CCR=2,CWEES能效最高,总体来说,算法的平均能效约44%,而CWEES比EES能效更高。

5 结语

为了解决截止时间约束下工作流调度能耗最小化问题,提出了一种能效调度优化算法。算法将能效优化调度划分为三个阶段求解:初始任务映射、处理器资源合并和任务松驰。通过三阶段式求解,算法可以得到最优工作流调度方案,在保证资源利用率和满足时间约束前提下,极大降低执行工作流总能耗。实验结果证明算法在随机工作流结构中测试是有效可行的。进一步研究将关注于除了时间外的其他维度的QoS约束,如费用、可靠性约束等,求解多约束下的工作流调度能效算法。

参考文献

[1]Smanchat S,Viriyapant K.Taxonomies of workflow scheduling problem and techniques in the cloud[J].Future Generation Computer Systems,2015,52(3):1-12.

[2]Liu L,Zhang M,Lin Y,et al.A survey on workflow managementand scheduling in cloud computing[C]//14th IEEE/ACM International Symposium on Cluster,Cloud and Grid Computing.USA:IEEE Press,2014:837-846.

[3]Arroba P,Risco-Mart J L,Zapater M,et al.Server power modeling for run-time energy optimization of cloud computing facilities[J].Energy Procedia,20l4,62:401-410.

[4]Topcuoglu H,Hariri S,Wu M Y.Performance-effective and low-complexity task scheduling for heterogeneous computing[J].IEEE Transactions Parallel Distributed Systems,2012,13(3):260-274.

[5]Selvi S,Manimegalai D.Task scheduling using two-phase variable neighborhood search algorithm on heterogeneous computing and grid environments[J].Arabian Journal for Science and Engineering,2015,40(3):817-844.

[6]Lee Y C,Han H,Zomaya A Y,et al.Resource-efficient workflow scheduling in clouds[J].Knowledge-Based Systems,2015,80(C):153-162.

[7]Abudhagir U S,Shanmugavel S.A novel dynamic reliability optimized resource scheduling algorithm for grid computing system[J].Arabian Journal for Science and Engineering,2014,39(10):7087-7096.

[8]Arabnejad H,Barbosa J G.A Budget constrained scheduling algorithm for workflow applications[J].Journal of Grid Computing,2014,12(4):665-679.

[9]Wang Y,Sheng M,Wang X,et al.Energy-optimal partial computation offloading using dynamic voltage scaling[C]//IEEE International Conference on Communication Workshop.IEEE,2015:2695-2700.

[10]Liang A,Pang Y.A Novel,Energy-aware task duplicationbased scheduling algorithm of parallel Tasks on Clusters[J].Mathematicaland Computational Application,2016,22(1):2-9.

[11]Baskiyar S,Abdel-Kader R.Energy aware DAG scheduling on heterogeneous systems[J].Cluster Computing,2013,13(4):373-383.

[12]Huang Q,Su S,Li J,et al.Enhanced energy-efficient scheduling for parallel applications in cloud[C]//Ieee/acm International Symposium on Cluster,Cloud and Grid Computing.IEEE,2012:781-786.

[13]景维鹏,吴智博,刘宏伟,等.多DAG工作流在云计算环境下的可靠性调度方法[J].西安电子科技大学学报:自然科学版,2016,43(2):83-88.

[14]王润平,陈旺虎,段菊.一种科学工作流的云数据布局与任务调度策略[J].计算机仿真,2015,32(3):421-426.

[15]王岩,汪晋宽,王翠荣,等.QoS约束的云工作流调度算法[J].东北大学学报:自然科学版,2014,35(7):939-943.

[16]杨玉丽,彭新光,黄名选,等.基于离散粒子群优化的云工作流调度[J].计算机应用研究,2014,31(12):3677-3681.

[17]Goyal T,Singh A,Agrawal A.Cloudsim:simulator for cloud computing infrastructure and modeling[J].Procedia Engineering,2012,38(4):3566-3572.

 
王国豪,李庆华,刘安丰
《计算机工程与应用》2018年第10期文献

服务严谨可靠 7×14小时在线支持 支持宝特邀商家 不满意退款

本站非杂志社官网,上千家国家级期刊、省级期刊、北大核心、南大核心、专业的职称论文发表网站。
职称论文发表、杂志论文发表、期刊征稿、期刊投稿,论文发表指导正规机构。是您首选最可靠,最快速的期刊论文发表网站。
免责声明:本网站部分资源、信息来源于网络,完全免费共享,仅供学习和研究使用,版权和著作权归原作者所有
如有不愿意被转载的情况,请通知我们删除已转载的信息 粤ICP备2023046998号