CN108768703A - 一种云工作流调度的能耗优化方法、云计算系统 - Google Patents
一种云工作流调度的能耗优化方法、云计算系统 Download PDFInfo
- Publication number
- CN108768703A CN108768703A CN201810463368.XA CN201810463368A CN108768703A CN 108768703 A CN108768703 A CN 108768703A CN 201810463368 A CN201810463368 A CN 201810463368A CN 108768703 A CN108768703 A CN 108768703A
- Authority
- CN
- China
- Prior art keywords
- task
- energy consumption
- service
- cloud
- cloud workflow
- 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.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/50—Network service management, e.g. ensuring proper service fulfilment according to agreements
- H04L41/5041—Network service management, e.g. ensuring proper service fulfilment according to agreements characterised by the time relationship between creation and deployment of a service
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/14—Network analysis or design
- H04L41/145—Network analysis or design involving simulating, designing, planning or modelling of a network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/14—Network analysis or design
- H04L41/147—Network analysis or design for predicting network behaviour
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/50—Network service management, e.g. ensuring proper service fulfilment according to agreements
- H04L41/5041—Network service management, e.g. ensuring proper service fulfilment according to agreements characterised by the time relationship between creation and deployment of a service
- H04L41/5051—Service on demand, e.g. definition and deployment of services in real time
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/50—Network service management, e.g. ensuring proper service fulfilment according to agreements
- H04L41/5041—Network service management, e.g. ensuring proper service fulfilment according to agreements characterised by the time relationship between creation and deployment of a service
- H04L41/5054—Automatic deployment of services triggered by the service manager, e.g. service implementation by automatic configuration of network components
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明属于传输控制规程技术领域,公开了一种云工作流调度的能耗优化方法、云计算系统,云计算作为分布式环境中一种新的服务供应模式,对计算资源的大量需求使得其能耗问题面临巨大的挑战。在云计算系统中,选择不合适的调度方法执行云工作流往往会造成能耗的浪费。为了解决云工作流执行过程中的高能耗问题,建立了云工作流的能耗模型,并提出了一个基于SLA的云工作流调度能耗优化算法,能在满足时间和成本约束的同时降低能耗。实验结果表明本发明所提出的优化算法与基于QoS的工作流调度算法相比而言,不仅能满足用户定义的时间和成本要求,而且还能减少平均能耗。
Description
技术领域
本发明属于传输控制规程技术领域,尤其涉及一种云工作流调度的能耗优化方法、云计算系统。
背景技术
目前,业内常用的现有技术是这样的:由于云计算系统集中了大量的计算资源和存储资源,为了实现系统运行的高效、低成本和安全需要解决许多方面的问题,其中高能耗就是最为严重的问题之一。据统计,从2005年到2010年云计算数据中心所消耗的能量上升了56%,在2010年其所消耗的电能大约占到了全球总用电量的1.1%~1.5%左右。在云计算系统中,除了执行用户任务所必需的能耗外,也存在不合理调度而造成的能耗浪费的现象。通常,云计算系统中包含各种性能不同的计算机,而不同类型的计算机在执行相同任务时所花费的能耗和时间也往往不相同。在考虑能耗的情况下,对于用户任务的请求,不适合的调度方式可能会造成低能耗就能解决的问题却花费了高能耗。因此,在满足服务等级协议的前提下,通过对资源的合理调度如何实现云计算系统的能耗降低受到了广泛关注。云工作流是工作流管理系统在云计算环境中的一种崭新的应用模式,是针对云计算的系统性能与运行成本的优化解决方案,能帮助云计算系统降低运行成本而提高云服务质量。云工作流的调度和网格工作流一样,都是将工作流中每个任务映射到一个合适的资源,并根据每个资源所能满足的性能标准对任务进行排序。对于工作流调度算法概括起来可以分为两大类:基于尽力服务的服务调度算法和基于QoS限制的服务调度算法。基于尽力服务方法是单纯以最小化执行时间为目标的调度策略,基于QoS限制的调度算法则是要在满足用户QoS要求的条件下保证使调度系统的性能最好。目前,对于云计算环境中解决工作流调度的研究工作还比较少,但都没有很好地解决由于不匹配调度而造成的能耗浪费问题。对Montage工作流在本地集群和芝加哥大学科学云中执行的性能进行了比较;进行了类似的工作研究,根据时间和成本对在美国国家计算机安全协会的Abe集群中心和Amazon EC2中执行一些科学工作流的性能进行了比较。采用Pegasus工作流管理系统来执行工作流应用,也没有考虑云计算环境中工作流应用的运行成本。两种工作流调度策略(即时间优化和成本优化策略),在本地资源和公共IaaS云相结合的环境中执行受到最后期限和预算约束的Parameter Sweep工作流应用。不管是时间优化策略还是成本优化策略都利用本地集群中心来执行工作流应用,而时间优化策略在指定的预算范围内试图通过采用云供应商(比如Amazon EC2)的资源来最小化执行时间,成本优化策略只有在用户最后期限得不到满足的情况下才会利用额外的云资源。然而它们都没有考虑到工作流应用的实际情况。利用网格资源来调度工作流应用,这样就可以在需要的时候能够租用云资源。综上所述,现有的工作流调度算法不管是时间优化还是成本优化的调度算法都未考虑到云计算环境中所面临的能耗问题,造成了不匹配调度的能耗浪费现象。
综上所述,现有技术存在的问题是:现有的工作流调度算法不管是时间优化还是成本优化的调度算法都未考虑到云计算环境中所面临的能耗问题,造成了服务和任务不匹配调度的能耗浪费现象。如果对这种现象不加以控制,任其继续发展,在当前大力倡导绿色、低碳、环保、节能的情势下,云计算的发展必定会受到严重的影响。
既要满足服务质量又能有效降低能耗的云工作流调度是一个NP难度问题,通过搜索工作流关键路径建立起来的能耗优化模型从一定程度上解决了这一问题,不仅能保证了云计算系统在时间、成本等方面的服务质量,而且从长远来看有效地避免了云计算数据中心的能耗严重浪费问题,对于21世纪提倡绿色环保的云服务系统具有重要的意义。
发明内容
针对现有技术存在的问题,本发明提供了一种云工作流调度的能耗优化方法、云计算系统。
本发明是这样实现的,一种云工作流调度的能耗优化方法,所述云工作流调度的能耗优化方法首先基于多元回归的马尔科夫模型预测云计算系统中每种类型的服务下一时间段的空闲率,从而为云工作流的所有任务选择合适的云服务;然后利用提出的算法计算云工作流服务图的关键路径;接下来根据关键路径搜索云工作流应用包含的所有能完成云工作流任务的可行调度方案;最后通过建立起来的能耗优化模型计算每一个可行调度方案所产生的能耗而发现最佳调度方案。
进一步,服务的空闲率采用基于多元回归的马尔科夫模型进行预测;我们一般将y=a0+a1x1+a2x2+an-1xn-1+anxn+ε称为多元回归线性模型,其中ε为误差,a0,a1,a2,......,an-1,an为未知量,利用历史的多次观测值序列即可得到多元回归方程。
观测值序列表示如下:
回归方程为:
假设有一个马尔科夫链,其状态集为:{s1,s2,…,sn-1,sn},转移矩阵为:A=(ai,j)n×n,在预测过程中,假定每一种任务对应多个候选服务,第j个服务在t时刻的空闲率为yt(j),在t+1时刻为yt+1(j),其中t=1,2,…,m,j=1,2,…,n。根据齐次马尔科夫链的性质可以得到:其中ai,j,i=1,2,......,n,j=1,2,......,n是待估计的参数,另设t时刻的误差变量为:εt(j),j=1,2,......,n,这样就可以预测出同一种类型的每个服务的空闲率:
进一步,所述云工作流调度的能耗优化方法的云工作流模型通过有向无环图w(T,E)来建立;在图w中,T表示n个任务{t1,t2,…tn}组成的任务集,E为任务之间的依赖关系集;每一个依赖关系ei,j=(ti,tj)表示一个优先约束,任务tj开始之前ti应该完成执行;在一个给定的任务图中,没有任何父结点的任务称为入口任务,没有任何孩子结点的任务称之为出口任务。
进一步,所述云工作流调度的能耗优化方法的能耗模型:
其中,E表示总能耗,SS(ti)表示为任务ti所选择的服务,P(ti,SS(ti))表示任务ti在服务SS(ti)上执行的功率,T(ti,SS(ti))表示任务ti在SS(ti)上执行所花费的时间;
云计算系统中wi(i=1,2,…,m)类任务的到达率为λi,云计算系统中用来处理用户请求任务的每个服务可以建立M/M/1排队模型;si,j表示为wi类任务提供的服务部署在主机hj上,则hj上任务wi的到达率λi,j可表示为:
λi,j=Pi,j×λi;
其中Pi,j表示任务wi由部署在hj主机上的服务si,j来执行的概率,假定服务si,j对wi类任务的服务率为μi,j,则si,j对wi的平均响应时间MRT表示为:
如果任务wi的时间属性约束为qti,令MRT=qti,则μi,j表示为:
主机hj对所有m类任务(wi,i=1,2,…,m)的服务强度表示为:
任意服务si,j在t时刻的功率Powerj计算如下:
其中,Pc为服务si,j的常量能耗,ai,j和bi,j为能耗参数,不同的服务强度所对应的能耗参数值则不同,当为云工作流任务ti提供服务的si,j的负载趋向于稳定时,可得si,j所处主机hj的功率,计算如下:
产生的能耗计算如下:
进一步,所述云工作流调度的能耗优化方法的工作流w(T,E)的一次调度表示如下:
服务图GS=(S,D),其中S={si|mapping(si,ti)}为云工作流中每个任务所匹配的服务集,为服务之间的边集;例如图2云工作流应用初始调度后服务与任务之间的匹配为:t1→s1,3,t2→s2,2,t3→s3,4,t4→s4,6,t5→s5,6,t6→s6,8,t7→s7,8,t8→s8,1;
利用有向无环图w(T,E)来建立模型的任意云工作流应用,在调度的过程中需要给每一个任务匹配一个合适的服务,所得到的云工作流服务图就会存在一条关键路径与之相对应,用WCP表示;云工作流的执行时间T和总成本C表示如下:
对于任意云工作流的调度,需要为每一个任务ti定义它的最早开始时间EST(ti),ti在最早开始时间EST(ti)启动它的计算,EST的计算如下:
EST(tentry)=0;
因此,每个任务ti的最早完成时间EFT(ti)是ti完成其计算的最早时间,计算如下:
EFT(ti)=EST(ti)+ET(ti,SS(ti));
每个任务ti的最迟完成时间LFT(ti),ti能最迟在LFT(ti)时完成它的计算,LFT(ti)的计算如下:
LFT(texit)=D;
结点ti的关键父结点就是ti的具有最迟数据到达时间的未调度父结点,表示为CriticalParent(t),是ti的尚未调度的父结点tp,并要满足EST(tp)+ET(tp,SS(tp))+TT(ep,i)的值为最大。
进一步,所述关键路径的求取算法如下:
输入:云工作流任务集的有向无环图w(T,E)
输出:云工作流的关键路径WCP
(1)将虚拟结点tentry,texit及其对应的依赖关系添加到有向无环图w中;
(2)为工作流任务集{t1,t2,…,tn}中的每一个任务ti选择合适的初始服务:SS(ti);
(3)根据公式计算每一个任务ti的最早开始执行时间;
(4)根据公式计算每一个任务ti的最迟完成时间;
(5)在有向无环图w中将结点tentry,texit标记为已调度结点;
(6)令t=texit,初始关键路径WCP为空;
(7)如果t存在未调度的父结点Tp集,令EST(tp)+ET(tp,SS(tp))+TT(ep,i)值最大且小于等于LFT(t)的tp为它的关键父结点CriticalParent(t),然后将结点tp加入WCP中;
(8)令t=CriticalParent(t),如果t不存在未调度的父结点Tp集,得到的WCP逆序结点集即为关键路径;否则,返回(7)循环;
(9)输出WCP,算法结束。
进一步,所述云工作流调度的能耗优化方法的能耗优化模型表示如下:
其中,P(SS(ti),ti)表示在任务ti所匹配的服务主机上执行该任务时的功率,Time(SS(ti),ti)表示在任务ti所匹配的服务主机上执行该任务所需要的时间,makspan表示服务等级协议中规定的总时间约束,C(SS(ti),ti)表示在任务ti所匹配的服务上执行该任务所需要的成本,Cost表示服务等级协议中规定的总成本约束。
所产生的能耗估算:
进一步,所述能耗优化算法首先在云工作流应用对应的所有服务图中搜索可行调度方案,然后计算每一个可行调度方案执行完毕所产生的能耗;最后通过比较,选择能耗最小的调度方案作为最佳的调度方案。
进一步,所述能耗优化算法具体包括:
输入:云工作流应用对应的所有服务图{GSi}
输出:最佳调度方案
(1)对于每一个GSi,找出它的关键路径WCPi;
(2)任意的GSi,如果且则将GSi加入可行调度方案集FSS中;
(3)按照公式计算可行调度方案FSS0中每一个服务执行所产生的能耗;
(4)令最小执行能耗min_EC=EC(FSS0);
(5)从FSS集中删除FSS0;
(6)如果FSS为空,确定FSS0为最佳调度方案,跳转到(10);
(7)FSS非空,选择任意的FSSi,按照公式计算可行调度方案FSSi中每一个服务执行所产生的能耗;
(8)如果min_EC>EC(FSSi),令min_EC=EC(FSSi);
(9)从FSS集中删除FSSi,如果FSS为空,则确定FSSi为最优调度方案;否则返回(7)循环;
(10)输出最优调度方案,算法结束。
本发明的另一目的在于提供一种应用所述云工作流调度的能耗优化方法的云计算系统。
综上所述,本发明ECOS能耗优化方法的优点及积极效果为:在云计算系统中,选择不合适的调度方法执行云工作流往往会造成能耗的浪费。为了解决云工作流执行过程中的高能耗问题,建立了云工作流的能耗模型,并提出了一个基于SLA的云工作流调度能耗优化算法ECOS,ECOS和其它的方法相比能在满足时间和成本约束的同时平均降低13.1%左右的能耗。本发明的实验采用CloudSim工具进行,实验中分别使用Deadline-MDP、Loss andGain、MAX-MIN和ECOS方法对工作流实例Montage、Epigenomics、fMRI和e-protein(规模从0-1000)进行调度执行。表1统计了各组工作流应用(规模0-50)调度的实验结果,可以看出ECOS方法在平均能耗上有较大幅度的下降,而且所花的平均执行时间比Deadline-MDP、MAX-MIN也要少。此外随着工作流应用规模的增大,ECOS方法在能耗优化上所体现出来的效果就更明显,对Montage-100,Montage-300,Montage-500和Montage-700四种规模的云工作流应用执行的能耗见图7所示,从该图中可以看出ECOS方法相比其它几种方法,随着云工作流规模的逐渐增大,其在能耗优化方面的效果就越明显,能耗最高可减少24.7%。
表1各种工作流应用执行的能耗、时间和成本比较
附图说明
图1是本发明实施例提供的云工作流调度的能耗优化方法流程图。
图2是本发明实施例提供的云工作流的DAG模型示意图。
图3是本发明实施例提供的云工作流应用的服务示意图。
图4是本发明实施例提供的使用不同方法执行云工作流的时间开销比较示意图。
图5是本发明实施例提供的使用不同方法执行云工作流的成本比较示意图。
图6是本发明实施例提供的使用不同方法执行云工作流的能耗比较示意图。
图7是本发明实施例提供的多组Montage在四种不同算法下的能耗示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明在满足服务等级协议的的基础上实施能耗优化,以最大限度地消除工作流中任务的不匹配调度而造成的能耗浪费现象。
如图1所示,本发明实施例提供的云工作流调度的能耗优化方法包括以下步骤:
S101:利用关键路径搜索云工作流应用所有可行调度方案;
S102:通过计算每一个可行调度方案的能耗发现最佳调度方案。
下面结合附图对本发明的应用原理作进一步的描述。
1云工作流模型
一个云工作流应用可以通过有向无环图w(T,E)来建立模型,见图2所示。在图w中,T表示n个任务{t1,t2,…tn}组成的任务集,E为任务之间的依赖关系集。每一个依赖关系ei,j=(ti,tj)表示一个优先约束,即任务tj开始之前ti应该完成执行。在一个给定的任务图中,没有任何父结点的任务称为入口任务,没有任何孩子结点的任务称之为出口任务。本发明假定云工作流只有一个单一的入口任务和一个单一的出口任务,因此总是在云工作流的开始和结束处分别添加两个虚拟结点:tentry和texit,它们的执行时间都为0,和实际入口和出口任务连接的依赖权值也为0。
一般来说,服务供应商能为云工作流应用的每个任务提供具有不同QoS的多个服务,假定工作流中的每个任务ti可以由k个具有不同QoS属性的服务Si={si,1,si,2,…,si,k}来执行。服务的QoS属性包括许多方面,比如执行时间、成本、可靠性和安全等。在本发明中的调度模型主要使用两个最重要的QoS属性:执行时间和成本。服务的成本通常取决于它的执行时间,即服务的执行时间越短意味着其所花费的成本就越高。假定为每个任务提供服务的多个云服务按照它们所耗时间的升序进行排序,即si,j比si,j+1要快,但更贵。
此外,ET(ti,s)和EC(ti,s)分别定义为在服务s上处理任务ti所需要的执行时间和执行成本。任务之间的数据传输也需要消耗时间和成本,假设所有的任务都使用一个共享的存储服务来发送和接收中间数据。一个依赖ei,j的数据传输时间仅取决于相应任务之间需要传输的数据量,而和执行对应任务的云服务无关。因此,将TT(eij)定义为一个依赖ei,j的数据传输时间,与ti和tj所选择的云服务无关。
2能耗模型
对于一个由n个任务组成的云工作流应用调度执行所产生的能耗,可以建立如下模型:
其中,E表示总能耗,SS(ti)表示为任务ti所选择的服务,P(ti,SS(ti))表示任务ti在服务SS(ti)上执行的功率,T(ti,SS(ti))表示任务ti在SS(ti)上执行所花费的时间。
本发明假定云系统中能提供服务的任务集为Work={w1,w2,…,wm}(m>=n),而云计算系统中wi(i=1,2,…,m)类任务的到达率为λi,云计算系统中用来处理用户请求任务的每个服务可以建立M/M/1排队模型。si,j表示为wi类任务提供的服务部署在主机hj上,则hj上任务wi的到达率λi,j可表示为:
λi,j=Pi,j×λi (2)
其中Pi,j表示任务wi由部署在hj主机上的服务si,j来执行的概率。假定服务si,j对wi类任务的服务率为μi,j,则si,j对wi的平均响应时间MRT(Mean Response Time)就可以表示为:
如果任务wi的时间属性约束为qti,令MRT=qti,则μi,j可表示为:
主机hj对所有m类任务(wi,i=1,2,…,m)的服务强度可表示为:
任意服务si,j在t时刻的功率Powerj可计算如下:
其中,Pc为服务si,j的常量能耗,ai,j和bi,j为能耗参数,不同的服务强度所对应的能耗参数值则不同。利用(5)式,当为云工作流任务ti提供服务的si,j的负载趋向于稳定时,可得si,j所处主机hj的功率,计算如下:
因此,假定服务si,j执行的开始时间为time1,结束时间为time2,则其执行完毕所产生的能耗可以计算如下:
3关键路径
云工作流的一次调度定义为服务到工作流所有任务的一次分配,工作流w(T,E)的一次调度表示如下:
定义1服务图:服务图GS=(S,D),其中S={si|mapping(si,ti)}为云工作流中每个任务所匹配的服务集,为服务之间的边集(边表示服务图中服务之间的依赖性)。本发明中的云工作流可行调度方案对应的就是一个服务图。对于图2中的云工作流应用,假定初始调度后服务与任务之间的匹配为:t1→s1,3,t2→s2,2,t3→s3,4,t4→s4,6,t5→s5,6,t6→s6,8,t7→s7,8,t8→s8,1,则对应的服务图见图3所示。
定义2对于利用有向无环图w(T,E)来建立模型的任意云工作流应用,在调度的过程中需要给每一个任务匹配一个合适的服务,所得到的云工作流服务图就会存在一条关键路径与之相对应,本发明用WCP(Workflow Critical Path)表示。
云工作流的执行时间T和总成本C可以表示如下:
对于任意云工作流的调度,需要为每一个任务ti定义它的最早开始时间EST(ti),ti就可以在最早开始时间EST(ti)启动它的计算,EST的计算如下:
EST(tentry)=0 (10)
因此,每个任务ti的最早完成时间EFT(ti)是ti可以完成其计算的最早时间,计算如下:
EFT(ti)=EST(ti)+ET(ti,SS(ti)) (12)
同时,也定义了每个任务ti的最迟完成时间LFT(ti),ti能最迟在LFT(ti)时完成它的计算,这样整个工作流就可以在用户定义的最后期限D之前执行完毕。LFT(ti)的计算如下:
LFT(texit)=D (13)
定义3结点ti的关键父结点就是ti的具有最迟数据到达时间的未调度父结点,表示为CriticalParent(t)。也就是说,它是ti的尚未调度的父结点tp,并要满足EST(tp)+ET(tp,SS(tp))+TT(ep,i)的值为最大。
在云工作流的调度中,关键路径的求取算法如下:
输入:云工作流任务集的有向无环图w(T,E)
输出:云工作流的关键路径WCP
步骤1:将虚拟结点tentry,texit及其对应的依赖关系添加到有向无环图w中;
步骤2:为工作流任务集{t1,t2,…,tn}中的每一个任务ti选择合适的初始服务:SS(ti);
步骤3:根据公式计算每一个任务ti的最早开始执行时间;
步骤4:根据公式计算每一个任务ti的最迟完成时间;
步骤5:在有向无环图w中将结点tentry,texit标记为已调度结点;
步骤6:令t=texit,初始关键路径WCP为空;
步骤7:如果t存在未调度的父结点Tp集,令EST(tp)+ET(tp,SS(tp))+TT(ep,i)值最大且小于等于LFT(t)的tp为它的关键父结点CriticalParent(t),然后将结点tp加入WCP中;
步骤8:令t=CriticalParent(t),如果t不存在未调度的父结点Tp集,得到的WCP逆序结点集即为关键路径;否则,返回步骤7循环。
步骤9:输出WCP,算法结束。
4能耗优化
4.1能耗优化模型
根据本发明的能耗模型,在满足服务等级协议(SLA)时间属性和成本属性的前提下,云工作流调度的能耗优化目标就是最小化一次云工作流应用执行的总能耗,其数学模型表示如下:
其中,P(SS(ti),ti)表示在任务ti所匹配的服务主机上执行该任务时的功率,Time(SS(ti),ti)表示在任务ti所匹配的服务主机上执行该任务所需要的时间,makspan表示服务等级协议中规定的总时间约束,C(SS(ti),ti)表示在任务ti所匹配的服务上执行该任务所需要的成本,Cost表示服务等级协议中规定的总成本约束。
定义4可行调度方案(FSS):云工作流应用在调度的过程中,如果能满足服务等级协议中所规定的时间属性和成本属性而完成工作流执行的服务图GS=(S,D)称为可行调度方案。设Schk为一个满足时间和成本QoS的可行调度方案,Ω(Sch)表示所有可行调度方案Schk组成的集合。本发明假设至少存在一个可行调度方案,令Ω(Sch)=L,L表示可行的云工作流应用调度方案的数量。可行调度方案执行完毕所产生的能耗可以估算如下:
4.2能耗优化算法
为了解决云工作流应用的不匹配调度能耗浪费问题,本发明所采用的能耗优化算法思想如下:首先在云工作流应用对应的所有服务图中搜索可行调度方案,如果一个方案所花费的时间不大于服务等级协议规定的总时间约束,所支付的成本不大于服务等级协议规定的总成本约束,则将该方案标记为可行调度方案;然后根据(8)式计算每一个可行调度方案执行完毕所产生的能耗;最后通过比较,选择能耗最小的调度方案作为最佳的调度方案。具体的实现算法如下:
输入:云工作流应用对应的所有服务图{GSi}
输出:最佳调度方案
步骤1:对于每一个GSi,找出它的关键路径WCPi;
步骤2:任意的GSi,如果且则将GSi加入可行调度方案集FSS中;
步骤3:按照公式计算可行调度方案FSS0中每一个服务执行所产生的能耗;
步骤4:令最小执行能耗min_EC=EC(FSS0);
步骤5:从FSS集中删除FSS0;
步骤6:如果FSS为空,确定FSS0为最佳调度方案,跳转到步骤10;
步骤7:FSS非空,选择任意的FSSi,按照公式计算可行调度方案FSSi中每一个服务执行所产生的能耗;
步骤8:如果min_EC>EC(FSSi),令min_EC=EC(FSSi);
步骤9:从FSS集中删除FSSi,如果FSS为空,则确定FSSi为最优调度方案;否则返回步骤7循环;
步骤10:输出最优调度方案,算法结束。
下面结合实验对本发明的应用效果作详细的描述。
为了评价本发明所提出的云工作流调度能耗优化方法的有效性,在云计算模拟平台CloudSim环境中对Montage、Epigenomics、fMRI和e-protein等工作流分别采用了Yu J,Buyya R,Tham C.K.Cost-based scheduling of scientific workflow applications onutility grids[C].In Proceedings of First Int’l Conference on e-Science andGrid Computing,Melbourne,Australia,2005:140–147、Rizos Sakellariou,Henan Zhao,Eleni Tsiakkouri.Scheduling Workflows with Budget Constraints[R].IntegratedResearch in GRID Computing,Pisa,Italy,2007:189-202和ECOS(本发明所提出的方法)进行了调度实验,并对它们执行后的时间消耗、成本花费和能耗进行了比较。实验中,给每一个工作流应用都分配了一个时间约束条件makspan和成本约束条件cost。根据云工作流任务的需要,在实验中为每种类型的任务提供10个候选服务,每个候选服务处理该类任务的速度、消耗的时间和花费的成本不同,一般来说速度越快,所需时间越少,但成本却越高。实验中所涉及的环境参数及取值见表1所示。
表1模拟环境的参数设置
参数 | 设置 | 说明 |
m | 25 | 云计算系统服务器的数量 |
λi | [5,20] | 第i类任务的平均达到率 |
μi,j | [4,15] | 服务器cj对第i类服务的服务率 |
Pj | [50,80] | 服务器cj的空闲功率 |
Pi,j | [80,180] | 服务器cj执行第i类任务的执行功率 |
manspan | [20,200] | 服务等级协议中的时间约束 |
cost | [100,350] | 服务等级协议中的成本约束 |
利用Deadline-MDP、Loss and Gain和ECOS方法对Montage、Epigenomics、fMRI和e-protein这些工作流应用进行了调度执行,各种方法所消耗的时间见图4所示。从图4中可以得知:在用户所定义的时间和成本约束下,采用Loss and Gain方法(其目标是在成本约束下最小化执行时间)执行各种云工作流应用所消耗的时间最少,而采用Deadline-MDP方法(其目标是在最后时间约束下最小化成本)所需要的时间最多,利用本发明所提出的ECOS方法执行工作流应用所花费的时间大于Loss and Gain方法,却小于Deadline-MDP方法。因此,在成本约束下,最小化时间的方法应采用Loss and Gain方法。
采用Deadline-MDP、Loss and Gain和ECOS方法对Montage、Epigenomics、fMRI和e-protein等工作流应用进行调度执行,所花费的成本见图5所示。图5表明:Deadline-MDP方法执行云工作流应用所花费的平均成本最低,Loss and Gain方法执行的平均成本最高,而ECOS方法执行云工作流所产生的平均成本略低于Loss and Gain方法。因此,在时间约束下,最小化成本的方法应选择采用Deadline-MDP方法。
使用Deadline-MDP、Loss and Gain和ECOS方法对Montage、Epigenomics、fMRI和e-protein等工作流应用进行调度执行,所消耗的能耗见图6所示。从图6可以知道:在固定的时间属性和成本属性控制下,对于Montage、Epigenomics、fMRI和e-protein的每一个云工作流的执行,ECOS方法虽然在执行时间和花费的成本方面不是最优,但其所产生的能耗显然是最优的,其平均能耗比另两种方法要低10%左右。因此,在云计算的环境中如果想降低云工作流执行的能耗可以首选ECOS方法。
使用Deadline-MDP、Loss and Gain、MAX-MIN和ECOS方法对Montage-100,Montage-300,Montage-500和Montage-700四种规模的云工作流应用执行的能耗见图7所示,从该图中可以看出ECOS方法相比其它几种方法,随着云工作流规模的逐渐增大,其在能耗优化方面的效果就越明显,能耗最高可减少24.7%。
由于云计算环境中能耗问题的日益突出,本发明针对云工作流调度执行的能耗优化问题,通过构建云工作流的能耗计算模型,并根据时间和成本的约束提出了相应的处理算法,模拟实验证明本发明所提出的方法切实可行。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (9)
1.一种云工作流调度的能耗优化方法,其特征在于,所述云工作流调度的能耗优化方法利用关键路径搜索云工作流应用所有可行调度方案;通过计算每一个可行调度方案的能耗发现最佳调度方案。
2.如权利要求1所述的云工作流调度的能耗优化方法,其特征在于,所述云工作流调度的能耗优化方法的云工作流模型通过有向无环图w(T,E)来建立;在图w中,T表示n个任务{t1,t2,…tn}组成的任务集,E为任务之间的依赖关系集;每一个依赖关系ei,j=(ti,tj)表示一个优先约束,任务tj开始之前ti应该完成执行;在一个给定的任务图中,没有任何父结点的任务称为入口任务,没有任何孩子结点的任务称之为出口任务。
3.如权利要求1所述的云工作流调度的能耗优化方法,其特征在于,所述云工作流调度的能耗优化方法的能耗模型:
其中,E表示总能耗,SS(ti)表示为任务ti所选择的服务,P(ti,SS(ti))表示任务ti在服务SS(ti)上执行的功率,T(ti,SS(ti))表示任务ti在SS(ti)上执行所花费的时间;
云计算系统中wi(i=1,2,…,m)类任务的到达率为λi,云计算系统中用来处理用户请求任务的每个服务可以建立M/M/1排队模型;si,j表示为wi类任务提供的服务部署在主机hj上,则hj上任务wi的到达率λi,j可表示为:
λi,j=Pi,j×λi;
其中Pi,j表示任务wi由部署在hj主机上的服务si,j来执行的概率,假定服务si,j对wi类任务的服务率为μi,j,则si,j对wi的平均响应时间MRT表示为:
如果任务wi的时间属性约束为qti,令MRT=qti,则μi,j表示为:
主机hj对所有m类任务(wi,i=1,2,…,m)的服务强度表示为:
任意服务si,j在t时刻的功率Powerj计算如下:
其中,Pc为服务si,j的常量能耗,ai,j和bi,j为能耗参数,不同的服务强度所对应的能耗参数值则不同,当为云工作流任务ti提供服务的si,j的负载趋向于稳定时,可得si,j所处主机hj的功率,计算如下:
产生的能耗计算如下:
4.如权利要求1所述的云工作流调度的能耗优化方法,其特征在于,所述云工作流调度的能耗优化方法的工作流w(T,E)的一次调度表示如下:
服务图GS=(S,D),其中S={si|mapping(si,ti)}为云工作流中每个任务所匹配的服务集,为服务之间的边集;云工作流应用初始调度后服务与任务之间的匹配为:t1→s1,3,t2→s2,2,t3→s3,4,t4→s4,6,t5→s5,6,t6→s6,8,t7→s7,8,t8→s8,1;
利用有向无环图w(T,E)来建立模型的任意云工作流应用,在调度的过程中需要给每一个任务匹配一个合适的服务,所得到的云工作流服务图就会存在一条关键路径与之相对应,用WCP表示;云工作流的执行时间T和总成本C表示如下:
对于任意云工作流的调度,需要为每一个任务ti定义它的最早开始时间EST(ti),ti在最早开始时间EST(ti)启动它的计算,EST的计算如下:
EST(tentry)=0;
因此,每个任务ti的最早完成时间EFT(ti)是ti完成其计算的最早时间,计算如下:
EFT(ti)=EST(ti)+ET(ti,SS(ti));
每个任务ti的最迟完成时间LFT(ti),ti能最迟在LFT(ti)时完成它的计算,LFT(ti)的计算如下:
LFT(texit)=D;
结点ti的关键父结点就是ti的具有最迟数据到达时间的未调度父结点,表示为CriticalParent(t),是ti的尚未调度的父结点tp,并要满足EST(tp)+ET(tp,SS(tp))+TT(ep,i)的值为最大。
5.如权利要求4所述的云工作流调度的能耗优化方法,其特征在于,所述关键路径的求取算法如下:
输入:云工作流任务集的有向无环图w(T,E)
输出:云工作流的关键路径WCP
(1)将虚拟结点tentry,texit及其对应的依赖关系添加到有向无环图w中;
(2)为工作流任务集{t1,t2,…,tn}中的每一个任务ti选择合适的初始服务:SS(ti);
(3)根据公式计算每一个任务ti的最早开始执行时间;
(4)根据公式计算每一个任务ti的最迟完成时间;
(5)在有向无环图w中将结点tentry,texit标记为已调度结点;
(6)令t=texit,初始关键路径WCP为空;
(7)如果t存在未调度的父结点Tp集,令EST(tp)+ET(tp,SS(tp))+TT(ep,i)值最大且小于等于LFT(t)的tp为它的关键父结点CriticalParent(t),然后将结点tp加入WCP中;
(8)令t=CriticalParent(t),如果t不存在未调度的父结点Tp集,得到的WCP逆序结点集即为关键路径;否则,返回(7)循环;
(9)输出WCP,算法结束。
6.如权利要求1所述的云工作流调度的能耗优化方法,其特征在于,所述云工作流调度的能耗优化方法的能耗优化模型表示如下:
其中,P(SS(ti),ti)表示在任务ti所匹配的服务主机上执行该任务时的功率,Time(SS(ti),ti)表示在任务ti所匹配的服务主机上执行该任务所需要的时间,makspan表示服务等级协议中规定的总时间约束,C(SS(ti),ti)表示在任务ti所匹配的服务上执行该任务所需要的成本,Cost表示服务等级协议中规定的总成本约束;
所产生的能耗估算:
7.如权利要求6所述的云工作流调度的能耗优化方法,其特征在于,所述能耗优化算法首先在云工作流应用对应的所有服务图中搜索可行调度方案,然后计算每一个可行调度方案执行完毕所产生的能耗;最后通过比较,选择能耗最小的调度方案作为最佳的调度方案。
8.如权利要求7所述的云工作流调度的能耗优化方法,其特征在于,所述能耗优化算法具体包括:
输入:云工作流应用对应的所有服务图{GSi}
输出:最佳调度方案
(1)对于每一个GSi,找出它的关键路径WCPi;
(2)任意的GSi,如果且则将GSi加入可行调度方案集FSS中;
(3)按照公式计算可行调度方案FSS0中每一个服务执行所产生的能耗;
(4)令最小执行能耗min_EC=EC(FSS0);
(5)从FSS集中删除FSS0;
(6)如果FSS为空,确定FSS0为最佳调度方案,跳转到(10);
(7)FSS非空,选择任意的FSSi,按照公式计算可行调度方案FSSi中每一个服务执行所产生的能耗;
(8)如果min_EC>EC(FSSi),令min_EC=EC(FSSi);
(9)从FSS集中删除FSSi,如果FSS为空,则确定FSSi为最优调度方案;否则返回(7)循环;
(10)输出最优调度方案,算法结束。
9.一种应用权利要求1~8任意一项所述云工作流调度的能耗优化方法的云计算系统。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810463368.XA CN108768703A (zh) | 2018-05-15 | 2018-05-15 | 一种云工作流调度的能耗优化方法、云计算系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810463368.XA CN108768703A (zh) | 2018-05-15 | 2018-05-15 | 一种云工作流调度的能耗优化方法、云计算系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108768703A true CN108768703A (zh) | 2018-11-06 |
Family
ID=64007827
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810463368.XA Pending CN108768703A (zh) | 2018-05-15 | 2018-05-15 | 一种云工作流调度的能耗优化方法、云计算系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108768703A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109614038A (zh) * | 2018-11-23 | 2019-04-12 | 北京信息科技大学 | 一种多样化QoS约束的多速磁盘调度方法 |
CN109684062A (zh) * | 2018-12-25 | 2019-04-26 | 人和未来生物科技(长沙)有限公司 | 基于成本的跨云平台任务调度方法和系统 |
CN111506431A (zh) * | 2020-04-26 | 2020-08-07 | 泸州职业技术学院 | 一种云服务器在能耗约束下感知负载性能优化方法 |
CN113467903A (zh) * | 2021-05-18 | 2021-10-01 | 杭州电子科技大学 | 一种面向能耗与安全感知的服务工作流调度方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105068863A (zh) * | 2015-07-16 | 2015-11-18 | 福州大学 | 多云环境下带截止日期约束工作流的基于代价驱动调度方法 |
US20170048285A1 (en) * | 2014-08-29 | 2017-02-16 | Box, Inc. | Managing flow-based interactions with cloud-based shared content |
-
2018
- 2018-05-15 CN CN201810463368.XA patent/CN108768703A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170048285A1 (en) * | 2014-08-29 | 2017-02-16 | Box, Inc. | Managing flow-based interactions with cloud-based shared content |
CN105068863A (zh) * | 2015-07-16 | 2015-11-18 | 福州大学 | 多云环境下带截止日期约束工作流的基于代价驱动调度方法 |
Non-Patent Citations (1)
Title |
---|
YONGHONG LUO等: "Power Consumption Optimization Strategy of Cloud Workflow Scheduling Based on SLA", 《WSEAS TRANSACTIONS ON SYSTEMS》 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109614038A (zh) * | 2018-11-23 | 2019-04-12 | 北京信息科技大学 | 一种多样化QoS约束的多速磁盘调度方法 |
CN109684062A (zh) * | 2018-12-25 | 2019-04-26 | 人和未来生物科技(长沙)有限公司 | 基于成本的跨云平台任务调度方法和系统 |
CN111506431A (zh) * | 2020-04-26 | 2020-08-07 | 泸州职业技术学院 | 一种云服务器在能耗约束下感知负载性能优化方法 |
CN111506431B (zh) * | 2020-04-26 | 2023-07-04 | 泸州职业技术学院 | 一种云服务器在能耗约束下感知负载性能优化方法 |
CN113467903A (zh) * | 2021-05-18 | 2021-10-01 | 杭州电子科技大学 | 一种面向能耗与安全感知的服务工作流调度方法 |
CN113467903B (zh) * | 2021-05-18 | 2024-04-16 | 杭州电子科技大学 | 一种面向能耗与安全感知的服务工作流调度方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108768703A (zh) | 一种云工作流调度的能耗优化方法、云计算系统 | |
Mezmaz et al. | A parallel bi-objective hybrid metaheuristic for energy-aware scheduling for cloud computing systems | |
CN102932279B (zh) | 一种云环境数据中心多维资源调度方法 | |
CN101237469B (zh) | 运用蚁群算法优化多QoS网格工作流的方法 | |
Huang et al. | Task-container matching game for computation offloading in vehicular edge computing and networks | |
CN103488539B (zh) | 一种基于cpu动态调频技术的数据中心节能方法 | |
Gu et al. | Greening cloud data centers in an economical way by energy trading with power grid | |
CN107168770B (zh) | 一种低能耗的云数据中心工作流调度与资源供给方法 | |
CN103076870B (zh) | 数据中心中能耗驱动的应用融合调度和资源动态配置方法 | |
CN102171627A (zh) | 对在异构计算系统中执行的应用的调度 | |
Che et al. | A deep reinforcement learning approach to the optimization of data center task scheduling | |
CN102495758A (zh) | 分布式高性能计算环境中实时任务的调度方法 | |
Sun et al. | Edge computing-enabled internet of vehicles: Towards federated learning empowered scheduling | |
CN103957261A (zh) | 一种基于能耗优化的云计算资源分配的方法 | |
CN110308967A (zh) | 一种基于混合云的工作流成本-延迟最优化任务分配方法 | |
CN103257900B (zh) | 减少cpu占用的多处理器上实时任务集资源预留方法 | |
CN103399626A (zh) | 面向混合计算环境的功耗感知的并行应用调度系统及方法 | |
Hao et al. | Adaptive energy-aware scheduling method in a meteorological cloud | |
Almahmoud et al. | Dynamic pricing in smart grids under thresholding policies | |
Fan et al. | Graph4Edge: A graph-based computation offloading strategy for mobile-edge workflow applications | |
CN105005503A (zh) | 基于元胞自动机的云计算负载均衡任务调度方法 | |
CN104102532A (zh) | 一种异构集群中基于低能耗的科学工作流调度方法 | |
Zhang et al. | Survey on task scheduling optimization strategy under multi-cloud environment | |
Gong | Workflow scheduling based on mobile cloud computing machine learning | |
Yang et al. | Study on static task scheduling based on heterogeneous multi-core processor |
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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20181106 |