论文部分内容阅读
基于分布式系统的高性能并行计算是高性能并行计算的一种重要实现形式。而利用分布式系统进行并行计算,必然要涉及解决并行算法设计、任务划分、通信的协调和同步、任务调度等难题,其中任务调度是重中之重。如果任务调度问题得不到解决,或解决得不合理,则有可能导致分布式并行计算效率低下,更有甚者,有可能造成其效率不如单机计算,乃至失败。本文全面系统地研究了基于任务复制和遗传算法的调度算法研究现状:联合应用DAG图和Gantt图建立了调度算法模型;针对现有算法存在的不足,提出了一系列相关优化或改进算法。本文的创新点及贡献在于:1.本文分析了影响任务调度的因素,在适当假设的前提下,联合应用DAG图和Gantt图建立了调度算法模型,提出了一系列准确刻画任务在调度前后状态变化的参数,为提出新的算法打下了基础。2.本文分析了现有任务复制算法的不足,提出了适用于同构系统和异构系统的调度算法。本文定义了最大化的处理器空闲时间间隙,充分利用了处理器的能力,进而改善调度性能。在同构系统算法中,本文动态地确定关键任务,克服了现有算法采用贪婪策略存在的不足;同时采用线性和非线性合并策略优化处理器数目,占用了较少的处理器资源。3.针对现有遗传调度算法采用不变遗传运算参数的不足,本文提出了自适应遗传调度算法(SAGS)。SAGS算法利用种群关键特征的变化趋势,设计了可变的适应值函数、交叉概率函数和变异概率函数。在迭代进化期间,算法自动调整适应值、交叉概率和变异概率。在不同的阶段采用不同遗传运算参数,较好地改善了常规算法存在的在迭代进化过程易出现早熟和进化停滞的现象。4.本文提出了基于知识的KGS和CPGS两种遗传调度算法。在KGS算法中,针对现有算法构造初始种群存在的不足,将关键路径和主序列知识应用于初始种群的构造中,得到了质量优良的初始种群,为遗传算法提供了一个较好的迭代起点,获得了较好的调度性能。在CPGS算法中,简化了染色体编码方案,使其更简单明了,易于遗传运算;并优化了解码算法,使其适应性更强,更好地解释染色体,具有更好的调度性能。5.本文提出了基于多种群及水平集的遗传调度算法(MPLS)。该算法采用多种群进化的思想来维持种群的多样性,以改善传统算法存在的不足。与单一种群进化不同的是,多种群进化将初始种群划分为若干子种群,各个子种群按照一定的模式独立进化,适当的时候在子种群之间交换信息,从而维持种群的多样性。该算法还引入了水平集选择策略,设计了多层次选择,获得了较好的迭代收敛速度。