论文部分内容阅读
MapReduce型数据处理平台(以下简称“Map Reduce平台”)是海量数据处理领域的最新技术之一。数据本地化处理是MapReduce平台的新特征,即将海量数据基于计算节点的本地磁盘分布存储且计算任务尽可能被调度到数据所在节点运行,从而降低数据处理中数据远程访问导致的通信开销,提高处理效率。因此,提升数据本地化处理几率是MapReduce平台追求的重要目标。数据放置是数据处理平台的核心技术之一,实现将数据在平台所有存储节点间合理有效地分布存储。与传统数据处理平台不同,海量数据基于计算节点存储及数据本地化处理的新特征使得MapReduce平台中数据放置决策不仅需要服务于数据存储效率,更需要服务于数据计算效率。既有的数据放置技术多以提升数据访问效率,减少数据I/O瓶颈为目标。上述技术运用于MapReduce平台,由于未考虑数据存储节点的计算负载特征,难以避免将热点数据存储于高计算负载的节点,从而导致数据本地化处理几率降低的问题。本文针对上述问题,开展以提升数据本地化处理几率为目标的MapReduce平台数据放置技术研究,通过在数据放置决策中引入数据块副本被本地化访问的比例、计算节点剩余计算资源等新因素,提升数据处理效率。本文的主要贡献包括:(1)定义了数据放置决策信息集。针对MapReduce平台的新特征,本文定义了数据放置决策所需要的信息集,在该信息集中首次引入了数据块副本的访问频次、数据块副本被本地化访问的比例和节点的剩余计算资源等信息,作为数据放置新的决策因子。(2)设计并实现了决策信息获取机制。本文定义了数据放置的决策信息获取机制,包括信息采集、信息统计与预测和信息汇总。设计了基于主从结构的决策信息获取框架,将信息采集和统计预测功能分离于平台各个计算节点(从节点)完成,中心节点仅完成信息汇总功能,降低中心节点的负载压力。同时,本文设计了基于灰色预测模型的决策信息预测机制。(3)设计并实现了既有数据块副本放置的动态调整策略。分析决策因子与数据块副本及数据节点的关系,设计了数据块副本评价值及节点评价值的计算方法。根据评价值筛选得到待迁移的数据块副本集合和迁移目标候选节点的集合,以兼顾系统的容错能力并最大化数据块副本的本地化访问几率为目标,重新放置数据块副本。(4)设计并实现了新增数据块副本的放置策略。在向分布式文件系统中写数据时,从机架随机选择出候选节点集合,向候选节点集合中剩余资源最多的节点放置数据块副本,提高该数据块副本被本地化访问的几率,同时主动地调整了各节点的存储资源使用量。(5)搭建仿真环境并完成性能测试。对仿真软件CloudSim进行扩展,配置了由上百个节点构成的MapReduce仿真平台。在相同的作业和数据提交量下,对改进的数据块副本放置策略与HDFS默认数据副本放置策略在作业平均执行时间等多个指标上进行了性能对比。结果表明,本文提出的数据块副本放置技术使得作业平均执行时间平均下降了12.03%.