MapReduce并行编程模式的应用与研究

来源 :中国科学技术大学 | 被引量 : 0次 | 上传用户:liqing804240
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
当前,科学与工程计算中大规模数据处理的需求与日俱增。与此同时,高性能并行机的发展和硬件价格的下降使得高性能机器得到了广泛推广,与之相伴的是各种并行编程模式和并行编程语言的纷纷出现,并行计算的发展为各学科带来福音的同时也带来了一系列的问题。并行机体系结构以及并行编程语言和模式的多样性为并行应用的开发带来了极大的困难,增加了普通程序员的编程难度。因此,简化并行编程,提高并行程序开发效率就成为了一个关键的问题。 很多并行编程模型和语言抽象层次太低,导致程序员要关心很多底层实现细节。而MapReduce模式具有高层次的抽象,在MapReduce运行时系统的支持下程序员只需要关注对具体数据的处理,以及数据相关性的处理,极大的降低了并行程序的开发难度。但是除了网络搜索领域外,如何使用MapReduce对其它领域(尤其是数值计算领域)的具体应用进行设计与分析还没有系统、详细的研究和阐述。为此,本文围绕这些环节展开研究工作,具体研究工作与成果如下: 第一,研究了并行算法空间中由任务组织、由数据分解组织和由数据流组织这几种并行问题组织原则与MapReduce模式的关系,综合MapReduce模式以及几种原则的特性,给出了如何用MapReduce对这几种不同原则描述的问题进行表述。 第二,将任务分解、分治策路、流水线等并行问题分析模式与MapReduce模式相结合,用MapReduce来描述这些并行模型,并且对每个模式中出现的典型应用或算法进行分析。并通过对MapReduce在这些模式上的应用和对具体应用的分析,给出了使用MapReduce模式分析问题的步骤及方法。 第三,提出了在用MapReduce模式解决问题时所用到的关键数据结构,一方面是输入数据的表示,其中包括输入数据和输入数据的特征,并结合矩阵数据划分的分析过程,给出了数据结构的设计要点和方法。另一方面,分析了key值的作用,研究了key值与MPI中通信模式的关系,给出了选择和设计key值的原则。 第四,将MapReduce引入数值计算领域,在HPMR上研究了数值计算的应用。使用MapReduce模式在HPMR上设计和实现了以矩阵计算为典型代表的若干数值计算应用,包括矩阵的LU分解与QR分解。在对具体问题的实现和分析过程中研究了使用MapReduce的步骤和各种数据结构的设计,体现了这种模式的简洁性和易用性。 实验测试表明,在HPMR上运用我们所提出的方法和步骤使用MapReduce模式来分析和解决有关并行计算问题有着很好的简洁性和易用性,且具有良好的运行时性能。
其他文献
随着电信企业的竞争愈演愈烈,电信市场出现的套餐已经令消费者眼花缭乱,客户不知道如何选择更适合自己使用的套餐,而且套餐制定过程中人工经验的参与也给套餐带来一定的盲目
动态规划是求解最优化问题的一种高效的途径和方法,在生物信息学和科学计算中有着广泛的应用。然而,由于求解问题的数据规模的急剧膨胀,传统的串行程序实现在运行时间方面已
入侵检测作为一种积极主动的网络安全技术,已经越来越受到人们的高度重视,成为网络安全研究人员的一个重点研究内容。而基于生物免疫原理的入侵检测技术具有自适应性、自组织
随着Internet技术的成熟以及电子商务的普及,普通的政务活动和商务活动也随之网络化,传统的签名方式就必须在网络中以某种形式得以实现,在此需求下数字签名随之而产生。数字
OpenVG是嵌入式平台矢量图形的开放标准接口,其应用越来越多,但是目前OpenVG的实现方案中由于缺乏高效的图形渲染技术,造成运行性能低下。为了改善OpenVG实现的运行性能,本文主要
随着Internet的高速发展,博客作为一种新兴的信息传播手段,发挥着越来越重要的作用。而话题追踪技术是针对已知话题、面向文本信息流的信息处理技术。它在信息抽取和舆情监控方
随着现代技术和信息网络的进步,物联网的发展热潮已悄然掀起,得到了世界各国学术界、工业界的诸多关注。而作为物联网感知层的重要组成结构,无线传感器网络(Wireless Sensor
叉车在日常生活中发挥着重要的作用,主要用在装卸货物方面。它属于工业起升搬运自装载车辆,机械地把水平方向的搬运和垂直方向的起升紧密结合起来,有效地完成各种装卸搬运作
在移动互联网快速发展的大背景下,无线城市建设方兴未艾,国内部分城市也开始在城市轨道交通站台和列车内提供Wi-Fi热点接入服务。除了需要提供列车Wi-Fi热点以接入乘客移动终
3DTV作为下一代视频技术的研究热点,其关键技术包括三维图像的获取、编码、传输、解码/合成和显示五个方面。本论文旨在以FPGA作为平台,对三维立体电视中所要使用到的若干关