基于蚁群算法的网格计算资源调度策略仿真研究
【摘要】:网格计算是解决科学计算、工程计算和商业计算等大规模计算的下一代极具潜力的计算平台。网格核心服务是网格的重要组成部分,是连接网格底层和高层功能的纽带,是协调整个网格系统有效运转的中枢,对这部分网格技术的研究具有重要意义。资源调度技术是网格核心服务之一。一个良好的资源调度策略能高效地协调和分配网格资源,有效降低网格计算的总执行时间和总耗费,从而使网格达到最大的性能。资源调度技术对网格系统的应用至关重要。
网格计算属于分布式计算的一种,但是由于网格资源在广域上分布、本质上异构、归不同的人和组织拥有、相异的存取和花费模式、负载和可用性动态变化,因此网格计算环境远比传统的分布式计算环境复杂。这就使得针对传统的分布式计算环境设计的资源调度策略在网格环境中并不理想。这主要表现为不能很好的预测网格环境中动态的资源变化,不能全面考虑网格环境对作业或者资源所设的限制,没有充分考虑网格环境中资源耗费对资源调度的影响等一系列问题。
蚁群算法ACA(Ant Colony Algorithm)来源于对自然界蚂蚁寻找从蚁巢到食物的最短路径并找到回巢路径方法的研究,是一种启发式搜索算法,具有正反馈、较强的鲁棒性,分布式等特点,特别适用于解决组合优化问题。而资源调度本质上也是组合优化问题,因此作为试探性的研究,本文基于基本蚁群算法原理设计了一种适合于网格计算环境的资源调度策略。目标是使调度策略充分考虑网格计算的特点,更合理的分配网格资源,从而提高网格系统的总体性能。
论文主要阐述了调度策略设计前的准备工作(解析网格计算环境、构建网格仿真平台、解析基本蚁群算法),调度策略设计过程以及最后的调度策略性能测试。具体工作如下:
(1) 解析网格计算环境,明确网格计算的特点并归纳网格计算环境对资源调度的要求。在此基础上说明了针对传统的分布式计算环境设计的资源调度策略在网格环境下存在的问题。
(2) 解析了基本蚁群算法。阐述了蚁群算法的原理、特点并分析了使用蚁群算法解决资源调度问题的可行性。根据测试程序找出影响蚁群算法性能的因素,分析这些因素对系统性能的影响程度,影响方式,以及对应的改进方法。这些分析结果及相应的改进方法为设计基于蚁群算法的网格资源调度策略提供参考。
(3) 由于资源调度策略在决策过程中需要参考相关网格系统信息,这些信息主要是与系统执行性能相关且影响资源调度策略决策的参数。因此在设计基于蚁群算法的网格计算资源调度策略之前需要了解通常的网格计算环境中影响网格系统执