The present invention provides a graph calculation method based on an automatic selection replica factor model. The steps are as follows: dividing the graph data into several slices; selecting the optimal replica factor Ri for each slice according to the automatic selection replica factor model, in which the replica factor Ri refers to the number of replicas selected for the first slice Si; initializing all node values of each slice, and calculating. Calculate each edge of each slice and store the calculated replica value of the target node in the Ri replica according to the replica factor Ri of each slice; merge the replica value of the target node of the Ri replica of each slice and update the updated value of the merged target node to the GlobalVertices array; the GlobalVertices array is used to store graph data. All node values. This method not only solves the problem that computing resources are wasted, but also improves the speed of graph computing system.
【技术实现步骤摘要】
一种基于自动选择副本因子模型的图计算方法
本专利技术涉及云计算领域,具体涉及一种基于自动选择副本因子模型的图计算方法。
技术介绍
近年来,随着社交网络、基因和各种商业领域中的图结构数据数量和规模快速的增长,对于处理大规模图数据的需求也在随之增加。越来越多的公司需要图计算系统来对图数据进行分析和计算。许多分布式图计算系统应运而生,其中包括Pregel、Giraph、GraphX、GraphLab、PowerGraph、PowerLyra和Gemini。然而现有的图计算系统节点之间的大量通信使得网络成为瓶颈。分布式图计算系统想要达到很好的性能就需要高速网络。另一种解决方案是不采用分布式架构。其中Galois和Ligra就是为共享内存/多核机器设计的,GraphChi和X-Stream也是为单机处理大规模图数据设计的。集中式的图计算系统避免了分布式系统中的管理和调度问题。但随着新的计算机硬件的出现(如图形处理器GPU),计算机硬件性能的不断提升,这些传统的图计算系统设计并不能完全发挥其计算能力。使用GPU加速的图计算系统似乎是一个可行的解决方案。尽管已经有一些系统进行过一些尝试,但使用GPU来支持大规模图计算系统仍然是一个很大的挑战。其主要问题在于:真实图数据中存在非常严重的节点度数倾斜(图中小部分的节点有大量的边)现象。这会导致GPU的多个线程计算的时候产生大量的写冲突。冲突的线程会被串行化,严重浪费并行计算能力,拖慢系统的计算速度。
技术实现思路
针对上述问题,本专利技术的目的是提供一种基于自动选择副本因子模型的图计算方法,该方法能够使得GPU多线程并发计算时, ...
【技术保护点】
1.一种基于自动选择副本因子模型的图计算方法,其步骤包括:将图数据切分得到若干个切片;根据自动选择副本因子模型为上述每个切片选择最优的副本因子Ri,其中所述副本因子Ri是指为第i个切片Si选择的副本个数;初始化上述每个切片的所有节点值,计算每个切片的每一条边,并根据上述每个切片的副本因子Ri将计算得到的目标节点的副本值存放在Ri个副本中;合并上述每一条边的Ri个副本的目标节点的副本值,并将合并后得到的目标节点的更新值更新至GlobalVertices数组;其中所述GlobalVertices数组用于存放图数据的所有节点值。
【技术特征摘要】
1.一种基于自动选择副本因子模型的图计算方法,其步骤包括:将图数据切分得到若干个切片;根据自动选择副本因子模型为上述每个切片选择最优的副本因子Ri,其中所述副本因子Ri是指为第i个切片Si选择的副本个数;初始化上述每个切片的所有节点值,计算每个切片的每一条边,并根据上述每个切片的副本因子Ri将计算得到的目标节点的副本值存放在Ri个副本中;合并上述每一条边的Ri个副本的目标节点的副本值,并将合并后得到的目标节点的更新值更新至GlobalVertices数组;其中所述GlobalVertices数组用于存放图数据的所有节点值。2.如权利要求1所述的方法,其特征在于,该方法步骤还包括:将GlobalVertices数组中存放的图数据的所有节点值传输至内存中进行同步。3.如权利要求1所述的方法,其特征在于,所述将图数据切分得到若干个切片是指:根据GPU显存大小将图数据切分成若干个页,并根据每个页的大小确定每个页中包含的若干个切片的尺寸以及根据共享内存大小确定每个切片中最大节点个数。4.如权利要求1所述的方法,其特征在于,所述切片采用CSC和CSR压缩格式保存。...
【专利技术属性】
技术研发人员:陈瀚,马凌霄,杨智,薛继龙,代亚非,
申请(专利权)人:北京大学,
类型:发明
国别省市:北京,11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。