一种基于共享内存的图计算实现方法、终端设备及介质与流程

文档序号:37153496发布日期:2024-02-26 17:11阅读:18来源:国知局
一种基于共享内存的图计算实现方法、终端设备及介质与流程

本发明涉及图计算领域,尤其涉及一种基于共享内存的图计算实现方法、终端设备及介质。


背景技术:

1、图计算对于关系构建、用户群分析与发现、属性传播等具有很重要的作用。在大数据时代,图的规模大到一定程度后,单机就很难解决大规模的图计算了。因此,进行大规模数据的图算法开发和调试具有重要意义。

2、基于分布式实现图计算是将图数据分成多个部分存储在不同的计算节点中,通过网络进行通信和协作完成计算任务。由于需要网络传输和节点间协调等因素,该方式虽然能够支持大规模图计算,但延迟相对较高。


技术实现思路

1、为了解决上述问题,本发明提出了一种基于共享内存的图计算实现方法、终端设备及介质。

2、具体方案如下:

3、一种基于共享内存的图计算实现方法,包括以下步骤:

4、s1:将图结构的数据划分为多个分片;

5、s2:对各分片中的全部顶点进行排序,并将每个顶点对应的数据作为一个数据块;

6、s3:对每个顶点进行多次复制,得到一个主顶点和多个副顶点;按照分片中各顶点的排列顺序,得到一个主队列和多个副队列,主队列由分片包含的所有顶点对应的主顶点排列组成,副队列由分片包含的所有顶点对应一个副顶点排列组成;将主队列和从队列均存储至共享内存中;

7、s4:在多线程并发处理过程中,顺序读取主队列或副队列中头部的顶点进行数据处理,数据处理过程采用gas计算模型,当进行至gather阶段,主顶点和副顶点分别进行计算;当进行至apply阶段时,副顶点将gather阶段计算结果发送至主顶点,由主顶点进行汇总及进一步的计算,在scatter阶段时,基于主顶点进一步计算结果更新主顶点的数据并同步至副顶点中;当顶点中数据更新完成后,更新边的数据。

8、进一步的,步骤s2排序时通过psw算法进行。

9、进一步的,设定共享内存能够供多个进程进行读操作,只能供一个进程对共享内存进行写操作。

10、进一步的,在共享内存的读写中,写进程从队列的队尾进行写入,读进程从队列的队首开始读取,如果读取到的是队尾,等待写进程写入完成后,再读取相应位置的数据块。

11、一种基于共享内存的图计算实现终端设备,包括处理器、存储器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现本发明实施例上述的方法的步骤。

12、一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现本发明实施例上述的方法的步骤。

13、本发明采用如上技术方案,能够高效的执行数据的流转和处理,支持并发读取,避免了传统的大量线程切换时的上下文的切换动作而造成大量的资源浪费。



技术特征:

1.一种基于共享内存的图计算实现方法,其特征在于,包括以下步骤:

2.根据权利要求1所述的基于共享内存的图计算实现方法,其特征在于:步骤s2排序时通过psw算法进行。

3.根据权利要求1所述的基于共享内存的图计算实现方法,其特征在于:设定共享内存能够供多个进程进行读操作,只能供一个进程对共享内存进行写操作。

4.根据权利要求3所述的基于共享内存的图计算实现方法,其特征在于:在共享内存的读写中,写进程从队列的队尾进行写入,读进程从队列的队首开始读取,如果读取到的是队尾,等待写进程写入完成后,再读取相应位置的数据块。

5.一种基于共享内存的图计算实现终端设备,其特征在于:包括处理器、存储器以及存储在所述存储器中并在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如权利要求1~4中任一所述方法的步骤。

6.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于:所述计算机程序被处理器执行时实现如权利要求1~4中任一所述方法的步骤。


技术总结
本发明涉及一种基于共享内存的图计算实现方法、终端设备及介质,该方法中包括:将图结构的数据划分为多个分片;对各分片中的全部顶点进行排序,并将每个顶点对应的数据作为一个数据块;对每个顶点进行多次复制,得到一个主顶点和多个副顶点;按照分片中各顶点的排列顺序,得到一个主队列和多个副队列,主队列由分片包含的所有顶点对应的主顶点排列组成,副队列由分片包含的所有顶点对应一个副顶点排列组成;将主队列和从队列均存储至共享内存中;在多线程并发处理过程中,顺序读取主队列或副队列中头部的顶点进行数据处理。本发明避能够高效的执行数据的流转和处理,支持并发读取。

技术研发人员:徐佳吉,洪万福,陈子才
受保护的技术使用者:厦门渊亭信息科技有限公司
技术研发日:
技术公布日:2024/2/25
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1