MapReduce型海量数据处理平台中数据放置技术研究

来源 :北京工业大学 | 被引量 : 2次 | 上传用户:cicihaicic
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
MapReduce型数据处理平台(以下简称“Map Reduce平台”)是海量数据处理领域的最新技术之一。数据本地化处理是MapReduce平台的新特征,即将海量数据基于计算节点的本地磁盘分布存储且计算任务尽可能被调度到数据所在节点运行,从而降低数据处理中数据远程访问导致的通信开销,提高处理效率。因此,提升数据本地化处理几率是MapReduce平台追求的重要目标。数据放置是数据处理平台的核心技术之一,实现将数据在平台所有存储节点间合理有效地分布存储。与传统数据处理平台不同,海量数据基于计算节点存储及数据本地化处理的新特征使得MapReduce平台中数据放置决策不仅需要服务于数据存储效率,更需要服务于数据计算效率。既有的数据放置技术多以提升数据访问效率,减少数据I/O瓶颈为目标。上述技术运用于MapReduce平台,由于未考虑数据存储节点的计算负载特征,难以避免将热点数据存储于高计算负载的节点,从而导致数据本地化处理几率降低的问题。本文针对上述问题,开展以提升数据本地化处理几率为目标的MapReduce平台数据放置技术研究,通过在数据放置决策中引入数据块副本被本地化访问的比例、计算节点剩余计算资源等新因素,提升数据处理效率。本文的主要贡献包括:(1)定义了数据放置决策信息集。针对MapReduce平台的新特征,本文定义了数据放置决策所需要的信息集,在该信息集中首次引入了数据块副本的访问频次、数据块副本被本地化访问的比例和节点的剩余计算资源等信息,作为数据放置新的决策因子。(2)设计并实现了决策信息获取机制。本文定义了数据放置的决策信息获取机制,包括信息采集、信息统计与预测和信息汇总。设计了基于主从结构的决策信息获取框架,将信息采集和统计预测功能分离于平台各个计算节点(从节点)完成,中心节点仅完成信息汇总功能,降低中心节点的负载压力。同时,本文设计了基于灰色预测模型的决策信息预测机制。(3)设计并实现了既有数据块副本放置的动态调整策略。分析决策因子与数据块副本及数据节点的关系,设计了数据块副本评价值及节点评价值的计算方法。根据评价值筛选得到待迁移的数据块副本集合和迁移目标候选节点的集合,以兼顾系统的容错能力并最大化数据块副本的本地化访问几率为目标,重新放置数据块副本。(4)设计并实现了新增数据块副本的放置策略。在向分布式文件系统中写数据时,从机架随机选择出候选节点集合,向候选节点集合中剩余资源最多的节点放置数据块副本,提高该数据块副本被本地化访问的几率,同时主动地调整了各节点的存储资源使用量。(5)搭建仿真环境并完成性能测试。对仿真软件CloudSim进行扩展,配置了由上百个节点构成的MapReduce仿真平台。在相同的作业和数据提交量下,对改进的数据块副本放置策略与HDFS默认数据副本放置策略在作业平均执行时间等多个指标上进行了性能对比。结果表明,本文提出的数据块副本放置技术使得作业平均执行时间平均下降了12.03%.
其他文献
本文主要研究基于无序图像集的三维场景和相机参数恢复技术。研究的目标是利用结构运动恢复技术从二维图像恢复三维场景的结构信息以及相机的参数。本文工作的主要内容概括如
在机器学习的研究中,人脸识别是一个热门的研究问题。人脸识别系统的一般模型又分为人脸检测,特征定位与提取和识别分类三个步骤,其中特征定位与提取又是整个人脸识别算法的基础
多视点视频作为下一代多媒体应用的发展方向,通过提供多个视点的视频数据来满足用户自由选择观察角度的需求,具有立体感和交互操作的功能。多视点视频的数据量通常随着摄像机数
图像识别是模式识别领域的一个重要分支,鉴于其在医学、航空航天、工业等众多领域的广泛应用和重要作用,图像识别一直作为研究人员的研究热点。而其中的一个重要分支——自然景
随着互联网行业的蓬勃发展,人们对大数据技术的应用更加深入和广泛。作为主流的海量数据并行计算平台,Hadoop在性能方面正面临越发严格的考验。Hadoop平台的调度器控制着作业
航空履历本记载了飞机和其所属的部附件的全寿命信息,包括从生产到总装、调试和后期使用的全部信息,每架飞机包含履历本总量超千本,总字数约百万。航空履历本包括机载设备履
深度数据直接记录一个场景中的物体表面的三维几何信息,并且不受光照、阴影等其他因素的影响,有了这种精确的空间几何信息,易于建立事物模型,简化数据的处理方法,更利于与图像相关
XML作为半结构化数据描述语言在互联网上被广泛地用于数据交换和数据共享。W3C为满足对XML数据的查询和处理需求,针对XML的数据特点提出了一种函数式语言XQuery,并将其作为XML
软件测试是软件开发活动的重要环节,而测试数据是软件测试的关键,决定了软件测试的效率和质量。在白盒测试中,面对复杂程序,测试人员往往需要设计大量的测试数据,才能达到比较充分
云计算是一种基于互联网的新型计算模式,通过虚拟化技术实现了平台资源利用率的最大化,整合计算资源、存储资源和网络资源构成大规模的资源池,使得各种应用系统能够按需获取计算