论文部分内容阅读
网格计算是伴随着互联网技术的迅速发展而产生的一种新型分布式计算模式,通过互联网将分散的计算资源虚拟成一个超级计算机,实现跨地域的、并行分布式联合计算,以完成重大科学领域的大规模复杂计算问题。网格任务调度是网格计算的核心技术之一,高效的网格任务调度算法可以充分利用网格系统中的计算资源,从而尽可能的使整个系统的性能达到最佳。然而,由于网格资源自身的分布性、异构性、动态性等特征,使得网格任务调度极其困难、复杂,因此,如何开发出高效的任务调度算法来尽可能地提高网格系统的吞吐量是网格计算的一大挑战。针对网格任务调度问题,目前已经研究出了一些有效的调度策略,如基于表结构调度的最早完成时间(Heterogeneous Earliest Finish Time,HEFT)算法以及基于随机搜索的遗传算法、蚁群算法、模拟退火算法、禁忌算法等。这些算法皆优缺点分明,并且网格环境中的任务调度己被证明是一个NP(Non-deterministicPolynomial)难问题,所以通常也只能得到问题的近似最好解。网格环境中,存在着大量类型的调度问题,而目前所实现的解决方案并不是很多,并且不存在有效地通用调度算法,所以需要开发出更多的解决方法。本文对网格任务调度的概念、特点及目标进行了介绍,并对网格环境中的任务调度方法进行了详细地分类及介绍。针对网格环境中最主要的任务类型:依赖任务,介绍了其有向无环图(Directed Acyclic Graph,DAG)数学模型,并在该数学模型上,提出了一种新的网格任务调度算法, CROTS (Chemical ReactionOptimization for Task Scheduling)。该算法由两部分组成,一种基于任务层次的智能任务序列搜索算法以及基于化学反应优化(chemical reaction optimization, CRO)的处理机映射方案搜索。CRO是通过模拟化学反应中,分子运动这种自然现象得到的一种元启发式方法,算法的核心为四种基本操作:撞墙、分解、交换以及合成。其中,分解操作有效地扩展了问题的搜索空间,同时也避免了搜索陷入局部最优值。CROTS充分的利用了CRO的优势,同时结合智能的任务序列搜索方法,进一步有效地扩展了搜索空间,从而,获取到全局最优值的可能性大大提高。实验表明,CROTS在不牺牲很多计算价值的前提下,要一直优秀于HEFT算法及关键路径算法(Critical Path On a Processor,CPOP),并且算法对于计算规模较大的调度问题更加具有优势。