【技术实现步骤摘要】
dsl.Proceedings of the ACM on Programming Languages 2,OOPSLA(2018),1
–
30.
[0010][3]Xiaowei Zhu,Wenguang Chen,Weimin Zheng,and Xiaosong Ma.2016.Gemini:A computation
‑
centric distributed graph processing system.In 12th USENIX symposium on operating systems design and implementation(OSDI 16).301
–
316.
[0011][4]Roshan Dathathri,Gurbinder Gill,Loc Hoang,Hoang
‑
Vu Dang,Alex Brooks,Nikoli Dryden,Marc Snir,and Keshav Pingali.2018.Gluon:a communicatio
【技术保护点】
【技术特征摘要】
1.一种基于分布式并行计算的图计算方法,包括:获得要计算的图的数据,图包括多个顶点和边,其中每个顶点表示相应运算,其中每个边将相应第一顶点连接至相应第二顶点,所述相应第二顶点表示的运算接收由所述相应第一顶点所表示的运算的输出作为输入,边X
→
Y表示从顶点X到顶点Y的边,将顶点按照度数划分为第一极高度数类,第二高度数类和第三普通类,其中将度数大于第一阈值的顶点标记为E,划分为第一极高度数类,将度数处于第一阈值和第二阈值之间的顶点标记为H,划分为第二高度数类,将度数低于第二阈值的顶点标记为R,划分为第三普通类,第一阈值大于第二阈值;对有向图,则按入度和出度分别划分,入度划分集合和出度划分集合分别标记为Xi、Xo,其中X为E、H或R,同时,由预定数目个节点组成超节点,每个节点是具有计算能力的计算设备,超节点内部的节点间通信比跨越超节点的节点间的通信速度快,将节点划分为网格,每个格子一个节点,一个超节点的内部节点逻辑上排列为一行,顶点按编号均匀划分到各节点,Ri、Ro由所属节点维护状态,在列上同步维护Ho顶点状态,在列上和行上同步维护Hi顶点状态,全局同步维护Eo、Ei顶点状态,Eo、Ho合称为EHo,Ei、Hi合称为EHi。2.如权利要求1所述的图计算方法,如下按照边的情况进行顶点对应代理的分配和存储:对于边EHo
→
EHi,将这类边存储在源顶点所在节点所在的网格列、目标顶点所在节点所在的网格行的节点上;对于边Eo
→
Ri,将这类边存储在R顶点所在节点上,以允许计算时全局维护极高度数顶点,聚合其通信消息;对于边Ho
→
Ri,将这类边存储在H顶点所在节点所在的网格列、R顶点所在节点所在的网格行的节点上,以允许计算时在列上维护高度数顶点,在跨超节点的通信中聚合其通信消息,当对于Ho顶点,消息需要发送到同一个超节点的多个目标顶点时,因为源顶点在自己所在列、目标所在行的位置有一个可用的代理节点,所以先将一条消息跨超节点地发送到该可用的代理节点,然后由该可用的代理节点通过超节点内的快速网络发送给所有的目标顶点;对于边Ro
→
Ei,将这类边存储在R顶点所在节点上,以允许计算时全局维护极高度数顶点,聚合其通信消息;对于边Ro
→
Hi,将这类边存储在R顶点所在节点,但H顶点按所在列上的编号存储,以允许计算时在R所在行、H所在列的节点上累加其更新消息,聚合跨超节点的网络通信;对于边Ro
→
Ri,将这类边在源、目标顶点处分别存储正向边和反向边,边消息通过在通信网格上进行行列转发实现。3.如权利要求1所述的图计算方法,其中第一阈值为总节点数乘以一个常数系数,第二阈值为超节点内的节点数乘以第二常数系数。4.如权利要求1所述的超大规模图计算方法,实现“推送”和“拉取”两种遍历模式,且支持根据活跃顶点比例自动选择遍历模式,对于EHo
→
EHi、Eo
→
Ri、Ro
→
Ei三类本地计算的边,根据目标顶点的活跃比例是否超过可配置的阈值选择“拉取”或“推送”模式;对于Ho
→
Ri、Ro
→
Hi、Ro
→
Ri三类本地计算的边,根据目标顶点的活跃比例与源顶点的活跃比例之比值是否超过可配置的阈值选择“拉取”或“推送”模式。
5.如权利要求1所述的图计算方法,其中在进行宽度优先搜索中,判断迭代处于头尾还是中间,当判断迭代处于头尾时,采用从目标顶点“拉取”到源顶点的方式来进行图遍历;当判断迭代处于中间时,采用源顶点“推送”至目标顶点的方式来进行图遍历;以及在PageRank中,本地遍历图并归约的子图使用“拉取”模式来取得最优的计算性能,而涉及远程边消息的子图使用“推送”模式以最小化通信量。6.如权利要求5所述的图计算方法,还包括:在拉取的方式下,设置顶点的状态标记,用于判断一个顶点的状态是否已经抵达了死状态,在死状态,顶点不会响应更多的消息;在确认达到死状态后,跳过剩余消息的处理。7.如权利要求2所述的图计算方法,对于源顶点和目标顶点都属于第一极高度数类、第二高度数类别的子图,正向图中按目标顶点进行分段、反向图中按源顶点进行分段,将一个图分为多个分段子图SSG(Segmented Sub
...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。