网格任务调度算法研究及其有色Petri网的建模与仿真
【摘要】:网格计算环境下,由于资源的异构性、动态性、自治性以及网格任务的多样性,任务调度一直就是网格计算的重要环节。因此,任务调度算法的效率决定着网格计算的效率,调度算法的设计就更应该精益求精。采用图形化的数学工具来完成包括系统和算法的形式化描述、正确性检验、性能评价、测试等是对算法设计精益求精的重要工作方法。论文建立了任务调度算法模型,在运行系统模型中仿真实际任务调度算法的运行,通过分析模型的性质和性能来研究实际算法的性能,从而对实际调度算法进行了改进设计。本文的主要内容如下:
(1)本文对两种经典的网格任务调度算法Min-Min和Max-Min算法进行了分析,然后使用有色Petri网的建模工具CPN Tools进行了仿真实验,通过举例模拟发现:Min-Min算法中任务的最大完成时间(makespan)相对较长,但是更主要的缺点是负载不均衡,Max-Min算法具有较小的最大完成时间。
(2)基于以上研究,需要对网格任务调度算法进行改进,使得任务调度算法具有较小的最大完成时间,并且要考虑到整个系统机器间的负载平衡问题。因此,本文设计出了一种基于优先级的网格任务调度算法P-M-M。为了解决机器间的负载平衡问题,该算法采用根据任务的平均预期执行时间进行分组的方法;为了使算法具有较小的最大完成时间,每组按照Max-Min算法执行。该算法首先分配具有优先权的任务,把任务分配到执行时间最快的机器上;对于无优先权的任务,计算每个任务在网格系统中的计算机上的平均预期执行时间,然后根据这个平均值对要调度的任务进行降序排序,再把这个序列分成相等的几段,逐步对这几个段采用Max-Min算法进行调度。
(3)对于改进后的网格任务调度算法P-M-M,使用有色Petri网的建模工具CPN Tools进行了模拟仿真。仿真实验显示:P-M-M算法缩短了任务的最大完成时间并且机器间的负载平衡性能有了提高。