最优化映射减少框架中数据处理的装置和方法制造方法及图纸

技术编号:10158724 阅读:180 留言:0更新日期:2014-07-01 13:02
由本发明专利技术的方法最优化、由主节点实现的用于大规模数据的映射减少框架。该方法包括在指向由工人节点执行的任务的输入数据的读取指针位置上的这些工人节点的数据的接收以及从这些任务接收工作,被窃取的该工作被应用于输入数据,该输入数据尚未被工作从其窃取的任务处理。

【技术实现步骤摘要】

当前专利技术涉及映射减少(MapReduce)框架中的数据处理。该映射减少模型在谷歌公司开发,作为使能大规模数据处理的方式。
技术介绍
映射减少是用于处理大数据集合的编程模型,并且谷歌的该模型的实现的名字映射减少通常对计算机集群进行分布式计算。该模型受通常在功能编程中使用的“映射(map)”和“减少(reduce)”功能启发。映射减少包括“映射”步骤,其中主节点在每一个均处理特定的子任务的映射任务中建立问题的分支,并且分配这些映射任务给工人节点(worker node)。这个主任务还称作“安排(scheduling)”任务。对于此,主节点划分问题输入数据并且将每个输入数据部分分配到映射任务。工人节点处理子问题,并在映射任务完成时通知主节点。映射减少还包括“减少”步骤,其中主节点向一些工人节点分配“减少”操作,其收集全部子问题的答案并且将它们以某种形式组合以形成输出,即原始试图解决的问题的答案。映射减少允许映射和减少操作的分布式处理。所提供的每一个映射操作都独立于其他映射操作,并且可以并行地进行映射。类似地,“减少器”的集合可以进行操作相。虽然此处理相比于更加顺序的算法可能显得不高效,但是映射减少可以应用于比商用服务器可以处理的数据集合明显更大的数据集合—大型服务器公司可以使用映射减少来仅在若干小时内分类千兆字节(petabyte)的数据;映射减少通常适宜于处理“大数据”。并行化也提供在操作期间从服务器或贮存的部分故障中恢复的一些可能性:如果一个映射器或减少器出现故障,则工作可以重安排—假定输入数据仍然可用。映射减少的流行的开源实现是Apache Hadoop。(来源:维基百科)。映射减少依赖于任务的“静态”分割来易化主机的安排并且增加容错。任务的静态分割由主机节点“安排器”任务来处理。词组“静态”在上下文中意味着在执行之前将任务分割为同样大小的较小任务。作为程序/功能和输入数据分割任务的组合的任务由分割输入数据为部分并且创建在各个所分割数据部分上应用程序的若干任务。Blumofe等在他们的论文,在FOCS1994(Annual IEEE Symposium on Foundations of Computer Science)上的“Scheduling Multithreaded Computations by Work Stealing”中描述了处理器从其他处理器窃取工作的工作窃取的有益效果。此技术良好的适宜于处理异构任务。然而,它限于在相关任务之间窃取工作,例如,在线程之间的具有共享存储器的单一机器上执行的任务。技术不能应用于映射减少,因为映射减少方式有赖于如下假设:任务是独立的,而这允许了输入数据的静态分割以改进规模和容错。为了处理“离群者(straggler)”(即,缓慢地计算并且降低了数据处理系统的性能的机器),映射减少包括公知为“推测执行”的机制,包括在任务的拷贝的同时执行中,期望任务的之一将比其他任务更快地执行。此改进允许了在使用异构资源的环境中的性能增益。不适宜于异构地处理任务,即一些任务可能要求比其他任务更多的计算能力。美国Indiana University of Bloomington的Guo等人在他们的文章“Improving MapReduce Performance in Heterogenous Network Environments and Resource Utilisation”中描述了,在映射减少中,映射和减少任务被分配给由工人节点拥有的映射和减少“时隙(slot)”。每一个工人包括任务向其分配的用户可配置数量的映射和减少时隙。对每一个时隙保留潜在资源的部分。当全部时隙同时使用时,资源使用率是最优的。然而,千节点的谷歌计算簇(production cluster)的收集的使用率数据示出CPU利用率在大多数时候远不及最优。作者承认如同在Hadoop中应用的映射减少方式中的资源利用率在没有足够任务来填充全部任务时隙的时候是不高效的。每一个工人节点具有可以以每节点为基础由用户配置的映射和减少时隙。当不存在足够的任务来填充全部任务时隙时,浪费了保留的资源。为了改进映射减少性能,Guo等人提出了资源窃取并使能允许的任务窃取保留的“空闲”资源用于“推测执行”(即,相同任务(“复制”,或“竞争”任务)的并行执行)以处理执行装置的异构;对于一些任务T1到Tn的每一个,重执行任务(之前提及的“推测执行”)以使得任务的总数变得等于时隙的数量。重执行任务使用为“空闲”时隙保留的资源。改进处理速度的这些现有技术效果通过上述静态分割始终受限。映射减少中的当前途径是调谐与此静态分割有关的参数以便于改进负载平衡并且最终改进数据处理的性能。然而,此策略要求技术人员的介入,因为它要求要处理输入数据的正确了解。必须处理输入在大小上太小的未被分割为块的输入数据,因为添加映射任务增加了对每一个分割任务要求的开销。开销的示例是:同步的时间,转移和启动任务、传输结果和合并全部结果的时间。改进性能的再一策略是与Guo所讨论的“资源窃取”相对的、称为“工作窃取”的策略。Al-Obaidi等在他们的文章2012年7月3-5日的ICCCE2012的“A partial multi stealing scheduling model for divide and conquer problems”,中讨论了工作窃取。然而,Al-Obaidi等讨论的工作窃取目标在于多核处理器架构,并且讨论了通过任务线程的窃取来将其给予未使用处理器核心的工作窃取。此工作窃取策略设计用于多线程任务和多核处理器,并且不能导致非多线程任务或在单一核心节点上的更快执行。此外,该策略受未使用处理器核心的数量限制。最终,Al-Obaidi等类似于Blumofe等。全部这些不利使得这些策略对于映射减少模型中的应用不是最优的。现有技术涉及任务执行的最优化,已经提出了任务的静态分割。这不是最优的,因为静态分割不考虑不同分割任务之间以及不同执行节点之间的异构性。将会有利的是提出基于动态适应任务和节点异构性两者的方法的映射减少。因此,需要现有技术解决方案的进一步最优化。
技术实现思路
本专利技术旨在减轻现有技术的一些不便。为此,本专利技术包括用于在映射减少框架中的处理数据的方法,所述方法由主节点执行,并且包括将输入数据分割为输入数据片段;向工人节点分配用于处理输入数据片段的任务,其中向每一个工人节点分配用于处理本文档来自技高网
...
<a href="http://www.xjishu.com/zhuanli/55/201310711298.html" title="最优化映射减少框架中数据处理的装置和方法原文来自X技术">最优化映射减少框架中数据处理的装置和方法</a>

【技术保护点】
一种用于处理映射减少框架中的数据的方法,其特征在于所述方法由主装置(800,900)执行,并且在于所述方法包括:将输入数据分割(10001)为输入数据片段;向工人节点分配(10002)用于处理所述输入数据片段的任务,其中向每一个工人节点分配用于处理输入数据片段的任务;根据从执行所述任务的工人节点(901,902,903)接收的数据确定(10003)指向由任务处理的输入数据片段中的当前读取位置的读取指针是否尚未达到输入数据片段结尾之前的预定阈值;并且将新任务分配(10004)给空闲的工人节点,新任务被归于由在尚未达到输入数据片段结尾之前预定阈值的所述任务尚未处理的输入数据片段的、称为分割部分的部分,所述分割部分是位于所述当前读取指针位置之后的所述输入数据片段的一部分。

【技术特征摘要】
2012.12.20 EP 12306644.11.一种用于处理映射减少框架中的数据的方法,其特征在于所述方法
由主装置(800,900)执行,并且在于所述方法包括:
将输入数据分割(10001)为输入数据片段;
向工人节点分配(10002)用于处理所述输入数据片段的任务,其中向
每一个工人节点分配用于处理输入数据片段的任务;
根据从执行所述任务的工人节点(901,902,903)接收的数据确定(10003)
指向由任务处理的输入数据片段中的当前读取位置的读取指针是否尚未达
到输入数据片段结尾之前的预定阈值;并且
将新任务分配(10004)给空闲的工人节点,新任务被归于由在尚未达
到输入数据片段结尾之前预定阈值的所述任务尚未处理的输入数据片段的、
称为分割部分的部分,所述分割部分是位于所述当前读取指针位置之后的所
述输入数据片段的一部分。
2.根据权利要求1所述的方法,其中权利要求1的方法的最后步骤从
属于根据从所述任务接收的所述数据确定(3047)每个任务的输入数据处理
速度的步骤,并且对于数据处理速度低于数据处理速度阈值的每一个任务执
行权利要求1的最后步骤,所述数据处理速度根据从工人节点接收的数据获
得的后续读取指针确定。
3.根据权利要求1或2所述的方法,包括向执行在尚未达到输入数据
片段结尾之前预定阈值的任务的工人节点传输消息的步骤,该消息包含了用
于更新由向其传输该消息的工人节点执行的任务的输入数据片段结尾的信
息。
4.根据权利要求1或2所述的方法,包括在向任务提供的输入数据流
中插入End Of File标记,用于将输入数据的处理限制在位于所述分割部分之
前的输入数据片段的部分。
5.根据权利要求1到2的任一所述的方法,包括在所述主节点中更新
安排表,所述安排表包括允许工人节点与分配给它的任务之间的关联并且定
义分配给它的任务的输入数据片段部分开始和结束的信息。
6...

【专利技术属性】
技术研发人员:N勒斯库阿内克E勒莫尔
申请(专利权)人:汤姆逊许可公司
类型:发明
国别省市:法国;FR

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1