一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于压缩数据直接计算的高效并行图处理方法和系统

2022-12-19 20:15:35 来源:中国专利 TAG:


1.本发明涉及一种基于压缩数据直接计算的高效并行图处理方法和系统,属于大数据处理技术领域。


背景技术:

2.图数据处理在很多领域都扮演着非常重要的角色,比如社交网络,机器学习,图数据分析等。进入大数据时代以来,图数据规模产生了爆炸式的增长。例如,在社交网络中,facebook拥有超过28.5亿的账号和上百亿的关系边,而且这个规模还在不断扩大。对如此大规模的数据进行处理面临空间和时间上的双重挑战,一方面,对大规模图数据的存储需要大规模的空间,带来高昂的代价;另一方面,对这些大规模图数据进行查询和分析需要极长的处理时间,这在实际业务中是不可接受的。特别的,gpu近年来作为一个重要的并行加速器件,被广泛应用于图处理领域,然而gpu有自己的独立内存,这个内存通常是相对小的,无法容纳大规模图数据。
3.图表示的格式对图存储大小至关重要。传统的图表示方法有两种:邻接矩阵和邻接表。邻接矩阵是一个大小为顶点个数|v|*|v|的方阵,以方阵中的元素表明各顶点之间是否相连,其空间复杂度为o(n^2)。邻接表比邻接矩阵的表示更加高效,它只存储各顶点之间的邻居,其空间复杂度为o(|v| |e|),其中,v为图中顶点的个数,e为图中边的个数。然而,这两种图表示方法的空间消耗非常巨大,不满足实际生产生活中的需求。
4.对图数据进行压缩可以极大的减少存储空间。现有的图数据压缩方法中,其中一种为针对网络图的压缩方案,其采用了多种编码方案对邻接表中的邻居序列进行编码,可以取得很好的压缩效果;另外一种基于邻接矩阵的压缩方法,可以很好的利用邻接矩阵的稀疏性进行压缩。然而,目前的这些压缩图方案大多基于编码,在对压缩图数据的分析处理中,需要进行实时的解码,这引起了巨大的性能下降。更糟糕的是,由于压缩数据中存在数据依赖,解码操作通常不能被并行处理以提升性能。因此,相比较于传统的图存储格式,目前的压缩方法很难同时取得空间和时间上的收益。


技术实现要素:

5.针对上述问题,本发明的目的是提供基于压缩数据直接计算的高效并行图处理方法和系统,以邻接表表示的图数据进行规则压缩,得到压缩图数据,能够给有效清除图数据中存在的数据冗余,同时利用对语法规则描述的图数据应用直接处理,达到节省空间和节省计算的目的。
6.为实现上述目的,本发明采取以下技术方案:
7.第一方面,本发明提供一种基于压缩数据直接计算的高效并行图处理方法,其包括以下步骤:
8.对以邻接表表示的图数据及基于该图数据的应用进行处理,得到基于规则的压缩图数据及基于压缩图数据的应用;
9.基于运行该图数据的应用的计算平台类型,采用cpu压缩图直接处理方法或gpu压缩图直接处理方法,对基于规则的压缩图数据及基于压缩图数据的应用进行计算,得到图处理结果。
10.进一步,所述对以邻接表表示的图数据进行处理,包括:
11.按照预设排序规则,对以邻接表表示的图数据中的每个顶点的邻居进行排序;
12.在每个顶点的邻居序列之间插入分隔符;
13.采用tadoc的基于上下文无关文法的文本压缩方法,对由处理后的邻接表构成的文本序列进行压缩,得到基于规则的压缩图数据。
14.进一步,所述对基于邻接表表示的图数据的应用进行处理,得到基于压缩图数据的应用,包括:
15.将基于邻接表表示的图数据的应用抽象为包含6个元素的元组,该元组包括图数据、操作、条件、结果、开始状态、结束状态;
16.采用应用适配方法,将得到的包含6个元素的元组适配为针对压缩图数据的元组,进而得到基于压缩图数据的应用。
17.进一步,采用cpu压缩图直接处理方法对输入的基于规则的压缩图数据和基于该压缩图数据的应用进行处理,包括以下步骤:
18.将基于规则的压缩图数据和基于该压缩图数据的应用作为输入;
19.对开始状态和结束状态进行合理性检查,若不合理则结束计算,否则进入下一步;
20.进行分支缩减,将具有相同条件和操作的分支进行合并;
21.将基于规则的压缩图数据加载至内存;
22.准备应用辅助数据,利用cpu双层遍历模型得到图处理结果。
23.进一步,所述cpu双层遍历模型处理流程,包括:
24.3.5.1)判断是否为结束状态,如果是则收集计算结果,流程结束;否则从待处理集合中取出一个顶点v;
25.3.5.2)判断顶点v的所有邻居是否处理完成,如果是则返回步骤3.5.1),否则取出一个未处理的邻居u;
26.3.5.3)判断邻居u的类型,如果邻居u是顶点,则执行操作《顶点,顶点》,并进入步骤3.5.4);如果邻居u是规则,则执行操作《顶点,规则》,并进入步骤3.5.5);
27.3.5.4)判断邻居u是否满足预设条件,如果满足则将邻居u加入到需要处理的顶点集合并返回步骤3.5.2),否则直接返回步骤3.5.2);
28.3.5.5)判断邻居u是否满足预设条件,如果满足则将邻居u加入到需要处理的规则集合中并进入步骤3.5.6),否则返回步骤3.5.2);
29.3.5.6)判断待处理规则集合是否为空,如果为空则返回步骤3.5.2),否则取出一个规则r;
30.3.5.7)判断规则r的所有邻居是否处理完成,如果是则返回步骤3.5.6),否则取出一个规则r的邻居t;
31.3.5.8)判断邻居t的类型,如果邻居t是顶点,则执行操作《规则,顶点》并进入步骤3.5.9);如果邻居t是规则,则执行操作《规则,规则》并进入步骤3.5.10);
32.3.5.9)判断邻居t是否满足条件《顶点》,如果是则将邻居t加入到待处理顶点集合
中并返回步骤3.5.7),否则直接返回步骤3.5.7);
33.3.5.10)判断邻居t是否满足条件《规则》,如果是则将邻居t加入到待处理顶点集合中并返回步骤3.5.7),否则直接返回步骤3.5.7)。
34.进一步,所述采用gpu压缩直接计算方法对输入的压缩图数据和应用进行处理时,包括以下步骤:
35.将基于规则的压缩图数据和基于该压缩图数据的应用作为输入。
36.对开始状态和结束状态进行合理性检查,若不合理则结束计算,否则进入下一步;
37.进行分支缩减,将具有相同条件和操作的分支进行合并;
38.将基于规则的压缩图数据加载至内存,并拷贝至gpu;
39.准备辅助数据,并在gpu的内存上运行gpu层间无同步遍历模型得到图处理结果。
40.进一步,gpu层间无同步遍历模型的处理流程,包括以下步骤:
41.4.5.1)判断当前状态是否为结束状态,如果是则收集计算结果,流程结束,否则进入步骤4.5.2);
42.4.5.2)并行处理待处理集合中的所有元素,一个gpu线程处理一个元素e;
43.4.5.3)在一个gpu线程中,判断元素e的邻居是否已经全部处理完成,如果是进入步骤4.5.9),如果否则取出一个e的邻居u;
44.4.5.4)判断元素e和邻居u的类型,如果元素e是顶点且邻居u是顶点,则执行操作《顶点,顶点》并进入步骤4.5.5);如果e是顶点且u是规则,则执行操作《顶点,规则》并进入步骤4.5.6);如果e是规则且u是顶点,则执行操作《规则,顶点》并进入步骤4.5.7);如果e是规则且u是规则,则执行操作《规则,规则》并进入步骤4.5.8);
45.4.5.5)判断邻居u是否满足条件《顶点》,如果是则将邻居u加入到下一状态需要被遍历的集合中,否则返回步骤4.5.3);
46.4.5.6)判断邻居u是否满足条件《规则》,如果是则将邻居u加入到下一状态需要被遍历的集合中,否则返回步骤4.5.3);
47.4.5.7)判断邻居u是否满足条件《顶点》,如果是则将邻居u加入到下一状态需要被遍历的集合中,否则返回步骤4.5.3);
48.4.5.8)判断邻居u是否满足条件《规则》,如果是则将邻居u加入到下一状态需要被遍历的集合中,否则返回步骤4.5.3)。
49.4.5.9)判断所有线程是否结束,若所有线程均结束,则返回步骤4.5.1)。
50.第二方面,本发明提供一种基于压缩数据直接计算的高效并行图处理系统,包括:
51.预处理模块,用于对以邻接表表示的图数据及基于该图数据的应用进行处理,得到基于规则的压缩图数据及基于该压缩图数据的应用;
52.压缩图处理模块,用于根据运行该应用的计算平台类型,采用cpu压缩图直接处理方法或gpu压缩图直接处理方法,对基于规则的压缩图数据及基于该压缩图数据的应用进行计算,得到图处理结果。
53.第三方面,本发明提供一种处理设备,所述处理设备至少包括处理器和存储器,所述存储器上存储有计算机程序,所述处理器运行所述计算机程序时执行以实现所述基于压缩数据直接计算的高效并行图处理方法的步骤。
54.第四方面,本发明提供一种计算机存储介质,其上存储有计算机可读指令,所述计
算机可读指令可被处理器执行以实现所述基于压缩数据直接计算的高效并行图处理方法的步骤。
55.本发明由于采取以上技术方案,其具有以下优点:
56.1、本发明以邻接表表示的图数据进行规则压缩,得到压缩图数据,能够给有效清除图数据中存在的数据冗余,同时利用对语法规则描述的图数据应用直接处理,达到节省空间和节省计算的目的。
57.2、本发明将基于邻接表表示的图数据的应用转换为基于压缩图的应用,针对不同计算平台,采用cpu压缩图直接计算处理方法或gpu压缩图直接处理方法,实现了对压缩图数据的高效并行处理,有效节省了计算时间。
58.因此,本发明可以广泛应用于大数据处理技术领域。
附图说明
59.通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。在整个附图中,用相同的附图标记表示相同的部件。在附图中:
60.图1是本发明实施例提供的总体处理流程;
61.图2是本发明实施例提供的规则压缩模块处理流程图;
62.图3是本发明实施例提供的应用适配模块流程图;
63.图4是本发明实施例提供的cpu直接计算引擎;
64.图5是本发明实施例提供的cpu双层遍历模型;
65.图6是本发明实施例提供的gpu直接计算模块;
66.图7是本发明实施例提供的gpu层间无同步遍历模型。
具体实施方式
67.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例的附图,对本发明实施例的技术方案进行清楚、完整地描述。显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于所描述的本发明的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本发明保护的范围。
68.需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本技术的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。
69.现今的大数据时代背景之下,处理大规模图数据对空间存储和处理时间方面都造成了极大的挑战。在本发明中,提出了一种基于压缩数据直接计算的高效并行图处理方法。该方法针对图数据中存在的数据冗余,利用对语法规则描述的图数据直接处理,达到节省空间和节省计算的目的。本发明主要包括应用适配,cpu直接计算模块,gpu压缩直接计算模块,可以在cpu和gpu平台上均实现明显的性能加速。
70.与之相对应地,本发明的另一些实施例中提供一种基于规则压缩的高效并行图处理系统、设备和介质。
71.实施例1
72.如图1所示,本实施例提供一种基于压缩数据直接计算的高效并行图处理方法,包括以下步骤:
73.1)对以邻接表表示的图数据及基于该图数据的应用进行处理,得到基于规则的压缩图数据及基于压缩图数据的应用;
74.2)判断运行该图数据的应用的计算平台类型,如果计算平台是cpu则进入步骤3),如果是gpu则进入步骤4);
75.3)采用cpu压缩图直接处理方法,对基于规则的压缩图数据及基于压缩图数据的应用进行计算,得到图处理结果。
76.4)采用gpu压缩图直接处理方法,对基于规则的压缩图数据及基于压缩图数据的应用进行计算,得到图处理结果。
77.优选地,上述步骤1)可以通过以下步骤实现:
78.1.1)采用基于规则的图压缩方法对以邻接表表示的图数据进行压缩,得到压缩图数据;
79.1.2)采用应用适配方法对基于邻接表表示的图数据的应用(如宽度优先搜索(bfs)等)进行改造,得到基于压缩图数据的应用。
80.优选地,如图2所示,上述步骤1.1)可以通过以下步骤实现:
81.1.1.1)对以邻接表表示的图数据中的每个顶点的邻居进行排序;
82.其中,对各顶点的邻居进行排序时,排序的规则默认按照节点id的升序排列,用户也可指定其他的排序规则,只需要保证对各个顶点的邻居排序规则一致即可;
83.1.1.2)在每个顶点的邻居序列之间插入分隔符;
84.1.1.3)采用tadoc的基于上下文无关文法的文本压缩方法,对由处理后的邻接表构成的文本序列进行压缩,得到基于规则的压缩图数据,其中,该压缩图数据以规则的dag图表示。
85.实际上,本实施例中对一个邻接表表示的原始图,使用规则压缩的目的是将不同顶点间存在的共同邻居表示成一个规则,这样在原始图中多次出现的邻居序列只需要在压缩图存储一次,以此来实现节省空间的目的。为了达到这一目的,对于一个以邻接表表示的原始图,本实施例中对其进行压缩的第一步是对顶点的邻居进行排序,否则,对于顶点0和1,它们拥有相同的邻居(1,2,3,4,5),但却会因为各自邻居的顺序不同而不被识别为相同的邻居序列。第二步是在不同的顶点的邻居序列之间插入分隔符,每一个分隔符在最终的压缩图中都只会出现一次,因此,在压缩过程中不会被识别为重复序列而被放入规则中,在最终的压缩结果中,本发明可以根据分隔符的位置确定各个不同的顶点的邻居位置。例如,顶点2的邻居在分隔符spt2和spt3之间。最后,将邻居序列组成的文本序列使用tadoc的文本压缩方法进行压缩,即可得到最终的压缩结果,该压缩结果是以规则之间的dag图表示的。
86.优选地,如图3所示,上述步骤1.2)可以通过以下步骤实现:
87.1.2.1)将基于邻接表表示的图数据的应用抽象为包含6个元素的元组;
88.1.2.2)采用应用适配方法,将得到的包含6个元素的元组适配为针对压缩图数据的元组,进而得到基于压缩图数据的应用。
89.优选地,上述步骤1.2.1)中,根据具体的应用,可以将基于邻接表表示的图数据的应用抽象为由图数据、操作、条件、结果、开始状态、结束状态表示的元组,分别描述为:
90.a)操作,指定图应用对一条边做什么操作;
91.b)条件,决定一个元素是否进入下一轮迭代中;
92.c)结果,指定数据结构表示图算法中收集的最终结果;
93.d)开始状态。本实施例中,使用(w,g,b)来表示图应用中一轮迭代的状态,其中,w表示所有不需要遍历的顶点和规则的集合,g表示需要被遍历的顶点和规则的集合,b表示已经被遍历的顶点和规则的集合。
94.e)结束状态。
95.优选地,上述步骤1.2.2)中,由于本实施例对图数据进行压缩时,引入了规则,因此,在将得到的不同操作处理状态适配为针对压缩图数据的操作处理时,适配内容为对元组中的操作和条件进行修改。
96.具体地,本发明可以将规则视为新类型的顶点,则在压缩图数据中共包含4种类型的边和两种类型的点。其中,四种类型的边分别为:《顶点,顶点》,《顶点,规则》,《规则,顶点》,《规则,规则》;两种类型的点分别为:原始顶点,规则。对元组中的操作和条件的修改的基本目标是设计涉及规则的操作以及条件。比如,针对规则的条件,以及《顶点,规则》,《规则,顶点》和《规则,规则》的操作。针对只涉及顶点的条件和操作,通常只需要和原始应用保持一致即可;针对涉及规则的操作时,一个基本的原则是将规则视为一个虚拟的顶点,它所起到的作用是传递指向它和它指向的顶点之间的信息,在此假设下修改操作;针对涉及规则的条件时,则是为规则组成的dag图遍历设计,它的修改方式通常与正常的图遍历类似。
97.以宽度优先搜索(bfs)为例,该应用计算从一个顶点root开始,到图上各顶点的距离。原应用可以描述为:
98.a)操作:给定一个顶点v和它的邻居u,判断u是否被遍历过,如果是则跳过,否则将u距离root的距离设为v距离root的距离加1;
99.b)条件:给定一个顶点的邻居u,判断u是否被遍历过,如果是则跳过,如果否则加入到下一状态的需要被遍历的顶点;
100.c)结果:所有顶点距root的距离;
101.d)开始状态:设为(w,g,b),其中,w为除了root外的所有顶点,g为{root},b为空;
102.e)结束状态:(w,g,b)中,w为任意顶点的集合,g为空,b为任意顶点的集合。
103.改造为基于压缩图数据的应用之后,可以描述为:
104.a)操作:给定一个元素src和它的邻居dst,判断src和dst的类型,如果src和dst均为顶点,判断dst是否遍历过,如果是则跳过,如果否则将dst距root的距离设为src的距离加1;如果src为顶点,dst为规则,判断dst是否遍历过,如果是则跳过,如果否则将dst距root的距离设为src的距离加1;如果src为规则,dst为顶点,判断dst是否遍历过,如果是则跳过,如果否则将dst距root的距离设为src的距离;如果src为规则,dst为规则,判断dst是否遍历过,如果是则跳过,否则将dst距root的距离设为src的距离;
105.b)条件:给定一个元素的邻居u,判断u的类型,如果u是顶点,则判断u是否遍历过,如果是跳过,否则加入到下一状态需要被遍历的元素集合中;如果u是规则,则判断u是否遍历过,如果是则跳过,否则加入到下一状态需要被遍历的元素集合中;
106.c)结果:所有顶点距root的距离;
107.d)开始状态:(w,g,b)中,w为除了root外的所有顶点,g为{root},b为空;
108.e)结束状态:(w,g,b)中,w为任意顶点的集合,g为空,b为任意顶点的集合。
109.优选地,如图4所示,上述步骤3)中,当计算平台为cpu时,则采用cpu压缩图直接处理方法对输入的基于规则的压缩图数据和基于该压缩图数据的应用进行处理,具体包括以下步骤:
110.3.1)将基于规则的压缩图数据和基于该压缩图数据的应用作为输入。
111.3.2)对开始状态和结束状态进行合理性检查,若不合理则结束计算,否则进入步骤3.3)。
112.3.3)进行分支缩减,将具有相同条件和操作的分支进行合并。
113.实际上,本实施例发现在实际的应用中,虽然压缩图中有两种不同类型的顶点和四种不同类型的边,但是针对两种类型顶点的条件和针对四种类型的边的操作可能是一致的,此时对分支进行合并能够提升效率。例如,在上一节提到的bfs的例子中,操作《顶点,顶点》和操作《顶点,规则》是一致的,操作《规则,顶点》,《规则,规则》是一致的。
114.3.4)将基于规则的压缩图数据加载至内存。
115.3.5)准备应用辅助数据,利用cpu双层遍历模型得到图处理结果。其中,应用辅助数据包括用户定义的result字段,和顶点和规则的一些基本属性,比如入度,出度等。
116.优选地,如图5所示,cpu双层遍历模型处理流程包括以下步骤:
117.3.5.1)判断是否为结束状态,如果是则收集计算结果,流程结束;否则从待处理集合中取出一个顶点v;
118.3.5.2)判断顶点v的所有邻居是否处理完成,如果是则返回步骤3.5.1),否则取出一个未处理的邻居u;
119.3.5.3)判断邻居u的类型,如果邻居u是顶点,则执行操作《顶点,顶点》,并进入步骤3.5.4);如果邻居u是规则,则执行操作《顶点,规则》,并进入步骤3.5.5);
120.3.5.4)判断邻居u是否满足预设条件,如果满足则将邻居u加入到需要处理的顶点集合并返回步骤3.5.2),否则直接返回步骤3.5.2);
121.3.5.5)判断邻居u是否满足预设条件,如果满足则将邻居u加入到需要处理的规则集合中并进入步骤3.5.6),否则返回步骤3.5.2);
122.3.5.6)判断待处理规则集合是否为空,如果为空则返回步骤3.5.2),否则取出一个规则r;
123.3.5.7)判断规则r的所有邻居是否处理完成,如果是则返回步骤3.5.6),否则取出一个规则r的邻居t;
124.3.5.8)判断邻居t的类型,如果邻居t是顶点,则执行操作《规则,顶点》并进入步骤3.5.9);如果邻居t是规则,则执行操作《规则,规则》并进入步骤3.5.10);
125.3.5.9)判断邻居t是否满足条件《顶点》,如果是则将邻居t加入到待处理顶点集合中并返回步骤3.5.7),否则直接返回步骤3.5.7);
126.3.5.10)判断邻居t是否满足条件《规则》,如果是则将邻居t加入到待处理顶点(规则)集合中并返回步骤3.5.7),否则直接返回步骤3.5.7)。
127.优选地,如图6所示,上述步骤4)中,采用gpu压缩直接计算方法对输入的压缩图数
据和应用进行处理时,包括以下步骤:
128.4.1)将基于规则的压缩图数据和基于该压缩图数据的应用作为输入。
129.4.2)对开始状态和结束状态进行合理性检查,若不合理则结束计算,否则进入步骤4.3)。
130.4.3)进行分支缩减,将具有相同条件和操作的分支进行合并。
131.4.4)将基于规则的压缩图数据加载至内存,并拷贝至gpu;
132.4.5)准备辅助数据,并在gpu的内存上运行gpu层间无同步遍历模型得到图处理结果。
133.如图7所示,gpu层间无同步遍历模型的处理流程,包括以下步骤:
134.4.5.1)判断当前状态是否为结束状态,如果是则收集计算结果,流程结束,否则进入步骤4.5.2);
135.4.5.2)并行处理待处理集合中的所有元素,一个gpu线程处理一个元素e;
136.4.5.3)在一个gpu线程中,判断元素e的邻居是否已经全部处理完成,如果是进入步骤4.5.9),如果否则取出一个e的邻居u;
137.4.5.4)判断元素e和邻居u的类型,如果元素e是顶点且邻居u是顶点,则执行操作《顶点,顶点》并进入步骤4.5.5);如果e是顶点且u是规则,则执行操作《顶点,规则》并进入步骤4.5.6);如果e是规则且u是顶点,则执行操作《规则,顶点》并进入步骤4.5.7);如果e是规则且u是规则,则执行操作《规则,规则》并进入步骤4.5.8);
138.4.5.5)判断邻居u是否满足条件《顶点》,如果是则将邻居u加入到下一状态需要被遍历的集合中,否则返回步骤4.5.3);
139.4.5.6)判断邻居u是否满足条件《规则》,如果是则将邻居u加入到下一状态需要被遍历的集合中,否则返回步骤4.5.3);
140.4.5.7)判断邻居u是否满足条件《顶点》,如果是则将邻居u加入到下一状态需要被遍历的集合中,否则返回步骤4.5.3);
141.4.5.8)判断邻居u是否满足条件《规则》,如果是则将邻居u加入到下一状态需要被遍历的集合中,否则返回步骤4.5.3)。
142.4.5.9)判断所有线程是否结束,若所有线程均结束,则返回步骤4.5.1)。
143.实施例2
144.本实施例在几个通用的图数据集上做了测试,it-2004是一个网络图,twitter-2010是一个社交网络图。在这两个图上,本发明可以分别取得17.58和11.51的压缩比。(压缩比=原图大小/压缩图大小)
145.我们在cpu和gpu上分别与不同的最先进的图系统做了性能对比,在cpu我们与ligra 系统对比,gpu上与gunrock系统对比。我们测试了宽度优先搜索(bfs),连通块(cc),pagerank(pr)三种算法。在本发明中,规则是顶点间共同的邻居,它在图数据中出现了多次,但在压缩数据中只出现了一次,在实际的图应用中,本发明可以实现对规则的计算重用,因此明显提升了性能。在cpu上,本发明可以实现平均3.49倍的加速比,在gpu上为9.58。
146.实施例3
147.上述实施例1提供了基于压缩数据直接计算的高效并行图处理方法,与之相对应地,本实施例提供一种基于压缩数据直接计算的高效并行图处理系统。本实施例提供的系
统可以实施实施例1的基于压缩数据直接计算的高效并行图处理方法,该系统可以通过软件、硬件或软硬结合的方式来实现。例如,该系统可以包括集成的或分开的功能模块或功能单元来执行实施例1各方法中的对应步骤。由于本实施例的系统基本相似于方法实施例,所以本实施例描述过程比较简单,相关之处可以参见实施例1的部分说明即可,本实施例提供的系统的实施例仅仅是示意性的。
148.本实施例提供的一种基于压缩数据直接计算的高效并行图处理系统,包括:
149.预处理模块,用于对以邻接表表示的图数据及基于该图数据的应用进行处理,得到基于规则的压缩图数据及基于该压缩图数据的应用;
150.压缩图处理模块,用于根据运行该应用的计算平台类型,采用cpu压缩图直接处理方法或gpu压缩图直接处理方法,对基于基于规则的压缩图数据及基于该压缩图数据的应用进行计算,得到图处理结果。
151.实施例4
152.本实施例提供一种与本实施例1所提供的基于压缩数据直接计算的高效并行图处理方法对应的处理设备,处理设备可以是用于客户端的处理设备,例如手机、笔记本电脑、平板电脑、台式机电脑等,以执行实施例1的方法。
153.所述处理设备包括处理器、存储器、通信接口和总线,处理器、存储器和通信接口通过总线连接,以完成相互间的通信。存储器中存储有可在所述处理器上运行的计算机程序,所述处理器运行所述计算机程序时执行本实施例1所提供的基于压缩数据直接计算的高效并行图处理方法。
154.在一些实施例中,存储器可以是高速随机存取存储器(ram:random access memory),也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。
155.在另一些实施例中,处理器可以为中央处理器(cpu)、数字信号处理器(dsp)等各种类型通用处理器,在此不做限定。
156.实施例5
157.本实施例1的基于压缩数据直接计算的高效并行图处理方法可被具体实现为一种计算机程序产品,计算机程序产品可以包括计算机可读存储介质,其上载有用于执行本实施例1所述的基于压缩数据直接计算的高效并行图处理方法的计算机可读程序指令。
158.计算机可读存储介质可以是保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是但不限于电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意组合。
159.最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献