[发明专利]一种基于MapReduce的数据预取方法有效
申请号: | 201510299063.6 | 申请日: | 2015-06-03 |
公开(公告)号: | CN104933110B | 公开(公告)日: | 2018-02-09 |
发明(设计)人: | 高胜立;薛瑞尼;敖立翔 | 申请(专利权)人: | 电子科技大学 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 电子科技大学专利中心51203 | 代理人: | 李明光 |
地址: | 611731 四川省成*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 mapreduce 数据 方法 | ||
技术领域
本发明属于计算机技术领域,具体涉及一种关于MapReduce的数据预取方法。
背景技术
作为Hadoop的核心组件之一,MapReduce主要用于分布式计算。在Hadoop平台上,MapReduce的分布式计算框架是搭建在分布式文件系统HDFS(Hadoop Distributed File System)上的,也就是说,MapReduce框架所需的数据输入和数据输出都是基于HDFS的。MapReduce在进行数据处理时,将一个大的作业分成一个个小的计算任务,这些小的任务分为Map任务和Reduce任务,Map任务从HDFS上获取数据作为输入,并且不同Map任务间是相互独立的;Reduce任务的数据输入来源于Map的输出,并最终将处理完的数据存储到HDFS上。
HDFS分布式文件系统在存储数据时,将数据分成默认大小为128MB的数据块,然后以冗余的形式(默认数据本体加备份数总计为3)存储在HDFS上,而HDFS上的数据块最终也是存储到各物理节点上,这些物理节点既承担着数据存储的任务,也承担着数据计算的任务。
Map的数据输入来源于HDFS上的数据块,在处理数据块时,一般是优先选择本地的数据块,然后其次是本机架的数据块,最后才是选择本数据中心的数据块。然而,由于一个作业的数据块在HDFS上并不能完全匹配MapReduce的执行场景来实现高程度的本地化,因为在计算的时候,由于计算节点性能各异,当一个计算节点找不到本地化的任务时,需要等待远程数据块传输到本地,在这个过程中,需要浪费大量的等待时间,从而给集群整体吞吐率和单个作业的执行效率造成影响。所以,如果能有一种预取方法,能将各计算节点未来需要处理的数据块在任务还没有开始前就提前预取到计算节点本地,那将大大提升作业的执行效率和整个集群的吞吐率。
Seo等人(HPMR:Prefetching and pre-shuffling in shared MapReduce computation environment[C]//Cluster Computing and Workshops,2009.CLUSTER'09.IEEE International Conference on.IEEE,2009:1-8.)系统分析了MapReduce作业的执行场景和网络带宽在MapReduce计算中的重要性,并提出一种预取和提前Shuffle的方案用于减少网络带宽的消耗和提升集群吞吐量和作业执行效率,然而,这种预取并不能保证好的预取效果,因为没有考虑到计算节点的性能因素。
发明内容
本发明的目的是提升MapReduce作业的执行效率和系统任务的整体吞吐率,具体实施手段是通过在MapReduce调度中实现非本地化任务的预测并实现提前预取数据块到本地的目的,从而使得计算节点不需要等待数据块的远程传输,提升计算节点的利用率。本发明提出的预取方法可以同时工作在同构和异构MapReduce集群环境,这种预取的思想也不单单针对MapReduce,所有分布式的计算框架都可以借鉴改进。
本发明方法通过性能评估来预测各计算节点的数据块处理量,并根据一系列的计算来评估哪些计算节点会出现非本地化任务,对于通过计算评估的非本地化任务,在计算节点还未申请处理该任务时就提前预取到计算节点本地,从而使得计算节点不会产生计算等待。
本发明具体采用如下技术方案:
一种基于MapReduce的数据预取策略方法,其流程如图1所示,在拥有n个物理计算节点的集群上,针对得到调度的某个具体作业A,在其实施过程中按以下方法进行数据预取:
步骤1:由于集群有同构和异构之分,在计算尚未开始时假设集群是同构的,即假设所有计算节点的计算性能Pi均为1,其中i∈[1,n];对于作业A,假设该作业对应的数据块个数为b个,且每个数据块在HDFS上的默认备份数为3,设各计算节点上的数据块个数为FTi,则总数据块数量∑FTi=3b;
为每个计算节点分配第一轮任务,即为每个物理计算节点分配一个数据块,每个计算节点处理其分配到的第一个计算任务,并计算每个物理计算节点实际计算性能RPTi,其中i=1,…,n;
步骤2:统计各计算节点针对作业A还需要处理的任务个数PBTi;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于电子科技大学,未经电子科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510299063.6/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置