论文部分内容阅读
云计算是一种新型的分布式计算模式,它将任务分布在由大量计算机构成的集群上,让用户可以依据自身需求获取计算能力、存储空间及信息服务等。它能够为用户提供安全可靠的数据中心,使用户无需担心数据丢失、数据窃取、病毒入侵等问题。云计算从技术上解决了大规模并行计算、海量数据分布式存储、海量数据实时备份以及应用高度集成等问题,并凭借其安全可靠的特点以及个性化的应用深受企业和用户欢迎。云计算的出现对于IT演进具有深远的意义,它不仅推动了企业与社会的进步,带来了新的商业契机,而且开启了更高效、更灵活、协作的分布式计算模式。Hadoop是基于Java的用于海量数据分析与处理的分布式开源云平台,它凭借着高容量和低成本的双重优势,已成为大数据行业发展背后的驱动力。Hadoop是需要运行在大型集群上,并对成千上万的任务进行调度的海量数据并行处理系统,选择合适的调度程序对Hadoop的执行能力和交互能力有着非常大的影响,因此对Hadoop调度算法上面的研究和改进工作具有非常重要的意义。本论文主要研究开源云平台Hadoop的调度算法,在广泛调研的基础上,提出负载均衡的调度算法,并在自主搭建的Hadoop集群上实现。该算法对Hadoop原有的推测执行机制进行了改进,修改任务各阶段的权值,对任务的进度值、进程速率和剩余完成时间有更好的把握。同时,通过合理设定算法参数,使系统能够找到真正的掉队任务,并在非掉队节点上推测执行其后备任务,提高系统的响应时间。该算法还可以根据网络中的负载情况,不断调整后备任务数量的上限值,避免因过度执行后备任务导致的网络拥塞,保证网络的负载均衡。为了验证算法的性能,我们搭建了Hadoop集群,并在集群上实现所提出的负载均衡的调度算法。通过大量的实验数据,对任务各阶段权值以及算法各参数进行合理设定,使算法的性能达到最优。对该算法的性能进行反复测试并与Hadoop原调度算法与LATE调度算法进行比较。实验结果表明,在异构环境下,该调度算法能够将系统的响应时间缩短10%左右,提高系统的处理效率。并且能够通过系统的负载情况动态地调整后备任务数量的上限值,避免系统资源的无谓浪费。