Min―Min任务调度算法研究与仿真.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Min―Min任务调度算法研究与仿真

Min―Min任务调度算法研究与仿真   摘 要:文章首先对Min-Min算法进行分析,介绍了算法的思想和执行过程。然后使用GridSim模拟器对算法模拟实现,给出了算法的JAVA实现代码,并统计了Min-Min算法实验结果的完成时间。   关键词:Min-Min算法;任务调度;GridSim模拟器   1 概述   在网格计算中,大量的计算任务被调度到资源上,如何使任务得到最少的完成时间,在很大程度上是由它的调度算法所决定的[1]。良好的任务调度算法是任务调度的重要组成部分。目前,关于网格计算的任务调度算法,国内外学者已经取得了大量的研究成果。这些调度算法大多是基于启发式的思想来解决问题的,比如有遗传算法、蚂蚁算法、Min-Min算法、Max-Min算法等[2]。由于Min-Min算法是一个经典的任务调度算法,文章对Min-Min算法进行研究,然后用模拟器对算法模拟实现。   2 Min-Min算法   为了研究的方便,文章进行了如下的定义:   (1)假设网格任务集为Tasks={T1,T2,T3,... ,Tn},集合内有n个待调度的独立任务。   (2)网格资源集为Hosts={H1,H2,H3,...,Hm},该资源集合内有m个资源。设资源Hj的就绪时间(即资源最早的可以使用的时间)为R(j)。   (3)任务Ti在资源Hj上的完成时间定义为ECT(i,j),定义任务在资源上的执行时间为ETC(i,j)。   (4)从上面定义得出,一个任务Ti在资源Hj上的完成时间计算公式如下:   ECT(i,j)=ETC(i,j)+R(j)   (5)n个任务在m个资源上的ETC可以用一个n×m的矩阵来表示,矩阵元素ETC(i,j)表示第i个任务在第j个资源上的执行时间,该矩阵的一行表示任务Ti在资源集合Hosts中所有资源的执行时间,一列表示在同一资源上n个任务的执行时间。   Min-Min算法的思想是:首先,计算出任务列表中所有任务在所有资源上的最小完成时间。其次,从这些最小完成时间中找出一个值最小的,把这个最小时间对应的任务资源对找出来,把该任务提交给该资源执行,从任务列表中删除这个任务。最后,更新最小完成时间矩阵。重复以上步骤,直到任务列表为空。该算法的目的是将任务指派给不仅完成它最早的,而且执行它最快的机器,使得全部的任务完成时间最小[3]。该算法的执行过程如下:   (1)计算任务集合中的任务Ti在m个资源上的完成时   间,得到n×m的ECT矩阵。   如果任务集合Tasks不为空时,重复以下步骤直到任务全部调度。   (2)得出每个任务的最小完成时间即ECT(i,j),把这些最小完成时间放入一个集合M内,然后找出这个集合内最小的值,根据最小值所对应的任务资源对(i,j),这就是任务到资源的映射。   (3)把该任务Ti提交到对应的资源Hj上执行,同时还要更新此ECT矩阵。   3 Min-Min算法的模拟实现   文章采用GridSim模拟器对该算法进行仿真实验,GridSim工具包设计的实体类有:Gridlet类、User类、Broker类、Resource类、GIS类等[4]。Gridlet类是用来对任务进行描述的,包含的属性有任务ID,任务的状态,任务的计算量。User类是描述网格上的用户,一个用户有唯一的ID。Broker类是用户的代理。Resource类是描述网格上异构资源的类,通常一个资源类包括多个Machine类,一个Machine类由多个PE组成。GIS是网格的信息服务中心,它负责资源的发现、注册和管理的功能。使用模拟器编写一个MyTest继承GridSim类,然后编写Min-Min算法如下关键代码:   int JOB_NUM = 10, RES_NUM = 4;// 任务数与资源数   double ETC[][] = new double[JOB_NUM][RES_NUM];   double CT[][] = new double[JOB_NUM][RES_NUM];   double R[] = new double[RES_NUM]; //资源就绪时间数组   int MAX_JOB_RUN_TIME = 0x7ffffff;   double minCT[] = new double[JOB_NUM]; //任务的最小完成时间数组   int host_minCT[] = new int[JOB_NUM]; // 任务最小完成时间对应的主机   int scheduled = 0; // 调度的任务数,初始为0;   int min_minCT_index=0; //具有最小完成时间的任务索引号   while (sch

文档评论(0)

3471161553 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档