摘要 :
近年来,云计算因其高性能、高可靠、可扩展等特点在海量数据计算中得到了广泛应用。在信息技术飞速发展的条件下,海量数据处理成为计算机科学领域的新挑战。MapReduce作为一种新兴的分布式计算模型,它的主要特点在于封装开发传统并行分布式程序的细...
展开
近年来,云计算因其高性能、高可靠、可扩展等特点在海量数据计算中得到了广泛应用。在信息技术飞速发展的条件下,海量数据处理成为计算机科学领域的新挑战。MapReduce作为一种新兴的分布式计算模型,它的主要特点在于封装开发传统并行分布式程序的细节,实现业务逻辑程序的编写与分布式实现细节的分离。Hadoop作为MapReduce计算模型的开源实现,得到了各界的广泛关注,Hadoop调度算法主要克服的是集群资源利用率,用户作业的运行时间等难题。云环境下Hadoop作业调度的研究给学术界和工业界带来了新的挑战。改进和提高作业调度能力,对提高Hadoop的性能和资源利用率具有重要意义。
首先,介绍了云计算的概念以及体系结构,对开源平台Hadoop中的MapReduce编程模型和分布式文件系统HDFS(Hadoop Distributed File System)进行了深入研究,详细分析了Hadoop作业运行时机制以及现有的调度算法。
其次,针对基于优先级的加权轮转调度算法没有考虑系统负载水平,同时不能充分利用异构集群中计算节点的处理能力的问题,提出了一种改进的优先级调度算法(Priority Based Multi Scale,PBMC),PBMC算法对集群中的计算节点的计算能力进行判断,并按照计算能力的不同进行排序,考虑系统整体的负载水平,在保证系统整体负载处于合理状态时,将优先级较高作业中的任务分配给计算能力好的节点。实验结果表明PBMC算法充分考虑了集群中节点性能的不同,减少了集群作业的完成时间,进一步提高了集群资源的利用率。
最后,通过对云计算的开源平台Hadoop调度算法进行深入研究,针对用户提交服务的随机性、趋同性以及云计算系统的可靠性和集群资源的利用率的问题,利用排队模型建立云计算系统模型,采用集群中节点负载值来划分计算节点的可靠度。在对节点可靠性分类的基础上,提出了一种基于计算节点可靠度的Hadoop作业调度算法(Job Scheduling Based on Node Reliability,JSBNR)。JSBNR提出了一种计算节点可靠度评估模型,进而推出节点与任务的匹配方法。通过实验表明JSBNR提高了集群的可靠性以及资源的利用率,同时,具有良好的可扩展性能。
收起