基于核间存储访问的子图分段优化方法及应用技术

技术编号:34177807 阅读:15 留言:0更新日期:2022-07-17 12:20
提供基于分布式并行计算的图计算方法、分布式并行计算系统和计算机可读介质。图计算方法包括:获得要计算的图的数据,图包括多个顶点和边;按照压缩稀疏行格式来存储图,存储为稀疏矩阵形式,其中,同一个顶点的所有邻边连续存储,辅以偏移量数组来支撑其索引功能;对于源顶点和目标顶点的度数均大于预定阈值的子图,正向图中按目标顶点即矩阵的列进行分段、反向图中按源顶点即矩阵的行进行分段,将所述子图进一步分为多个分段子图SSG分量,从而使得每个分段子图SSG中目标顶点限制在预定范围内。本实施例的针对高度数顶点的分段子图方法避免或减轻了传统的由于单一大图的顶点范围过大导致访问邻居顶点的数据的时空局部性非常差的问题。性非常差的问题。性非常差的问题。

Sub graph segmentation optimization method based on inter core storage access and its application

【技术实现步骤摘要】
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 communication

optimizing substrate for distributed heterogeneous graph analytics.SIGPLAN Not.53,4(April 2018),752

768.
[0012][5]Steffen Maass,Changwoo Min,Sanidhya Kashyap,Woonhak Kang,Mohan Kumar,and Taesoo Kim.2017.Mosaic:Processing a Trillion

Edge Graph on a Single Machine.In Proceedings of the Twelfth European Conference on Computer Systems(EuroSys'17).Association for Computing Machinery,New York,NY,USA,527

543.

技术实现思路

[0013]鉴于上述情况,提出了本专利技术。
[0014]根据本专利技术的一个方面,提供了一种基于分布式并行计算的图计算方法,包括:获得要计算的图的数据,图包括多个顶点和边,其中每个顶点表示相应运算,其中每个边将相应第一顶点连接至相应第二顶点,所述相应第二顶点表示的运算接收由所述相应第一顶点所表示的运算的输出作为输入,边X

Y表示从顶点X到顶点Y的边,按照压缩稀疏行格式来存储图,存储为稀疏矩阵形式,其中,同一个顶点的所有邻边连续存储,辅以偏移量数组来支撑其索引功能;对于源顶点和目标顶点的度数均大于预定阈值的子图,正向图中按目标顶点即矩阵的列进行分段、反向图中按源顶点即矩阵的行进行分段,将一个子图进一步分为多个分段子图SSG分量,从而使得每个分段子图SSG中目标顶点限制在预定范围内。
[0015]优选地,图计算方法在通用多核处理器上进行,所述预定范围是能够存储在末级高速缓存LLC(Last Level Cache)的大小。
[0016]优选地,图计算在异构众核处理器上进行拉取模式的边处理,使用本地数据存储器LDM(Local Data Memory)的远程访问机制,将反向图中一个分段子图SSG的源顶点切分存储在一个从核阵列的LDM上,然后在遍历图的过程中,通过从核访问RLD(Remote Load)自目标顶点的数据所属从核获取数据。
[0017]优选地,图计算方法中,对所述度数超于预定阈值的源顶点按照如下规则进行编号:从高位到低位为:分段编号;缓存行编号;从核编号,从核本地编号。
[0018]优选地,缓存行编号的位数根据顶点数据元素大小总和计算,以确保本地数据存储器LDM能够全部存放下;此后六位用于区分所属的从核编号;从核本地编号的位数根据顶点数据元素大小最小值计算,以确保DMA效率。
[0019]优选地,图计算方法中,每个从核根据从核编号位,首先使用带跨步(stride)的直接内存访问DMA操作预取(prefetch)分段内的顶点数据;在拉取模式的边处理过程中,读取源顶点时使用本地数据存储器远程加载(LDM RLD)读取源顶点所属从核的LDM相应地址。
[0020]根据本专利技术另一方面,提供了一种分布式并行计算系统,具有多个超节点,每个超
节点由多个节点组成,每个节点是具有计算能力的计算设备,超节点内部的节点间通信比跨越超节点的节点间的通信速度快,节点被划分为网格,每个格子一个节点,一个超节点的内部节点逻辑上排列为一行,所述分布式并行计算系统按照如下规则存储图和执行图计算:获得要计算的图的数据,图包括多个顶点和边,其中每个顶点表示相应运算,其中每个边将相应第一顶点连接至相应第二顶点,所述相应第二顶点表示的运算接收由所述相应第一顶点所表示的运算的输出作为输入,边X

Y表示从顶点X到顶点Y的边,按照压缩稀疏行格式来存储图,存储为稀疏矩阵形式,其中,同一个顶点的所有邻边连续存储,辅以偏移量数组来支撑其索引功能,对于源顶点和目标顶点的度数均大于预定阈值的子图,正向图中按目标顶点即矩阵的列进行分段、反向图中按源顶点即矩阵的行进行分段,将一个子图进一步分为多个分段子图SSG分量,从而使得每个分段子图SSG中目标顶点限制在预定范围内。
[0021]根据本专利技术另一方面,提供了一种计算机可读介质,其上存储有指令,所述指令在由分布式并行计算系统执行时,执行前述图计算方法。
[0022]通过本实施例的针对高度数顶点的分段子图方法对图(稀疏矩阵)按目标顶点(矩阵的列)进行分段,将一个图分为多个SSG分量,从而使得每个SSG中目标顶点限制在一定范围内,避免或减轻了传统的由于单一大图的顶点范围过大导致访问邻居顶点的数据的时空局部性非常差的问题。
附图说明
[0023]图1示出了根据本专利技术实施例的具备超节点的能够被应用来实现本专利技术的图数据计算的超计算机神威架构示意图。
[0024]图2示出了根据本专利技术实施例的图划分策略的示意图。
[0025]图3示出了在本专利技术实施方式的1.5维划分中,整机规模下的子图边数分布示意图。
[0026]图4示出了传统的图以稀疏矩阵形式存储(图4的左侧部分)和按照本专利技术实施例的分段子图存储优化(图4中的右侧部分)的示意图。
[0027]图5示出了根据本专利技术实施例的归约分发类型通信的处理示意图。
[0028]图6示意性地示出根据本专利技术实施例的对从核分类、核组内数据分发、写外部桶的过程的流程图。
具体实施方式
[0029]给出本文中使用的一些术语解释。
[0030]节点:每个节点是具有计算能力的计算设备。
[0031]超节点:由预定数目个节点组成超节点,超节点内部的节点间通信在物理上比跨越超节点的节点间的通信速度快。
本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于分布式并行计算的图计算方法,包括:获得要计算的图的数据,图包括多个顶点和边,其中每个顶点表示相应运算,其中每个边将相应第一顶点连接至相应第二顶点,所述相应第二顶点表示的运算接收由所述相应第一顶点所表示的运算的输出作为输入,边X

Y表示从顶点X到顶点Y的边,按照压缩稀疏行格式来存储图,存储为稀疏矩阵形式,其中,同一个顶点的所有邻边连续存储,辅以偏移量数组来支撑其索引功能;对于源顶点和目标顶点的度数均大于预定阈值的子图,正向图中按目标顶点即矩阵的列进行分段、反向图中按源顶点即矩阵的行进行分段,将一个子图进一步分为多个分段子图SSG分量,从而使得每个分段子图SSG中目标顶点限制在预定范围内。2.如权利要求1所述的图计算方法,在通用多核处理器上进行所述方法,所述预定范围是能够存储在末级高速缓存LLC(Last Level Cache)的大小。3.如权利要求1所述的超大规模图计算方法,所述超大规模图计算在异构众核处理器上进行拉取模式的边处理,使用本地数据存储器LDM(Local Data Memory)的远程访问机制,将反向图中一个分段子图SSG的源顶点切分存储在一个从核阵列的LDM上,然后在遍历图的过程中,通过从核访问RLD(Remote Load)自目标顶点的数据所属从核获取数据。4.如权利要求3所述的图计算方法,对所述度数超于预定阈值的源顶点按照如下规则进行编号:从高位到低位为:分段编号;缓存行编号;从核编号,从核本地编号。5.如权利要求4所述的图计算方法,缓存行编号的位数根据顶点数据元素大小总和计算,以确保本地数据存储器LDM...

【专利技术属性】
技术研发人员:曹焕琦王元炜
申请(专利权)人:深圳清华大学研究院
类型:发明
国别省市:

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

1