论文部分内容阅读
随着云计算技术的飞速发展,互联网和科学计算领域需要处理的数据呈现出级数式增长的趋势,并行编程技术在这海量数据处理中发挥着重要作用。当前运用较多的是由Google提出的MapReduce分布式并行计算编程模型,它将处理过程抽象成map和redcue两个函数,底层框架负责数据分片、任务调度、集群容错、集群间通信等任务。专家学者对MapReduce模型在集群中应用存在的缺陷提出了几种改进模型,但大多只针对某一问题或只适用于某一类应用而缺乏普遍性。
本文借助数据流分析技术,对MapReduce进行数据流分析与优化,将其中的消息处理分割出来,来解决MapReduce集群中主节点的消息处理过重而造成负载失衡的问题。随之,采用消息代理机制对MapReduce模型进行改进。论文主要工作有:
(1)对MapReduce数据流进行分析与优化。借助数据流分析技术,对模型进行深入剖析,此部分主要分三个阶段:MapReduce细节化处理,数据流分析与优化,消息处理的分割;并建立了面向MapReduce的消息代理理论模型。
(2)提出MapReduce改进模型。在MapReduce数据流优化后,已较好地将消息处理从主节点的工作中分割出来。为该理论于实际模型中,本文采用消息代理机制(Message Broker Mechanism),建立了基于消息代理机制的MapReduce改进模型。
(3)对改进模型进行实验仿真。借助Eucalytus基础设施平台构建集群,以Hadoop为运行环境,NaradaBrokering为消息代理实体,建立了适合原模型和改进模型实际运行的平台架构。实验应用包括音乐家相似度计算和k-means聚类计算,分别考察其平均负载和扩展性的表现。
实验数据得出,基于消息代理机制的MapReduce框架在数据密集型应用中对主节点的负载均衡有一定的提高,本文实验的实例中集群中的主节点的平均负载值下降了3.71%;改进模型在计算密集型应用上虽然运行时间上没有显著提高,但从加速比中看出其保持了良好的可扩展性。