一种云环境下模块化并行作业的动态节能调度方法技术

技术编号:19489102 阅读:17 留言:0更新日期:2018-11-17 12:02
本发明专利技术公开了一种云环境下模块化并行作业的动态节能调度方法,包括以下步骤:(1)根据系统日志,计算系统平均负载及作业平均并行度;(2)根据系统的平均负载,寻找资源的参考工作状态,包括计算资源的工作频率与工作电压;(3)假设资源工作在参考工作状态下,且作业的并行度为平均并行度,计算此时作业的能耗及工作量;(4)与步骤(3)得到的结果进行对比,寻找可能比步骤(3)更小能耗的调度方法,若有更新调度方法,若没有则采取步骤(3)的方法。本发明专利技术不需要知道作业的内部结构,控制简单,首先从全局计算能耗,使能耗处于较低的水平,通过节省资源,实现作业的动态调度。

【技术实现步骤摘要】
一种云环境下模块化并行作业的动态节能调度方法
本专利技术涉及计算机软件调度节能领域,尤其涉及一种云环境下模块化并行作业的动态节能调度方法。
技术介绍
随着云计算、信息服务、Web2.0、SaaS、互联网+等理念和技术的快速发展,以及大数据平台的出现,并行算法得到了广泛应用。由于并行算法节省了大量的时间,在不同行业均有了优越的表现,例如气象,遥感,军事等。编写并行算法对于非计算机专业的研究人员是件困难的事,因此,在非计算机行业,更多的采用的是模块化并行算法。模块化并行算法的优点是将数据广播,消息传递,计算同步等同步控制信息隐藏起来,保证非计算机行业的科学家,按照自己的思路编写并行程序,减少专业问题之外的内容。同时,模块化并行算法能耗也越来越大。并行作业的节能调度与传统的并行任务调度(非以节能为目地)相比,主要目标不是减少任务总体完成时间(调度长度),而是尽量减少使用资源数目和占用时间,提高资源利用率,达到整个系统性能和能耗之间的平衡。现有方法大多数需要知道程序的结构图,实际上,程序的结构图本身可能非常复杂,对其调度,计算复杂度很高。本专利技术提出了模块化并行程序的调度方法,模块化并行程序的各个作业同时获得资源,作业完成后,同时释放资源。
技术实现思路
专利技术目的:本专利技术目的是提供一种云环境下模块化并行作业的动态节能调度方法。技术方案:本专利技术包括以下步骤:(1)根据系统日志,计算系统平均负载及作业平均并行度;(2)根据系统的平均负载,寻找资源的参考工作状态,包括计算资源的工作频率与工作电压;(3)假设资源工作在参考工作状态下,且作业的并行度为平均并行度,计算此时作业的能耗及工作量;(4)与步骤(3)得到的结果进行对比,寻找可能比步骤(3)更小能耗的调度方法,若有更新调度方法,若没有则采取步骤(3)的方法。所述步骤(1)中系统平均负载及作业平均并行度的计算以资源作业的实际计算量为准。所述步骤(2)中的参考工作状态是在满足系统平均负载且系统总能耗最小时,资源的工作状态。所述步骤(2)中参考工作状态的寻找采用全局查找方法。所述步骤(4)中的调度方法为:先选择可以满足当前作业的资源种类,再根据作业的时间期限与能耗要求,进行进一步调度。有益效果:本专利技术不需要知道作业的内部结构,控制简单,首先从全局计算能耗,使能耗处于较低的水平,通过节省资源,实现作业的动态调度。附图说明图1为本专利技术的流程图;图2为本专利技术的实施流程图。具体实施方式下面结合附图对本专利技术作进一步说明。如图1所示,本专利技术包括以下步骤:(1)根据系统日志,计算系统平均负载及作业平均并行度,其计算以资源作业的实际计算量为准:假设系统已经完成了NUMJ(1≤temp≤NUMJ)个作业:J={j1,...,jtemp,...jNUMJ}(1)对于这些作业,其分配资源数量为:R={r1,...,rtemp,...rNUMJ}(2)这些资源的工作频率及工作电压分别是F及V(计算资源的工作频率及工作电压一经分配,不再改变):F={f1,...,ftemp,...fNUMJ}(3)则总的计算耗费为CS:总的执行时间是et,则平均负载AL为:对于模块化并行作业jtemp,假设它的并行度为(1,pltemp):其中:表示作业jtemp在并行度为时,执行时间为对于作业集合J,其实际的并行度为:J={sl1,...,sltemp,...slNUMJ}(7)则所有作业平均并行度(在实际调度时,我们认为这个是参考并行度)为:(2)根据系统的平均负载,寻找资源的参考工作状态,包括计算资源的工作频率与工作电压,参考工作状态指当系统负载工作在平均水平时,使整个系统的能耗处于最低的工作状体。根据DVFS模型,计算资源Pdy的动态能耗为:Pdy=αClVs2fs(9)其中,α,Cl,Vs及fs分别表示计算资源的翻转率,负载电容的容值,工作电压,工作频率。其中,一般把αCl当作常数。基于上述资源的动态能耗的计算方法,模块化并行作业的动态能耗为:其中,st,num,Ns分别表示计算资源的时钟周期,分配资源数量及计算需要的周期个数(slot);分别表示资源在相应的时钟周期内的工作状态(电压、工作频率)。由于计算资源的静态能耗Pst是常值,所以静态能耗Est仅同计算时间及资源类型相关。Est=st*num*Pst(11)模块化并行作业的计算能耗为E:E=Edy+Est(12)假设计算资源类型A(CPU类型),具有nums个工作状态:A={(v1,f1,p1),...,(vtemp,ftemp,ptemp),...(vnums,fnums,fnums)}(13)其中,vtemp,ftemp,ptemp分别表示资源工作电压,工作频率及相应的功耗。假设系统总共有NUMK种资源,类型A类资源共有num(A)种。首先对所有资源按照ptemp/vtemp升序排列,平均功耗越低,说明其效率越高。假设公式(10)中,已经完成按平均功耗从低到高的排列顺序。参考工作状态指当系统负载工作在平均水平时,使整个系统的能耗处于最低的工作状体。根据这个目标,采用全局查找方法,查找需要的资源(类型及数量)及其工作状态。假设系统总共有NUMK种资源,第i种资源共有num(i)个资源,并具有nums(A)个状态,假设R是所有资源的集合:R=[1,2...,NUMK]。对于这些资源,采用算法生成所有可能的排列组合,以此组合作为排列顺序:sol=perms(R)。sol的行数即为可能的调度顺序,总共有Πnum(i)种可能性。假设row(sol)为获得排列组合的行数,下列算法为获得参考工作状态的具体过程:算法1:根据以上方法,资源调度顺序存储于第selrid个组合,相应的资源工作状态存于每一种资源数量存于rnum中。以此方法,完成资源的参考工作状态的计算。(3)假设作业工作在平均并行度下,资源工作在参考状态下,计算其能耗,及计算总量耗费,并对其时间期限进行判断,判断是否能按要求完成。其中参考状态能耗计算方式为:平均并行度*资源参考状态下功耗*计算时间。平均并行度为资源数量。计算总量耗费为:平均并行度*资源参考状态下工作频率*计算时间。(4)基于参考工作状态的资源调度方法为:以上部分已经从全局角度完成了资源的参考状态的计算,但是对于各个作业,由于其本身的特点,时间要求,具体算法,需要进一步调整。对于作业集合J,其对应的时间期限为:D={d1,...,dtemp,...dNUMJ}在调度过程中,用一个参数saver计算当前作业节省的资源(以参考工作状态的频率为标准)。其调度方法为:先选择可以满足当前作业的资源种类,再根据时间作业的时间期限,能耗要求,进行进一步调度:如果某个方法(作业的并行度,资源的工作状态)比参考状态、平均并行度情况下更能节省能耗,并节省标准工作能源,那么就选择它,并计算saver;否则按照参考电压及工作状态执行。其具体算法如下:算法2:图2为本专利技术的实施流程图:1.从历史数据收集所有作业J的分配资源数量R,资源工作频率信息F,并将这些信息作为中心调度的基础信息,以后执行的作业,不断更新历史数据,作为未来调度依据;2.根据步骤1获得的历史数据,计算平均负载AL,平均并行度AP;3.根据历史信息计算资源的参考工作状态,即每一种资源本文档来自技高网...

【技术保护点】
1.一种云环境下模块化并行作业的动态节能调度方法,其特征在于,包括以下步骤:(1)根据系统日志,计算系统平均负载及作业平均并行度;(2)根据系统的平均负载,寻找资源的参考工作状态,包括计算资源的工作频率与工作电压;(3)假设资源工作在参考工作状态下,且作业的并行度为平均并行度,计算此时作业的能耗及工作量;(4)与步骤(3)得到的结果进行对比,寻找可能比步骤(3)更小能耗的调度方法,若有更新调度方法,若没有则采取步骤(3)的方法。

【技术特征摘要】
1.一种云环境下模块化并行作业的动态节能调度方法,其特征在于,包括以下步骤:(1)根据系统日志,计算系统平均负载及作业平均并行度;(2)根据系统的平均负载,寻找资源的参考工作状态,包括计算资源的工作频率与工作电压;(3)假设资源工作在参考工作状态下,且作业的并行度为平均并行度,计算此时作业的能耗及工作量;(4)与步骤(3)得到的结果进行对比,寻找可能比步骤(3)更小能耗的调度方法,若有更新调度方法,若没有则采取步骤(3)的方法。2.根据权利要求1所述的一种云环境下模块化并行作业的动态节能调度方法,其特征在于,所述步骤(1)中系统平均负载及...

【专利技术属性】
技术研发人员:郝永生曹杰季赛马廷淮管廷昭李仕强夏艳东
申请(专利权)人:南京信息工程大学
类型:发明
国别省市:江苏,32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1