论文部分内容阅读
Hadoop是一种分布式存储和并行计算框架,由于具有高可靠性、高扩展性和高容错性等特点,目前在云计算中得到广泛应用。资源分配与调度问题一直是并行计算领域关注的重要的问题。Hadoop资源管理系统YARN提供三种内置资源调度器,但随着应用的扩展,这些内置调度器并不能满足用户的需求,因此,研究如何合理地进行资源分配与调度,以此提高系统资源利用率,减少系统计算时间,从而提高系统性能并降低成本,具有重大意义。本文深入分析了Hadoop YARN的资源分配与调度机制,从作业调度和任务调度两个层次考虑,分别研究了Hadoop资源调度机制与推测执行机制,针对其中存在的资源分配不合理和预测任务完成时间不准确的问题,提出了解决办法。具体如下:1)研究如何合理分配资源,提出一种基于蚁群算法和粒子群优化算法的自适应调度算法。该方法通过Hadoop YARN心跳通信机制获取负载、内存、CPU速度等属性信息来初始化蚁群信息素矩阵,然后将粒子群算法的自我认知能力与社会认知能力引入到蚁群算法,同时根据蚁群算法全局最优解的波动趋势动态调整信息素挥发系数。论文设计了资源分配和调度算法,并修改Hadoop代码实现了一个资源调度器以验证本文所提算法的有效性。实验结果表明,采用本文方法,能有效地调度Hadoop集群资源,缩短集群的作业执行时间。2)研究如何准确预测任务完成时间,提出基于C4.5决策树算法的推测执行机制。论文首先分析了准确预测掉队任务和后备任务执行时间的重要性,然后阐述了Hadoop传统调度算法中推测执行机制中存在的不足。在此基础上,提出了基于C4.5决策树算法的推测执行机制,并设计相应的推测执行算法预测任务执行时间,以比较“掉队者”与备份任务的完成时间,并据此判断是否有必要启动备份任务,达到避免启动不必要的备份任务、缩短作业执行时间的目的。论文最后进行了实验,通过修改Hadoop中推测执行机制的源代码来实现本文提出的改进算法,并对比分析了改进算法在作业执行时间和执行稳定性。实验结果表明,本章算法明显优于原推测执行算法。