- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 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
您可能关注的文档
- MatlabSimulink在电工技术设计性实验中应用.doc
- MatlabSimulink在高职高专过程控制系统教学中应用.doc
- MatlabSimulink环境下异步电机定子故障诊断仿真与研究.doc
- MATLABSimulink软件在通信原理实验中应用.doc
- MATLAB与机械控制理论课程教学整合研究.doc
- MATLAB与Visual C混合编程在储层三维建模系统中应用.doc
- MATLAB仿真在电力电子实践教学中应用.doc
- MATLAB仿真在自动化专业教学实践环节中应用.doc
- MATLAB仿真软件在电力电子技术教学中应用.doc
- Matlab优化设计在机械设计课程设计教学中应用探讨.doc
最近下载
- 八年级上册地理第一次月考试题.docx VIP
- (完整word版)WORD版本核心高考高频688词汇(高考高频词汇).pdf VIP
- 1.3.4 单细胞生物(新教材课件) 七年级生物上册 (人教版2024).pptx
- 房地产企业华润置地十三五战略规划及2023年商业计划书.pptx VIP
- 2025外研版英语四年级上册全册教学设计教案.pdf
- 2025发展对象考试试题库及参考答案.docx VIP
- 考研英一英二 · 大小作文历年真题整理.pdf VIP
- 《维生素》教学课件.pptx VIP
- 电大一网一形考作业(电气CAD绘图3).doc VIP
- 电大一网一形考作业(电气CAD绘图2).doc VIP
文档评论(0)