System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种基于共享内存的图计算实现方法、终端设备及介质技术_技高网

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

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

【技术实现步骤摘要】

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


技术介绍

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中任一所述方法的步骤。

【技术特征摘要】

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

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

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

4.根据权利要求3所述的基于共享内存的图计算实现方法,其特征在于:在共享内存的读写中,写进程从队列的队尾进行写入,读进程...

【专利技术属性】
技术研发人员:徐佳吉洪万福陈子才
申请(专利权)人:厦门渊亭信息科技有限公司
类型:发明
国别省市:

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

1