论文部分内容阅读
随着数据爆炸时代的到来,如何高效地对TB级甚至是PB的大规模数据进行处理是业界迫切急需解决的问题。在应用需求和技术推动下,云计算作为一种新的计算模式被提出来了,并逐步成为了IT界的主旋律。MapReduce分布式计算框架作为云计算中处理大规模数据的利器而被各大企业广泛应用。然而在实际的商业运用中, MapReduce仍然还有很多需要完善的地方,尤其是在调度机制如任务的分配不均衡,失败任务的二次调度等方面,同时原有的调度处理方式也不能很好的适应异构环境。本文将MapReduce在异构环境下的调度机制作为主要的研究方向。本文针对异构环境的特点,重点总结和分析了MapReduce框架存在的调度性能问题和目前主流调度算法存在的不足,特别是在本地执行、数据不均衡等方面。针对上述问题本文提出了一种在异构环境下基于蚁群算法的多任务集群调度算法MSBACO,该算法能够评估集群中节点的处理能力;同时提出一种新的目标转移函数,将任务快速的按照本地执行原则分配到各个节点上执行,从而缩短了运行时间,提高了集群性能。本文在MSBACO算法基础之上提出了预失败任务判定算法DAPT,该算法在任务执行过程中通过对预失败任务进行感知预判,从而将即将失败的任务快速转移给其他节点执行,减轻了主节点的负载和网络开销。基于上述两种算法,本文提出了异构环境下集群调度模型改进方案HNE-IMCSS。最后,通过程序编写和集群平台搭建,将作业执行时间、负载度作为评估指标与主流算法进行对比,验证了改进算法和调度模型在异构环境中的有效性和稳定性。