本发明专利技术公开了一种面向能耗的云工作流调度优化方法,包括如下步骤:(1)建立面向能耗的云工作流过程模型和资源模型;(2)计算任务的优先级;(3)从任务集T中取出一个优先级最高的任务t,找出可以执行任务t的虚拟机集合VMt,计算把任务t分别分配给VMt中的每个虚拟机后完成所有已分配任务将消耗的能耗;(4)找出消耗能耗最小的vm,如果最小的只有一个,把t分配给此vm,如有多个,则把t分配给能耗消耗最小当中其所在主机性能功耗比最高的;把任务t从任务集T中删除,若任务集T不为空则转到(3),否则转到(5);(5)输出工作流调度方案。提出的调度优化方法考虑了能耗因素,在保持工作流执行时间效率的同时有效降低主机处理任务所消耗的能耗。
【技术实现步骤摘要】
本专利技术涉及一种计算机技术、信息技术和系统工程领域,更具体的说,尤其涉及一种面向能耗的云工作流调度优化方法。
技术介绍
云计算环境下的工作流,简称“云工作流”,是云计算与工作流相关技术的整合,能有效提高云计算的服务质量,在需要高效计算性能和大规模存储支撑的跨组织业务协作、科学计算等领域具有广泛的应用前景。在云计算环境下,通常配置有型号不一定相同的众多主机;工作流执行时,通常以虚拟机作为计算资源的最小分配单位负责接收并处理工作流任务,而虚拟机是建立在单台主机中的,由主机给其分配计算能力、带宽。云工作流调度是指在满足工作流任务时序和用户需要约束下如何把工作流任务映射/分配到合适的云计算资源(虚拟机)上,以及如何安排被分配到云计算资源(虚拟机)上的任务的执行顺序。云工作流调度直接决定了整个云工作流系统的性能,已成为云工作流系统的一个重要研究内容。当前大多数的云工作流调度/执行优化方法通常只关注执行时间或成本的优化,很少考虑能耗因素,少数基于DVFS技术的云工作流执行/调度优化方法考虑了能耗因素,但DVFS技术需要调整服务器CPU的运行电压/频率、反复关闭/重启服务器,这会影响服务器的性能,也会提升服务器组件的磨损率,进而引发服务器采购与替换成本的上升,在实际使用中有一定的局限性。
技术实现思路
本专利技术的目的就在于为了解决上述问题而提供了一种面向能耗的云工作流调度优化方法。本专利技术通过以下技术方案来实现上述目的:面向能耗的云工作流调度优化方法,包括如下步骤:步骤1:建立面向能耗的云工作流过程模型和资源模型,获得调度优化所需的信息。云工作流过程模型定义为:Φ={T,E本文档来自技高网...
【技术保护点】
面向能耗的云工作流调度优化方法,其特征在于:包括如下步骤:步骤1:建立面向能耗的云工作流过程模型和资源模型,获得调度优化所需的信息云工作流过程模型定义为:Φ={T,E},T是云工作流过程模型中的任务t的集合,E是一个有向边(T中元素有序对)的集合,E中的每个有向边被表示为e(ti,tj);在一个e(ti,tj)中,ti称为tj的前继任务,tj称为ti的后继任务,tj只有在其前继任务ti被执行完成后才能被资源执行;任务集T中的任务t被进一步描述为t=(id,length,IFL,OFL);t.id是任务t的编号或名称;t.length是任务t的执行长度,即任务t被计算资源(虚拟机)处理时需要耗费的指令数量;t.IFL是处理任务t时需要的输入文件列表;t.OFL是任务t被处理后产生的输出文件列表;用file.size表示文件file的大小;云工作流资源模型被定义为:cr=(H,VM);cr.H是云计算环境下主机h的集合;cr.VM是云计算环境下虚拟机vm的集合;所述主机h被定义为:h=(id,ps,η,st);h.id是主机h的编号或名称;h.ps是主机h的计算能力;h.η是主机h的负载‑‑功耗函数,根据《计算服务器功耗和性能特性的工业标准》提供的数据采用线性内插法来计算获得;h.st是主机h的当前状态,h.st=0表示当前主机h是空闲的,h.st=1表示当前主机h正在处理任务,在s时刻主机h的状态用h.st(s)表示;所述虚拟机vm被定义为:vm=(id,hid,T,ps,bw,st);vm.id是虚拟机vm的编号或名称;vm.hid是虚拟机vm所在主机的编号或名称;vm.T是虚拟机vm可以处理的工作流任务集合;vm.ps是虚拟机vm的计算能力,由所在主机分配;vm.bw是虚拟机vm的带宽,由所在主机分配;vm.st是虚拟机vm的当前状态,vm.st=0表示当前虚拟机vm空闲,vm.st=1表示当前虚拟机vm正在处理任务,在s时刻虚拟机vm的状态用vm.st(s)表示;vm处于1状态时,其总是全力处理任务,其利用率为1,反之,vm处于0状态时,虚拟机不处理任务,其利用率为0;步骤2:计算任务的优先级(rank值)首先,计算处理任务ti时的平均执行时间需要从共享数据库获得输入数据/文件的平均传输时间及两个连续任务在虚拟机间的数据/文件的平均传输时间处理任务ti时的平均执行时间的计算方法如下:其中:VMi={vm|ti∈vm.T}表示所有可以处理任务ti的虚拟机集合;处理任务ti时需要从共享数据库获得输入数据/文件的平均传输时间的计算方法如下:从任务ti到tj的数据/文件平均传输时间的计算方法如下:其中:VMj={vm|tj∈vm.T}表示所有可以执行任务tj的虚拟机集合;然后,计算每个任务的优先级,在工作流过程模型中对于没有后继任务的结束任务ti,其优先级为:其它任务的优先级采用如下递归公式进行计算:其中:succ(ti)={t|e(ti,t)∈E}是任务ti的后继任务集合;步骤3:从任务集T中取出一个优先级最高的任务t,找出可以执行任务t的虚拟机集合VMt,计算把任务t分别分配给VMt中的每个虚拟机后完成包括t在内的所有已分配任务{t′1,…,t′m}将消耗的能耗所述的计算方法如下:其中:为任务t′1,…,t′m的完成时间,VMh={vm|vm.hid=h.id}是创建在主机h中的虚拟机集合;步骤4:找出消耗能耗最小的vm,如果最小的只有一个,把t分配给此vm,如有多个最小的,则计算这些vm开始处理任务t时所在主机h的性能功率比ξh(s)(其中s是虚拟机vm开始处理任务t的时刻),把t分配给能耗消耗最小当中其所在主机性能功耗比最高的;把任务t从任务集T中删除,若任务集T不为空则转到步骤3,否则转到步骤5;所述虚拟机vm开始处理任务t时其所在主机h的性能功率比ξh(s)计算如下:步骤5:输出工作流调度(任务分配)方案。...
【技术特征摘要】
1.面向能耗的云工作流调度优化方法,其特征在于:包括如下步骤:
步骤1:建立面向能耗的...
【专利技术属性】
技术研发人员:谢毅,
申请(专利权)人:浙江工商大学,
类型:发明
国别省市:浙江;33
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。