3.2 改进的调度算法描述
在Min-Min算法的基础上,通过效益函数的引进,可以解决调度效率低下的问题。引进效益函数后的改进调度算法描述如下:
1)把待测任务集合中的任务分为三种,以供调度算法进行调度:C1是具有硬性级的调度测试任务的集合,C2是具有软性级的调度测试任务的集合,C3是具有尽力级的调度测试任务的集合。
2)在对测试任务进行调度的时候,首先会调度C1中的测试任务,然后再调度C2中的测试任务,最后调度C3中的测试任务。
3)判断客户资源是否能够满足测试任务的测试需求,如果所有的客户资源均无法满足测试任务的需求,则放弃此测试任务的执行;如果存在资源能够满足测试任务的需求,则执行下一步;
4)由上节中所引入的三个效益函数来计算测试任务在所分配的客户资源上进行测试所能够获得的效益值,然后执行下一步;
5)如果同时存在很多资源能够满足待测试任务的执行条件,那么比较一下由哪一个资源进行测试能够得到最大的经济效益,然后选择将测试任务分配给能够得到最大效益的测试任务执行客户端,然后将该序列记录下来;
6)对于效益值相同的序列对,则比较该两项测试任务执行时间的大小,然后选择将测试任务分配给执行时间小的测试资源进行执行;
7)反复执行步骤3-6,直到所有的测试任务均完成。
4、基于效益函数的测试调度算法实验验证和结果分析
该文的改进调度算法是在Min-Min算法的基础上改进得来的,为了验证改进调度算法的有效性,需要对算法进行性能评估,将改进算法与Min-Min算法的性能进行对比实验。
4.1 实验环境介绍
本实验采用的是由澳大利亚墨尔本大学所开发的算法实验模拟器GridSim来完成对算法在各种情况下的性能模拟实验。Grid? Sim模拟器可以进行网格调度算法的模拟,用户通过使用模拟器所提供的method来完成模拟文件的编写,从而完成整个调度算法的实验模拟过程。
GridSim的模拟特性:
1)从网络应用的模拟角度:在GridSim中使用的是虚拟程序,它通过理论计算来对应用的时间花销进行分析,从而能够更好的完成大量实验的模拟工作。
2)从网络中间件的模拟角度:在资源管理方面,GridSim为了更好的对资源的异构性进行模拟,提出了资源的“空间共享”以及“时间共享”的概念。在GridSim中,其信息服务与任务调度都是属于集中式的。
3)从网络资源的模拟角度:GridSim可以模拟计算能力和网络带宽。
4)从使用特性的角度:由于GridSim是基于SimJava来实现的,所以它使用的是纯Java语言。GridSim支持可视化并提供API,需要用户编程来实现网络环境的模拟工作。
4.2 模拟实验步骤
1)创建网格资源点;
PE1=new PE(id,capability);//创建资源对象。 PEList peList=new PEList( );//创建资源列表对象 peList.add( PE1); //将资源加入列表 Machine machinel=newMachine(id,pelist);//创建资源列表 |