当前位置: 首页 > 专利查询>北京大学专利>正文

一种基于消息再生机制的图计算容错方法及系统技术方案

技术编号:10152838 阅读:142 留言:0更新日期:2014-06-30 19:21
本发明专利技术涉及一种基于消息再生机制的图计算容错方法及系统。该方法在图计算过程中,对于图结构数据保存相邻两个快照之间图结构的变化信息,对于消息数据保存顶点值集合;当出现失效时,利用保存的所述图结构的变化信息和所述顶点值集合,将图计算系统恢复到之前有效的快照对应的超步(Superstep),然后开始下一超步的计算。该系统包括一个控制节点、多个计算节点和分布式文件系统。为了能够更好地适应图计算系统的失效情况,本发明专利技术能够实现快照数据的轻量化,大大缩短快照的生成和恢复时间,提高图计算系统的容错能力。

【技术实现步骤摘要】
一种基于消息再生机制的图计算容错方法及系统
本专利技术属于云计算领域,具体涉及一种用于图计算系统的基于消息再生机制的高效容错方法及系统。
技术介绍
图计算系统正在越来越广泛地被各类企业运用于日常的数据分析和计算中。在开源界涌现出了许多开源的图计算框架,如ApacheGiraph、PowerGraph等。这些图计算系统框架受到Pregel的启发,均采用了基于顶点的语义模型和BSP(BulkSynchronousParallel)计算模型,从分布式存储系统中读入图数据,在内存中进行迭代计算,最后将计算结果输出到数据库或文件系统中。一个图计算任务被划分成若干个超步(Superstep),在每个超步中,每个顶点将处理来自邻居顶点上一个Superstep发来的消息,并根据具体的运算逻辑向周围顶点发送消息供下一个Superstep使用。这种基于消息的顶点间通讯机制使得该计算框架可以将顶点很容易地划分在多个机器中,从而达到分布式和并行计算的目的。作为一个分布式计算框架,容错是非常必要的。传统的MapReduce计算框架往往采用将子任务重算方法,这是因为每个计算任务的子任务具有如下特性:1.子任务是没有状态的,所有计算所需数据都可以从文件系统中获得;2.子任务之间没有任何依赖或通信。而对于图计算系统来说,这样两个特性并不存在:1.子任务是有状态的:图的结构数据和顶点状态都保存在内存中,且无法从文件系统中获得;2.子任务之间有大量的消息交换,每台机器上的子任务缓存了来自其他机器上一个Superstep的消息数据。这使得图计算系统无法使用MapReduce的子任务重算方法。在现有的开源实现中,往往使用Checkpoint(快照)机制,即在每一个Superstep结束后,将图的结构数据、顶点状态和本轮接收供下一个Superstep使用的消息整体保存到分布式文件系统上作为一个快照。当出现失效时,所有节点放弃当前的计算状态和中间数据,从文件系统中重新读入最近一个快照。该方法虽然实现起来很简单,但其网络和磁盘开销都非常大,严重拖慢计算速度,因此在实际应用中往往关闭此功能。
技术实现思路
为了能够更好地适应图计算系统的失效情况,本专利技术提出一种用于图计算系统的基于消息再生机制的高效容错方法,及采用该方法的图计算系统,能够实现快照数据的轻量化,大大缩短快照的生成和恢复时间,提高图计算系统的容错能力。为实现上述目的,本专利技术采用的技术方案如下:一种基于消息再生机制的图计算容错方法,其步骤包括:1)在图计算过程中,对于图结构数据保存相邻两个快照之间图结构的变化信息,对于消息数据保存顶点值集合;2)当出现失效时,利用保存的所述图结构的变化信息和所述顶点值集合,将图计算系统恢复到之前有效的快照对应的超步(Superstep),然后开始下一超步的计算。进一步地,步骤2)所述之前有效的快照为失效之前任意一个有效的快照,优选为失效之前最后一个有效的快照。进一步地,步骤1)在Superstepk结束时的快照生成过程如下:a)储存相对于上一个快照的图变化信息Δk-1,k;b)储存所有顶点的值,形成顶点值集合Vk。进一步地,设Δi,j为第j个Superstep相对于第i个Superstep的变化增量,Gk为恢复到第k个Superstep时所需要读取的图结构数据快照,则步骤2)中当出现失效时恢复到Superstepk时的状态的过程如下:a)依次读取GΔ0,1Δ1,2...Δk-2,k-1,获得Gk-1;b)读取顶点值集合Vk,根据Vk恢复出消息集合Mk;c)读取Δk-1,k,形成Gk-1Δk-1,k=Gk。一种采用上述方法的图计算系统,包括一个控制节点、多个计算节点和分布式文件系统,其中,控制节点负责向计算节点分发计算任务,在计算节点间同步,探测计算节点的失效情况,同时控制计算过程的进行;计算节点负责具体任务的计算工作,每个计算节点的内存中保存一个图的部分顶点及其与其他顶点的联接情况;分布式文件系统负责存储图的静态信息和运行过程中的快照数据,包括相邻两个快照之间图结构的变化信息和消息数据的顶点值集合;当控制节点探测到计算节点失效时,控制计算节点恢复到之前有效的状态。本专利技术的基于消息再生机制的图计算容错方法,通过基于图结构数据增量快照和消息数据再生机制,实现了一种轻量级快照及其恢复方法,大大减少了快照生成和恢复时所需的数据量,从而降低了网络带宽和磁盘要求,提高了故障恢复效率,是一个精确、细致的方法,实现复杂度低,易于维护,具有较高的实用价值。附图说明图1是PageRank算法实现及其regenerate函数图。图2是SSSP算法实现及其regenerate函数图。图3是图计算系统结构示意图。图4是Giraph系统和本专利技术系统的计算和快照时间对比图。图5是Giraph系统和本专利技术系统的K-Core任务的Checkpoint大小对比图。图6是Giraph系统和本专利技术系统的PageRank恢复时间对比图。具体实施方式下面通过具体实施例和附图,对本专利技术做进一步说明。传统的快照数据包括两部分:a)图结构数据快照;b)缓存的供下一个Superstep使用的消息数据快照。本专利技术分别通过两种不同的方法减小这两部分的数据体积,通过图结构数据增量快照和消息数据再生机制,实现快照数据的轻量化,达到快速生成和恢复的目的,大大缩短了快照的生成和恢复时间。1.增量图结构数据快照对于图结构数据,相对于传统的快照全部图结构数据的方法,本专利技术使用增量式快照,即采用基于日志追加的方法保存两个快照之间图结构的变化。形式化地,设Δi,j为第i个Superstep相对于第i个Superstep的变化增量,则第k个Superstep结束时保存的数据为Δk-1,k。如果需要恢复到第x个Superstep,其所需要读取的图结构数据快照为:Gx=GΔ0,1Δ1,2...Δx-1,x,其中Gx表示第x个超步结束时的图结构数据,G表示原始图结构数据。2.基于消息数据再生机制的消息快照设Superstepk产生的消息集合为Mk,所有顶点值集合为Vk。对于消息数据,相对于传统的保存全部Mk的方法,本专利技术只保存顶点值集Vk,恢复时则通过顶点值直接恢复出该节点在该Superstep发送的消息。设每个顶点的平均度数为β,则Vk的快照大小为Mk的1/β。由于计算模型不同,本专利技术增强了计算模型语义,向上层应用暴露恢复接口,由程序员自行确定如何通过顶点的值恢复出该Superstep发送的消息。其典型的程序接口为:voidregenerate(Tvalue),其中Tvalue是当前顶点在Superstepk结束时的值。在恢复过程中,系统会对每个顶点调用regenerate函数,恢复出从该顶点发出的消息。经过测试,绝大部分运行于图计算平台上的算法都适用于此接口。作为实例,图1和图2分别给出了两个典型算法PageRank和SSSP(单源最短路径)的算法实现及其相应的regenerate函数。3.快照过程在Superstepk结束时,其快照生成过程如下:a)储存相对于上一个快照的图变化信息Δk-1,k;b)储存所有顶点的值,形成Vk。4.恢复过程当出现失效时,若想恢复到Superstepk时的状态,则过程如下:a)依次读取GΔ0,本文档来自技高网
...
一种基于消息再生机制的图计算容错方法及系统

【技术保护点】
一种基于消息再生机制的图计算容错方法,其步骤包括:1)在图计算过程中,对于图结构数据保存相邻两个快照之间图结构的变化信息,对于消息数据保存顶点值集合;2)当出现失效时,利用保存的所述图结构的变化信息和所述顶点值集合,将图计算系统恢复到之前有效的快照对应的超步,然后开始下一超步的计算。

【技术特征摘要】
1.一种基于消息再生机制的图计算容错方法,其步骤包括:1)在图计算过程中,对于图结构数据保存相邻两个快照之间图结构的变化信息,对于消息数据保存顶点值集合;2)当出现失效时,利用保存的所述图结构的变化信息和所述顶点值集合,将图计算系统恢复到之前有效的快照对应的超步,然后开始下一超步的计算;设Δi,j为第j个超步相对于第i个超步的变化增量,G表示原始图结构数据,Gk为表示第k个超步结束时的图结构数据,则当出现失效时恢复到第k个超步时的状态的过程如下:a)依次读取GΔ0,1Δ1,2...Δk-2,k-1,获得Gk-1;b)读取顶点值集合Vk,根据Vk恢复出消息集合Mk;c)读取Δk-1,k,形成Gk-1Δk-1,k=Gk。2.如权利要求1所述的方法,其特征在于,步骤1)在第k个超步结束时的快照生成过程如下:a)储存相对于上一个快照的图变化信息Δk-1,k;b)储存所有顶点的值,形成顶点值集合Vk。3.如权利要求1所述的方法,其特征在于,步骤b)根据Vk恢复出消息集合Mk所采用的程序接口为:voidregenerate(Tvalue),其中Tvalue是当前顶点在Superstepk结束...

【专利技术属性】
技术研发人员:薛继龙曲直杨智代亚非
申请(专利权)人:北京大学
类型:发明
国别省市:北京;11

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

1