面向能耗的云工作流调度优化方法

文档序号:9505831阅读:523来源:国知局
面向能耗的云工作流调度优化方法
【技术领域】
[0001] 本发明涉及一种计算机技术、信息技术和系统工程领域,更具体的说,尤其涉及一 种面向能耗的云工作流调度优化方法。
【背景技术】
[0002] 云计算环境下的工作流,简称"云工作流",是云计算与工作流相关技术的整合,能 有效提高云计算的服务质量,在需要高效计算性能和大规模存储支撑的跨组织业务协作、 科学计算等领域具有广泛的应用前景。在云计算环境下,通常配置有型号不一定相同的众 多主机;工作流执行时,通常以虚拟机作为计算资源的最小分配单位负责接收并处理工作 流任务,而虚拟机是建立在单台主机中的,由主机给其分配计算能力、带宽。云工作流调度 是指在满足工作流任务时序和用户需要约束下如何把工作流任务映射/分配到合适的云 计算资源(虚拟机)上,以及如何安排被分配到云计算资源(虚拟机)上的任务的执行顺 序。云工作流调度直接决定了整个云工作流系统的性能,已成为云工作流系统的一个重要 研究内容。当前大多数的云工作流调度/执行优化方法通常只关注执行时间或成本的优 化,很少考虑能耗因素,少数基于DVFS技术的云工作流执行/调度优化方法考虑了能耗因 素,但DVFS技术需要调整服务器CPU的运行电压/频率、反复关闭/重启服务器,这会影响 服务器的性能,也会提升服务器组件的磨损率,进而引发服务器采购与替换成本的上升,在 实际使用中有一定的局限性。

【发明内容】

[0003] 本发明的目的就在于为了解决上述问题而提供了一种面向能耗的云工作流调度 优化方法。
[0004] 本发明通过以下技术方案来实现上述目的:面向能耗的云工作流调度优化方法, 包括如下步骤:
[0005] 步骤1 :建立面向能耗的云工作流过程模型和资源模型,获得调度优化所需的信 息。
[0006] 云工作流过程模型定义为:Φ = {T,E},T是云工作流过程模型中的任务t的集 合,E是一个有向边(T中元素有序对)的集合,E中的每个有向边被表示为e (Utj);在一个 e (t" t)中,h称为t j的前继任务,t」称为t 土的后继任务,t」只有在其前继任务t ;被执行 完成后才能被资源执行;任务集T中的任务t被进一步描述为t = (id, length, IFL, 0FL); t. id是任务t的编号或名称;t. length是任务t的执行长度,即任务t被计算资源(虚拟 机)处理时需要耗费的指令数量;t. IFL是处理任务t时需要的输入文件列表;t. OFL是任 务t被处理后产生的输出文件列表。用file, size表示文件file的大小。
[0007] 云工作流资源模型被定义为:cr = (H, VM) ;cr. H是云计算环境下主机h的集合; cr. VM是云计算环境下虚拟机vm的集合。
[0008] 所述主机h被定义为:h = (id, ps, n , St) ;h. id是主机h的编号或名称;h. PS是 主机h的计算能力;h. Tl是主机h的负载一功耗函数,根据《计算服务器功耗和性能特性 的工业标准》提供的数据采用线性内插法来计算获得;h. St是主机h的当前状态,h. St = 〇表示当前主机h是空闲的,h. st = 1表示当前主机h正在处理任务,在s时刻主机h的状 态用h. st (s)表示。
[0009] 所述虚拟机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。
[0010] 步骤2 :计算任务的优先级(rank值)
[0011] 首先,计算处理任务^时的平均执行时间^、需要从共享数据库获得输入数据/ 文件的平均传输时间?;,及两个连续任务在虚拟机间的数据/文件平均传输时间ζ。 [0012] 处理任务&时的平均执行时间的计算方法如下:
[0014] 其中:VMi= {vm| t # vm. T}表示所有可以处理任务t ;的虚拟机集合。
[0015] 处理任务h时需要从共享数据库获得输入数据/文件的平均传输时间ξ的计算 方法如下:
[0017] 从任务^到t j的数据/文件平均传输时间$的计算方法如下:
?
[0019] 其中:VMj= IvmIt jG vm.T}表示所有可以执行任务、的虚拟机集合;
[0020] 然后,计算每个任务的优先级,在工作流过程模型中对于没有后继任务的结束任 务tp其优先级为:
[0022] 其它任务的优先级采用如下递归公式进行计算:
[0024] 其中:succ (tj = ItIeUi, t) e E}是任务h的后继任务集合;
[0025] 步骤3 :从任务集T中取出一个优先级最高的任务t,找出可以执行任务t的虚拟 机集合VMt,计算把任务t分别分配给VM t中的每个虚拟机后完成包括t在内的所有已分配 任务{V i,…,t' J将消耗的能耗
[0026] 所述计算方法如下:
[0028] 其中.?为任务C丨,…,C m的完成时间,VMh= {vm I vm. hid = h. id}是 创建在主机h中的虚拟机集合。
[0029] 步骤4 :找出消耗能耗最小的vm,如果最小的只有一个,把t分配给此vm,如有多 个最小的,则计算这些vm开始处理任务t时所在主机h的性能功率比ξ h (s)(其中s是虚 拟机vm开始处理任务t的时刻),把t分配给能耗消耗最小当中其所在主机性能功耗比最 高的;把任务t从任务集T中删除,若任务集T不为空则转到步骤3,否则转到步骤5 ;
[0030] 所述虚拟机vm开始处理任务t时其所在主机h的性能功率比ξ h (s)计算如下:
[0032] 步骤5 :输出工作流调度(任务分配)方案。
[0033] 在步骤1中,若任务h是任务t j的前继任务,那么任务t ;执行后广生的输出文件 中至少有一个是任务tj执行所需要的输入文件,SP : V气/ e五,ti. OFL n IFL辛Φ。
[0034] 在步骤1中,所述主机状态为0的充要条件是:主机中的所有虚拟机都没有处理任 务处于〇状态,形式化表示为:
主机状态为1的充要条件是:主机 中有虚拟机在处理任务处于1状态,形式化表示为
[0035] 在步骤1中,所述任务执行长度与虚拟机的处理能力共同影响着虚拟机执行任务 的时间。任务t在虚拟机vm上的执行时间为:
[0037] 在步骤1中,所述文件大小与虚拟机带宽共同影响着文件在不同虚拟机或虚拟机 与共享文件系统之间的传输时间。
[0038] 文件在虚拟机Vmi,Vmj间传输文件f i I e所需的时间为:
[0040] 文件在虚拟机Vm1与共享数据库间传输file所需的时间为:
[0042] 本发明的有益效果在于:
[0043] (1)在云工作流资源模型中包含能耗因素的描述,建立了云工作流任务执行、虚 拟机状态和主机负载之间的关系,根据《计算服务器功耗和性能特性的工业标准》(The SPECpower benchmark)提供的数据采用线性内插法来计算建立了主机负载与功耗之间的 关系,实现了基于负载的能耗计算方法。
[0044] (2)在任务优先级计算及任务选择时考虑了任务处理时文件在不同虚拟机间传输 的速度差异、虚拟机与本地共享数据库间的文件传输等因素,更符合实际情况,在资源选择 时,采用了能耗消耗最小的规则,在保持工作流执行时间效率的同时有效降低主机处理任 务所消耗的能耗。
[0045] (3)从主机负载与功耗关系角度,进行能耗的计算与调度优化方法,不需要通过调 整主机CPU的运行电压/频率、反复关闭/重启主机来实现能耗优化,不会影响主机的性 能,也不会提升主机组件的磨损率,使用限制更少、范围更广。
【附图说明】
[0046] 图1 一个CyberSha
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1