[发明专利]一种基于消息再生机制的图计算容错方法及系统有效
申请号: | 201410085478.9 | 申请日: | 2014-03-10 |
公开(公告)号: | CN103885856B | 公开(公告)日: | 2017-01-25 |
发明(设计)人: | 薛继龙;曲直;杨智;代亚非 | 申请(专利权)人: | 北京大学 |
主分类号: | G06F11/14 | 分类号: | G06F11/14 |
代理公司: | 北京君尚知识产权代理事务所(普通合伙)11200 | 代理人: | 余长江 |
地址: | 北京市海淀*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 消息 再生 机制 计算 容错 方法 系统 | ||
技术领域
本发明属于云计算领域,具体涉及一种用于图计算系统的基于消息再生机制的高效容错方法及系统。
背景技术
图计算系统正在越来越广泛地被各类企业运用于日常的数据分析和计算中。在开源界涌现出了许多开源的图计算框架,如Apache Giraph、PowerGraph等。这些图计算系统框架受到Pregel的启发,均采用了基于顶点的语义模型和BSP(Bulk Synchronous Parallel)计算模型,从分布式存储系统中读入图数据,在内存中进行迭代计算,最后将计算结果输出到数据库或文件系统中。
一个图计算任务被划分成若干个超步(Superstep),在每个超步中,每个顶点将处理来自邻居顶点上一个Superstep发来的消息,并根据具体的运算逻辑向周围顶点发送消息供下一个Superstep使用。这种基于消息的顶点间通讯机制使得该计算框架可以将顶点很容易地划分在多个机器中,从而达到分布式和并行计算的目的。
作为一个分布式计算框架,容错是非常必要的。传统的MapReduce计算框架往往采用将子任务重算方法,这是因为每个计算任务的子任务具有如下特性:
1.子任务是没有状态的,所有计算所需数据都可以从文件系统中获得;
2.子任务之间没有任何依赖或通信。
而对于图计算系统来说,这样两个特性并不存在:
1.子任务是有状态的:图的结构数据和顶点状态都保存在内存中,且无法从文件系统中获得;
2.子任务之间有大量的消息交换,每台机器上的子任务缓存了来自其他机器上一个Superstep的消息数据。
这使得图计算系统无法使用MapReduce的子任务重算方法。在现有的开源实现中,往往使用Checkpoint(快照)机制,即在每一个Superstep结束后,将图的结构数据、顶点状态和本轮接收供下一个Superstep使用的消息整体保存到分布式文件系统上作为一个快照。当出现失效时,所有节点放弃当前的计算状态和中间数据,从文件系统中重新读入最近一个快照。 该方法虽然实现起来很简单,但其网络和磁盘开销都非常大,严重拖慢计算速度,因此在实际应用中往往关闭此功能。
发明内容
为了能够更好地适应图计算系统的失效情况,本发明提出一种用于图计算系统的基于消息再生机制的高效容错方法,及采用该方法的图计算系统,能够实现快照数据的轻量化,大大缩短快照的生成和恢复时间,提高图计算系统的容错能力。
为实现上述目的,本发明采用的技术方案如下:
一种基于消息再生机制的图计算容错方法,其步骤包括:
1)在图计算过程中,对于图结构数据保存相邻两个快照之间图结构的变化信息,对于消息数据保存顶点值集合;
2)当出现失效时,利用保存的所述图结构的变化信息和所述顶点值集合,将图计算系统恢复到之前有效的快照对应的超步(Superstep),然后开始下一超步的计算。
进一步地,步骤2)所述之前有效的快照为失效之前任意一个有效的快照,优选为失效之前最后一个有效的快照。
进一步地,步骤1)在Superstep k结束时的快照生成过程如下:
a)储存相对于上一个快照的图变化信息Δk-1,k;
b)储存所有顶点的值,形成顶点值集合Vk。
进一步地,设Δi,j为第j个Superstep相对于第i个Superstep的变化增量,Gk为恢复到第k个Superstep时所需要读取的图结构数据快照,则步骤2)中当出现失效时恢复到Superstep 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。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京大学,未经北京大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410085478.9/2.html,转载请声明来源钻瓜专利网。