[发明专利]分布式并行图处理中基于P2P的动态容错方法及系统有效
申请号: | 201510026680.9 | 申请日: | 2015-01-20 |
公开(公告)号: | CN104618153B | 公开(公告)日: | 2018-08-03 |
发明(设计)人: | 曹东刚;詹杭龙;李宝;梅宏 | 申请(专利权)人: | 北京大学 |
主分类号: | H04L12/24 | 分类号: | H04L12/24;H04L29/08 |
代理公司: | 北京君尚知识产权代理事务所(普通合伙) 11200 | 代理人: | 冯艺东 |
地址: | 100871 北*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 分布式 并行 处理 基于 p2p 动态 容错 方法 系统 | ||
1.一种分布式并行图处理中基于P2P的动态容错方法,其步骤包括:
1)定义分布式图处理问题的数据单元,以确保动态容错时所恢复数据的完整性;所述数据单元为二元组(Pj,InMsg(Pj)),其中,Pj为由图结构划分成的某一图分区,即某一子图;InMsg(Pj)为子图Pj包含的所有顶点在某一迭代步所收到的消息集合,在运算初始时,InMsg(Pj)为空集;1≤j≤m,m为对图进行分区后分区的数量;
2)将处理器节点编号并组成环状结构,按照数据单元的定义将输入的图数据划分成若干分区,并将各分区分派到各处理器节点中,每个处理器节点把各自的数据单元生成副本备份在编号相邻的两个处理器节点中;所述副本不保存于磁盘中,而是记录于内存中;
3)在运算的每一个迭代步中,每个处理器节点执行完自身的数据单元后,以增量的方式更新其放置于相邻处理器节点中的副本,每次对副本中图分区状态的更新只传输发生变化的部分,相邻处理器节点将变化的部分累加到数据单元副本中,实现副本中图分区状态的更新;在图处理的每一个迭代步中,每个顶点首先处理在上一次迭代步所收到的消息集,并根据这些消息更新自己的状态,再向邻接顶点传播自己的新状态;同一顶点在不同迭代步之间的消息不需要累积,当某一迭代步已计算出顶点的更新值后,在该迭代步之前所收到的消息都不再需要;
4)当某个处理器节点失效或因网络出错而离线时,指派其相邻节点利用数据副本替代原先的数据单元,完成相应运算,从而恢复图处理的正常执行。
2.如权利要求1所述的方法,其特征在于:步骤2)将输入的图数据划分成若干分区后,以二元组(Pj,空的消息集合)的结构分派到各个处理器节点中。
3.如权利要求1所述的方法,其特征在于:步骤2)中,对于自己被分派的数据单元,处理器节点基于BSP模型对数据单元中的每一个顶点进行运算;对于相邻节点的数据单元副本,处理器节点只是记录,并等待每一次迭代步后,相邻节点发送数据来更新这些副本。
4.如权利要求1所述的方法,其特征在于:步骤3)在每个迭代步完成后进行副本更新;或者根据系统错误发生的频率,综合考虑副本更新所消耗的时间代价,每隔一定迭代步进行一次副本更新。
5.一种采用权利要求1所述方法的分布式并行图处理系统,其特征在于,包括控制器和处理器节点,所述控制器负责将输入的图数据进行分区,将各分区分派到各处理器节点中,并监控各处理器节点的运行情况;各处理器节点组成环状结构,每个处理器节点把各自的数据单元生成副本备份在邻接处理器节点中,每个处理器节点执行完自身的数据单元后,以增量的方式更新其放置于相邻处理器节点中的副本;当某个处理器节点失效或因网络出错而离线时,控制器利用其相邻节点的数据副本替代原先的数据单元,恢复图处理的正常执行。
6.如权利要求5所述的系统,其特征在于:每个处理器节点定期向控制器发送心跳消息,当控制器未能及时收到某个处理器节点的心跳消息时,控制器确认该处理器节点离线,进入错误恢复阶段。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京大学,未经北京大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510026680.9/1.html,转载请声明来源钻瓜专利网。