论文部分内容阅读
网格是当前并行计算技术的一个重要发展方向,其目标是实现对地理上广泛分布的大量异构资源的资源共享。其中,任务调度是实现高性能网格计算的核心服务技术,也是保证应用程序有效执行的重要组成部分。网格任务调度是将并行程序任务分配到网格系统的处理节点上,涉及到程序模型和并行计算系统模型,算法的设计要综合考虑程序和目标系统的特点,是一种典型的NP完全问题。遗传算法由于具有良好的全局搜索能力,在处理任务调度算法时比传统调度算法更具优越性。但是,应用基本的遗传算法容易陷入“过早收敛”的误区,同时求解精度不高。本文针对网格任务调度问题,提出了一种基于MPI的并行遗传算法处理方式。文章首先简述了一下遗传算法的基本原理,针对传统遗传算法自身的并行性,从全局并行的角度出发提出了一种粗粒度的并行遗传算法。该算法采用分布式并行模式,通过子种群的个体迁移策略,缓解“早敛”和求解精度不高的问题,同时精英保留机制的引入,让调度策略有更好的收敛性。然后,研究了任务调度的机理、调度过程和调度模型,通过与现有调度算法的比较,确定了采用并行遗传算法的任务调度方案,并规划了任务调度的目标,在满足任务优先约束关系的前提下实现最优跨度。最后,针对网格动态的、异构的、分布的计算环境,采用C语言和消息传递接口MPI实现了本文算法,在建立的模拟网格环境PC机群中分别对本文算法、传统遗传算法进行了不同分组的任务调度仿真实验,通过不同规模的调度时间性能进行对比分析,结果表明,本文提出的改进遗传算法具有更好的寻优能力,适合处理一定规模的调度问题。