一种多QoS的网格资源调度方法

文档序号:7685561阅读:299来源:国知局

专利名称::一种多QoS的网格资源调度方法
技术领域
:本发明涉及网格计算中的资源调度技术,特别是涉及一种多QoS的网格资源调度方法。
背景技术
:网格计算是伴随着互联网技术而迅速发展起来的,专门针对复杂科学计算的新型计算模式,把整个网络整合成一台巨大的超级计算机,实现计算资源、存储资源、数据资源、信息资源、知识资源、专家资源的全面共享。网格计算资源在现代社会成为解决大型工业科学计算的趋势。然而网格计算资源的分散性,决定基于跨节点通信的分布计算的代价远远高于局域网中的分布式计算,频繁的通信造成相当大的延时开销。提高并行性是减小通信开销的重要手段。由于地理位置上分散的网络资源的执行速度和开销不同,调度时还要考虑用户对调度任务的时间和开销等方面的需求。由于网格资源的分散性,资源种类的差异,资源被不同个人和组织所拥有,资源的运行开销的差异,任务性质的差异等等因素,资源调度是很复杂的一个过程。大多数现有的网格资源管理和调度系统采取的调度策略仅以提高系统的吞吐量和利用率以及在最早时间内完成任务为目标,并未将资源访问成本和用户对时间、开销的要求考虑在内,没有很好地考虑用户的需求。不同应用的背景下用户的需求相差甚远。由于任务的轻重缓急不同,有些用户要求在费用不超过Budget的前提下,任务越早完成越好。有些要求运行时间不超Deadline前提下,花费越少越好。还有的用户要求两者兼顾。
发明内容本发明所要解决的技术问题就是为了克服上述现有技术存在的缺陷而提供一种多QoS的网格资源调度方法。本发明的目的可以通过以下技术方案来实现一种多QoS的网格资源调度方法,其特征在于,包括以下步骤(1)记录网格用户提交的不同任务的不同的需求参数;(2)为每个任务调度网格资源时,根据该任务相应的需求参数,计算各资源的用户时间-开销折合值,确定用户时间-开销折合值最小的资源;(3)上述的最小资源与用户的需求参数进行比较,判断该资源是否满足用户的需求,若是,执行步骤(4),若否,则调度失败;(4)将该资源分配给用户。所述的需求参数包括时间限制值、开销限制值、时间权重值、开销权重值。所述的计算各资源的用户时间-开销折合值通过函数F(Vi,Ci山h(Lj/V》x(a+3xd)G(Vi,Ci,Ti,Lj)=F(Vi,Ci,Lj)+axT!+3xC福来完成;其中K=i<n;Ri为系统资源,其每一单位时间运行的行数和每秒执行代码的开销分别用Vi和Ci表示;Aj为任务,Lj为Aj的任务行数,把任务Aj调度到资源Ri执行,则时间开销气j/Vi,执行代码花费=(Lj/Vi)xCi;a为时间权重值,P为开销权重值,a+6=1;F(Vi,Ci山)为任务Aj调度到资源Ri上执行的成本函数;Ti为资源R,执行任务的总时间;Ct—为任务执行的总开销,G(Vi,d,Ti,Lj)即为各资源的用户时间-开销折合值。所述的各资源的用户时间-开销折合值在调度初始时,调度F(Vi,Ci,Lj)值最小的网格资源Rk,本次调度结束后修改该资源的运行时间为L/Vk。所述的各资源的用户时间-开销折合值在进行第j次调度时,调度G(Vi,Ci,Ti,Lj)值最小的网格资源Rp,本次调度结束后修改该资源的运行时间为Tp+Lj/VP。所述的各资源的用户时间-开销折合值在进行第n次调度时,调度G(Vi,Ci,T,U值最小的网格资源。与现有技术相比,本发明能够在满足用户QoS的同时,能够以最小的调度资源完成任务,最大化地实现用户的满意度。5图1为本发明的流程图2为本发明的实施例的运行时间和开销示意图。具体实施例方式下面结合附图对本发明作进一步说明。如图12所示,一种多QoS的网格资源调度方法,包括以下步骤(1)记录网格用户提交的不同任务的不同的需求参数;(2)为每个任务调度网格资源时,根据该任务相应的需求参数,计算各资源的用户时间-开销折合值,确定用户时间-开销折合值最小的资源;(3)上述的最小资源与用户的需求参数进行比较,判断该资源是否满足用户的需求,若是,执行步骤(4),若否,则调度失败;(4)将该资源分配给用户。所述的需求参数包括时间限制值、开销限制值、时间权重值、开销权重值。所述的计算各资源的用户时间-开销折合值通过函数F(Vi,Ci,Lj^(Lj/Vi)x(a+pxC》G(Vi,Ci,Ti,Lj)=F(Vi,Ci,Lj)+axTi+PxCt。tal来完成;其中l〈=i<n;R,为系统资源,其每一单位时间运行的行数和每秒执行代码的开销分别用Vi和Ci表示;Aj为任务,Lj为Aj的任务行数,把任务Aj调度到资源Ri执行,则时间开销气,/Vi,执行代码花费=(Lj/Vi)xCi;a为时间权重值,5为开销权重值,F(Vi,d山)为任务Aj调度到资源Ri上执行的成本函数;Ti为资源Ri执行任务的总时间;Ct一为任务执行的总开销,G(Vi,Ci,Ti,Lj)即为各资源的用户时间-开销折合值;所述的各资源的用户时间-开销折合值在调度初始时,调度F(Vi,Ci,Lj)值最小的网格资源Rk,本次调度结束后修改该资源的运行时间为lVVk;所述的各资源的用户时间-开销折合值在进行第j次调度时,调度G(Vi,Ci,Ti,Lj)值最小的网格资源Rp,本次调度结束后修改该资源的运行时间为Tp+Lj/Vp;所述的各资源的用户时间-开销折合值在进行第n次调度时,调度G(Vi,Ci,Ti.L》值最小的网格资源。本发明以贪婪算法为基础,使其经过一个预处理后,以调度驱动函数为贪婪准则,实现用户对该任务需求下的最经济的调度策略进行调度。贪婪算法(greedyalgorithm)即采用逐步构造最优解的方法。在每个阶段,都做出一个看上去最优的决策(在一定的标准下)。决策一旦做出,就不可再更改。做出贪婪决策的依据称为贪婪准则(greedycriterion)。调度成本函数用户提交任务时设置完成该任务所能接受的时间限制和开销限制,分别用参数Deadline和Budget表示。系统资源Ri每一单位时间运行的行数(以MI为单位)和每秒执行代码的开销分别用参数Vi和Ci表示。假设任务Aj的行数为Lj,把任务Aj调度到资源Ri执行,则时间开销气,/Vi,执行代码花费=(Lj/Vi)xC"对不同的应用程序,用户对时间和开销的要求是不一样的(1)有些用户要求在费用不超过Budget的前提下,任务越早完成越好。(2)有些要求运行时间不超Deadline前提下,花费越少越好。(3)还有的用户要求两者兼顾。所以为了更好得满足用户的需求,还得设置两个参数"e作为用户赋给完成任务所需时间和花费的权重,且满足a+e-l。例如,对上述(1):。=1,P=0;对上述(2):a=0,3=1;X寸上述(3):0<a、Ml且满足a+阿。上述带权重的总开销=(Lj/Vi)x(a+exCi)。任务Aj调度到资源Ri执行的总开销F(Vi,Ci,Lj):(Lj/Vi)x"+PxCi)。我们称F(Vi,Ci,Lj)为任务Aj调度到资源Ri上执行的成本函数。调度驱动函数假设某一时刻网格用户向系统提交了n个任务,现将任务按照长度递减排序得到任务列表A:A:AiA2......AnL:LiL2......Ln系统中有m个可用资源列表R:RiR2......RmV:ViV2......VmC:CiC2......Cm资源Ri执行任务的总时间用Ti表示,任务执行的总开销用Ct—表示。令&^工,1\山)^0^工山)+axTi+exCt。tal,其中l<=i<n。则当任务Aj调度到资源上执行后,G(Vi,Ci,Ti,Lj)=F(Vi,Ci,Lj)+axTi+exC^,其中F(Vi,G,L》为第j次的调度开销,axTi为j-l次调度后资源i的总运行时间的折合开销,则G(Vi,Ci,Ti,Lj)为前j次的调度后资源i的总运行时间的折合开销。网格资源调度每次选择调度时,査找G(Vi,Ci,Ti,Lj)值最小的资源进行调度,并修改相应资源的运行时间L。提交任务时初始时Ti:0,其中l<=i<=n,G(Vi,Ci,Ti,L1)=F(Vi,Ci,L1)+axTi+PxCt。tal=F(Vi,Ci,L,),函数G(Vi,Ci,Ti山)的值最小,即F(Vi,Ci山)的值最小。把A,调度给F(Vi,Ci山)值最小的资源执行。比较调度的时间和花费是否超出了用户可以承受的Deadline和Budget。如果不超出,则分配;否则调度失败。若成功调度,假设该资源为Rk,则本次调度结束后,TV4VVk。在进行第j次调度时,其中1〈j〈n,00^工,1\,山)^^,(:"1^+axTi+0xCt。tal,把Aj调度给G(、Ci,Ti,Lj)值最小的资源执行。比较调度的时间和花费是否超出了用户可以承受的Deadline和Budget。如果不超出,则分配;否则调度失败。若成功调度,假设该资源为Rp,则本次调度结束后,TP=TP+L」/VP。在进行第n次调度时,G(Vi,Ci,Ti,Ln)=F(Vi,Ci,L)+。xT\+PxCt。tal,把^调度给G(Vi,Ci,Ti.L)值最小的资源执行。比较调度的时间和花费是否超出了用户可以承受的Deadline和Budget。如果不超出,则分配;否则调度失败。优越性证明采用本方法进行调度比任何其他方法获得的调度驱动函数值最小,即用户的时间-开销折合值最小,最好地满足用户对时间和开销的要求。证明假设采用本方法的调度为D,采用其他方法的调度为B,n个任务按长度从大到小百列为"U…L。;m个资源按运行速度排列R"R2,T。和&一为调度D下的运行总时间和总开销,初始时为0;TB和Cft^为调度B下的运行总时间和总开销,初始时为o。现采用第二数学归纳法来证明解D是比B较优的一个解当进行第一次调度时,根据本调度算法,D每次调度选取一个G函数值最小的8资、源,戶万以<formula>formulaseeoriginaldocumentpage9</formula>艮卩<formula>formulaseeoriginaldocumentpage9</formula>,进《亍第一次调度后D是比B较优的一个解;假设当进行完第k-1次调度后,D是比B较优的一个解,即满足<formula>formulaseeoriginaldocumentpage9</formula>其中<formula>formulaseeoriginaldocumentpage9</formula>(3)则进行第k次调度,若第k次调度完后<formula>formulaseeoriginaldocumentpage9</formula>其中<formula>formulaseeoriginaldocumentpage9</formula>现用反正法证明不可能若第k次调度后,D把Ak调度给资源RDp执行,B把Ak调度给资源R执行,由<formula>formulaseeoriginaldocumentpage9</formula>可知<formula>formulaseeoriginaldocumentpage9</formula>若D选择其它资源R。i进行调度,贝l<formula>formulaseeoriginaldocumentpage9</formula>因为D选择RDp调度是在D方案下的最优解,其他解都比它开销大,即<formula>formulaseeoriginaldocumentpage9</formula>而又由<formula>formulaseeoriginaldocumentpage9</formula>,可知在D的调度方案中不同资源的执行时间相对B比较平均,D的并行性比较好。且被调度的任务按照代码长度递减的顺序依次被调度,所以若存在q使得<formula>formulaseeoriginaldocumentpage9</formula>必定存在j使得<formula>formulaseeoriginaldocumentpage9</formula>成立。把Ak调度给资源R执行,调度完成后有<formula>formulaseeoriginaldocumentpage9</formula>这与(2)矛盾。综上,由数学归纳法得,利用推广的贪婪算法得到的调度方法D优于任意不同于A的可行调度方案,实现了约定条件下的资源调度的最优化。实施例假设一个网格用户有8个任务要执行,长度分别为8000,7000,6000,5000,4000,3000,2000,1000,单位为MI,用户设置的Deadline和Budget均为1000,系统此时有3个可用资源RnR"R"执行速度分别为300MIPS,500MIPS,800MIPS,开销分别为3.0,5.0,8.0(单位cents/sec)。当时间权重timeWeight^,开销权重costWeight=0时,调度过程如下表所示:<table>tableseeoriginaldocumentpage10</column></row><table>8个任务分别被分配到资源R。,R!,R2,R。,仏,R。,R2,仏上执行,总运行时间为183.76sec,总开销为256cents,调度驱动函数值为183.76。timeWeight依次设为0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,l时,运行时间和开销如图2所示,从图中可知,timeWeight逐渐变大,总运行时间有变小的趋势,costWeight逐渐变小,总开销有变大的趋势。该算法能够根据用户对时间和开销要求的不同作出不同的调度策略,且该调度策略能够较好地满足客户需求。权利要求1.一种多QoS的网格资源调度方法,其特征在于,包括以下步骤(1)记录网格用户提交的不同任务的不同的需求参数;(2)为每个任务调度网格资源时,根据该任务相应的需求参数,计算各资源的用户时间-开销折合值,确定用户时间-开销折合值最小的资源;(3)上述的最小资源与用户的需求参数进行比较,判断该资源是否满足用户的需求,若是,执行步骤(4),若否,则调度失败;(4)将该资源分配给用户。2.根据权利要求l所述的一种多QoS的网格资源调度方法,其特征在于,所述的需求参数包括时间限制值、开销限制值、时间权重值、开销权重值。3.根据权利要求2所述的一种多QoS的网格资源调度方法,其特征在于,所述的计算各资源的用户时间-开销折合值通过函数<formula>formulaseeoriginaldocumentpage2</formula>来完成;其中K=i〈n;R,为系统资源,其每一单位时间运行的行数和每秒执行代码的开销分别用Vi和Ci表示;Aj为任务,Lj为Aj的任务行数,把任务Aj调度到资源Ri执行,则时间开销气j/Vi,执行代码花费=(Lj/Vi)xCi;a为时间权重值,e为开销权重值,a+P-l;F(V,,Ci,Lj)为任务Aj调度到资源Ri上执行的成本函数;Ti为资源Ri执行任务的总时间;Ct—为任务执行的总开销,G(Vi,Ci,Ti,Lj)即为各资源的用户时间-开销折合值。4.根据权利要求3所述的一种多QoS的网格资源调度方法,其特征在于,所述的各资源的用户时间-开销折合值在调度初始时,调度F(Vi,Ci,Lj)值最小的网格资源Rk,本次调度结束后修改该资源的运行时间为L/Vk。5.根据权利要求4所述的一种多QoS的网格资源调度方法,其特征在于,所述的各资源的用户时间-开销折合值在进行第j次调度时,调度G(Vi,Ci,L,L》值最小的网格资源Rp,本次调度结束后修改该资源的运行时间为Tp+Lj/VP。6.根据权利要求5所述的一种多QoS的网格资源调度方法,其特征在于,所述的各资源的用户时间-开销折合值在进行第n次调度时,调度G(V,,Ci,T,U值最小的网格资源。全文摘要本发明针对网格计算中资源调度问题,提出一种多QoS的网格资源调度方法,每次调度时选择最经济的资源进行调度。与现有技术相比,本发明能够在满足用户QoS的同时,能够以最小的调度驱动函数值完成任务,最大化地实现用户的满意度。文档编号H04L29/08GK101582831SQ20081003756公开日2009年11月18日申请日期2008年5月16日优先权日2008年5月16日发明者胡文心,蔡建华,骏郑申请人:华东师范大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1