论文部分内容阅读
近些年云计算技术的应用越来越广泛。由于云计算技术在互联网行业中的快速发展,数据的大小和复杂程度(大数据)急剧增加,促使Map Reduce和分布式文件系统,如HDFS(Hadoop分布式文件系统)成为分布式数据应用程序的首选模式。云基础设施的可扩展性显著提高了其适用性。Hadoop基于Map Reduce计算框架,因而可以高效的处理大数据。它的解决方案已经被广泛应用于大多数云供应商。Hadoop集群调度是满足性能要求的关键因素。Hadoop集群调度将任务分配到资源上。用可扩展的方式分配越来越多的任务和资源是一个相当大的挑战。此外,Hadoop系统的异构性会使挑战的难度增加。原始的Hadoop任务调度算法不能满足异构集群的性能要求。本文研究并分析了比较常用的Hadoop调度算法的性能。其中包括三种作业调度算法:FIFO算法,Fair Sharing算法,COSHC(Classification and Optimization based on Scheduler for Heterogeneous Clusters)算法,以及一种任务调度算法:ATSDA(Adaptive Task Scheduling strategy based on Dynamic workload Adjustment)算法。FIFO算法是大多数Hadoop集群默认的作业调度算法。它对作业队列的分配基于作业到达系统的时间,而忽略系统中的任何异构性。Fair Sharing算法用来补充FIFO算法在小作业和用户的异构性处理中缺点的Hadoop集群调度算法。该调度算法定义了每个用户的池,每个池由多个Map任务和Reduce任务的资源槽组成。COSHC算法是Hadoop调度算法考虑系统和用户的异构性做出的调度决策。通过使用该系统信息,COSHC将输入作业分类,并基于作业类和资源的功能找到该作业匹配的资源。在本篇论文中,我所设计的综合调度优化策略对Hadoop集群的作业调度和任务调度进行优化。一、综合调度优化策略在Hadoop集群作业调度中引入混合调度方法。该方法根据传入作业和可用资源的数量等信息,动态地选择FIFO算法,Fair Sharing算法,COSHC算法中最合适的调度算法。二、综合调度优化策略在Hadoop集群任务调度中采用ATSDA调度算法。ATSDA算法为基于动态负载调整的自适应任务调度算法。在ATSDA算法中,Task Trackers能够适应运行时的负载变化和自己计算能力的要求获得任务,实现自律的同时避开了Job Tracker系统性能瓶颈的主要原因:算法的复杂度。ATSDA是一种高效、可靠的算法,它可以提高异构Hadoop集群的稳定性,可扩展性,效率,和负载平衡性。此外,它在任务的执行时间,资源利用率,加速比等方面的性能优于原来和其他改进的Hadoop任务调度算法。