论文部分内容阅读
Hadoop分布式系统框架有效解决了大数据环境下数据的存储和处理问题,其性能与作业调度密切相关。采用高效的调度方案,可更加充分合理地的分配及利用云计算资源,针对Hadoop作业调度算法的研究对于提高Hadoop系统的整体性能具有重大的现实意义。本文对Hadoop现有的作业调度算法及异构环境下提出的LATE调度算法进行了研究与分析,重点针对LATE调度算法在推测式执行机制上存在的不足进行了优化。对于大型Hadoop集群,数据跨机架存储概率较高,而LATE调度算法假定大部分的Map任务都是在本地读取数据执行,并且没有考虑reduce任务是否本地读取数据执行,导致系统大部分的时间都消耗在机架间的数据传输上。针对LATE调度算法在推测式执行机制中没有考虑数据局部性的问题,本文在第四章提出了一种基于LATE调度算法的数据局部性改进算法。该算法在LATE调度算法的基础上,改进了推测式执行中慢任务的判定方法,并且在为节点空闲槽分配备份任务时,首先考虑本机机架上是否需要备份执行任务,如果没有,才会到其它机架上寻找合适的备份任务执行,从而提高了系统的执行效率。在实际的大型Hadoop集群环境中,运行的作业会涵盖CPU密集型和I/O密集型两种作业,其所需的系统资源是不同的。目前,Hadoop调度算法并没有针对这两种作业的并行化进行改进,使得系统的资源竞争仍然严重。针对这个问题,本文第五章提出了一种基于LATE调度算法的资源互补分配改进算法。该算法在LATE调度算法的基础上,通过对Hadoop集群的作业负载和节点负载进行合理的分类,充分考虑CPU和I/O密集型作业所需系统资源是互补的这一情况下,对备份任务进行合理的调度执行,极大改善了因为资源竞争和不合理调度导致系统性能低下的问题。为了尽可能的验证本文算法的优势,本文针对第四章和第五章分别搭建了相应的Hadoop集群环境,进行了仿真验证。其中,第四章模拟了两个机架,第五章为了控制变量,采用简单集群。实验结果表明,本文算法在一定程度上提高了Hadoop集群的处理性能。