论文部分内容阅读
云计算的提出是对互联网的一个冲击,它实现了计算能力的商品化,其透明性和简单的编程模式为开发者带来了更便捷的服务开发和部署方式。2009年被称为云计算元年,Amazon、Google、IBM等诸多IT巨头都把目光聚焦在云计算,将其视为未来发展的主要战略方向。因此,对云计算进行研究即迎合了IT技术的发展趋势,又具有较强的实际意义和商用价值。MapReduce是一种简单的并行计算模型,它将简单的业务逻辑从复杂的实现细节中分离出来,提供了一系列简单强大的接口,通过这些接口可以实现大规模计算得自发的并发和分布执行。MapReduce的这种特性使得它成为了云计算的首要选择。它不仅仅是编程模型,还是优秀的任务调度模型,其作业调度问题已成为业内最热烈的讨论话题之一,并成为云计算系统高效稳定运行的关键技术。Hadoop是对Google公司MapReduce模型的开源实现,它已成为当前应用最广泛的开源云计算平台,但Hadoop发展时间较短,仍有许多不足的地方需要改进。本文对云计算的关键技术之一MapReduce编程模型做了深入的研究,并在Hadoop平台上对MapReduce的典型应用进行了关键性能指标的测试,科学的检测了MapReduce在公平性、可扩展性、加速比等关键指标上的性能。通过实验分析和对Hadoop调度算法的研究提出了一种创新的调度算法,文中命名为基于优先级加权的滑动窗口调度算法。它通过滑动窗口技术动态的监控系统中执行作业的数量,自适应的管理系统负载平衡,利用优先级来为不同类型的作业提供差别服务。并对Hadoop原始的推测执行算法进行了改进,新的算法采用更精确的方法来判断影响系统响应时间的掉队者任务,大大的提高了掉队者任务的命中率从而有效地提高了系统的响应能力。最后该算法考虑Hadoop计算平台中集群的异构性,根据每个计算节点的处理能力合理的分配任务。本文在最后用实验比较了该算法和Hadoop的FIFO调度算法的性能差异。通过实验验证了新算法具有更好的响应时间和公平性,有着良好的负载均衡,并且大大提高了Hadoop系统在异构平台上的性能。