MapReduce编程模型去耦合优化研究

来源 :中国科学院研究生院 中国科学院大学 | 被引量 : 0次 | 上传用户:bareet
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
随着“大数据”时代的到来,分布式数据处理平台受到越来越广泛的关注,其中Google提出的MapReduce编程模型成为了以数据为中心的大规模数据处理平台的主流实现。在MapReduce编程模型的Shuffle过程中,Map和Reduce之间的中间数据是通过Pull的方式传输,只有当有Map task完成时,Reduce task才能传输数据,当:Map task全部完成时,Reduce task获取所有数据后才能开始计算。因此Reduce task的执行依赖于Map task的状态。这种Reduce对Map的依赖造成Map和Reduce阶段间的耦合关系,会引发Reduce Slot Hoarding和网络负载不均衡的问题,影响资源使用率和作业执行效率,导致作业Wall Time延长,降低系统吞吐率。   改进MapReduce编程模型中Shuffle过程的相关工作有很多,如Pipeline技术、Copy-compute Splitting技术等,但是这些方案都是只能缓解或解决部分问题,不能从根本上同时解决这两个问题。基于大规模数据处理的重要性以及目前MapReduce编程模型中耦合关系带来的问题和现有解决方案的不完善性,本文提出对MapReduce编程模型进行去耦合优化研究,构建一个无耦合的中间数据传输模型来替代原有Shuffle过程,解决Reduce Slot Hoarding和网络负载不均衡的问题。对MapReduce编程模型进行去耦合优化有两个必要条件:在作业的所有Map task完成之前,不得调度Reduce task;在作业Map阶段完成中间数据传输,将网络负载分散到Map和Reduce两个阶段,均衡网络负载。为了达到这两个目标,本文提出三项关键技术:(1)权重映射技术,建立Reduce task和节点间的映射关系,在Reduce task启动前确定其执行的节点;(2)数据自推送技术,在各个节点上创建Server。Map task完成数据处理后以自己为Client,采用Push的方式将中间数据推送到Reduce task映射节点的Server上,Server负责接受、存储和管理中间数据;(3)部分数据备份技术,通过备份部分数据来保证MapReduce编程模型的容错性。本文基于这三项关键技术来构建无耦合中间数据传输模型,并将模型分成三个组成模块,控制模块、数据传输模块和容错模块。其中控制模块负责任务映射、任务调度以及各个模块间的协同工作。数据传输模块负责中间数据的传输、存储和管理。容错模块负责在节点异常时自动进行出错恢复,以最小代价完成作业恢复工作。   本文将无耦合中间数据传输模型应用到开源的MapReduce框架Hadoop上,并对无耦合中间数据传输模型进行功能和性能测试。测试表明无耦合中间数据传输模型成功解决Reduce Slot Hoarding和网络负载不均衡的问题,达到去耦合优化的目标。并且提高系统吞吐率33.10%,系统的加权加速比达到48.56%。
其他文献
数据管理技术是利用计算机硬件和软件技术对数据进行有效的收集、存储、处理和应用的过程。随着数据形式的多样化以及应用需求的多元化,数据管理技术面临了新的困难和挑战。近
多智能体系统(Multi-Agent System,简称MAS)作为分布式人工智能的重要研究领域,从20世纪90年代起得到了快速的发展,并在诸多行业有着重要的应用。同时,越来越多的多智能体系统提出
大量的大规模密集型数据需要存储在多个服务器中,而应用越来越广泛的云计算环境很好地解决了大规模密集型数据在分配过程中遇到的规模性问题。随着云计算技术的发展,云环境下的
与LTL、CTL以及PDL等较简单的时序与模态逻辑相比,μ-演算由于含有不动点算子,拥有非常强大的表达能力,因而付出的代价是其可满足性的判定、模型的构造以及对应公理系统的完备性
近年,统计机器翻译取得了很大的进展:从基于词的模型,到基于短语的模型,再到各种句法的模型。虽然句法的模型有诸多优点,如可以处理长距离调序等,但它们也并不是完美的,都存在各自
随着我国航天技术的发展,航天系统功能越来越复杂,对计算机软硬件的要求也越来越高。传统软件系统已无法满足航天系统对于软件的实时性、可靠性和安全性的需求。为此,有必要在软
随着当前软件规模的不断上升,软件维护的复杂度和效率日益受到关注。为了减少软件后期维护的复杂度、增加维护的效率,研究者提出了一系列程序理解的方法。这些方法降低了学习
不经意传输一经提出,就成为密码学界的研究热点之一。从理论研究方面来讲,不经意传输协议作为密码协议的基本内容和模块,可以作为组件用来构建其它密码协议,如零知识证明协议
近年来,虚拟化技术飞速发展,各种基于虚拟机技术的应用也越来越多。云计算等基于虚拟化这一新兴技术的安全性也越来越受到人们的关注。Xen作为一种新兴的虚拟化技术,拥有可扩展
人类对人脸认知模式的探索由来已久,并且已经成功应用于美容整形等研究领域。而计算机视觉和模式识别领域对人脸相似度度量方法的探索也从未停止,由此产生的人脸识别、人脸检