论文部分内容阅读
MapReduce是一个编程模型,也是一个算法模型,用于处理和生成的超大数据集的相关实现。Hadoop是MapReduce的开源实现,它不仅广泛应用于批量大作业,同时也用在处理相对低效率的短作业。然而,现有的Hadoop都是建立在虚拟的同构集群下,并使用假设条件来决定落后队列中的任务何时推测式执行,但是这种虚拟的同构在实践中却是不可行的。 目前我们要解决的问题是如何高效地运行推测执行机制使系统性能最大化。本文主要研究了Hadoop默认的调度器和异构环境下LATE调度器和H-LATE调度器推测执行机制的不足。在 H-LATE调度算法的基础上提出了一个增强自适应能力的KSAMR调度算法,来提高MapReduce中落后任务的重执行。为了更准确得识别慢任务,该算法记录了每个节点的历史信息,采用机器学习技术 K-means聚类算法将记录节点阶段进度值的历史信息划分为K个聚蔟,动态地调节阶段进度值参数,平衡节点上的负载,准确地查找慢任务。并将节点进一步分类,从而能够在快速节点上启动落后任务的备份任务,从而减小响应时间,并尽量避免节点空载,以免浪费系统资源。 为了验证该算法的性能,本文搭建了Hadoop集群,并在该集群上实现KSAMR调度算法。通过大量的试验数据,对影响系统性能参数进行合理的配置。最后通过三个指标:任务阶段进度值鉴别能力、剩余时间鉴别能力、慢任务鉴别能力验证增强自适应的MapReduce调度算法的有效性。试验结果表明KSAMR调度算法通过准确估计任务的执行时间并启动备份任务显著地提高了MapReduce调度算法的性能。