WO2021208147A1 - 一种有界增量图划分方法和系统 - Google Patents
一种有界增量图划分方法和系统 Download PDFInfo
- Publication number
- WO2021208147A1 WO2021208147A1 PCT/CN2020/087707 CN2020087707W WO2021208147A1 WO 2021208147 A1 WO2021208147 A1 WO 2021208147A1 CN 2020087707 W CN2020087707 W CN 2020087707W WO 2021208147 A1 WO2021208147 A1 WO 2021208147A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- sub
- division
- vertices
- edges
- graph
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9024—Graphs; Linked lists
Definitions
- the set of all vertices X i expansion of the expandable expansion vertices comprising: the step of S201 ⁇ S204.
- a second allocating unit configured to, if there are two adjacent sides corresponding endpoints in each case the derived set of vertices of S i, then the corresponding adjacent edges assigned to the first sub division.
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Image Generation (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请公开了一种有界增量图划分的方法和系统。所述方法包括:协调器将初始图结构划分为多个第一子图,并对应得到多个第一子划分,并将第一子划分分发至多个服务中;各服务对获取的第一子划分进行迭代扩张,并在迭代扩张过程中判断第一子划分是否达到预设的均衡上界,若第一子划分达到预设的均衡上界,则停止对第一子划分的扩张;协调器确认是否存在更新数据;若存在更新数据,则先将更新数据与初始图结构合并,得到更新后的部分图结构,然后将部分图结构划分为多个第二子图,以及对应的第二子划分,并将第二子划分向服务分发,并由接收到第二子划分的服务进行迭代扩张。本申请能够减少分布式图划分时的计算开销,并使划分结果更加均衡。
Description
本申请是以申请号为202010294991.4、申请日为2020年4月15日的中国专利申请为基础,并主张其优先权,该申请的全部内容在此作为整体引入本申请中。
本申请涉及分布式图划分领域,具体涉及一种有界增量图划分方法和系统。
图(graph),是由顶点和顶点之间的边构成的网络。图划分(graph partition),是将一个图切分成若干子图,使得不同子图的大小大致相等,且产生的划分代价(切边或切点)尽可能的最小化。图分区按照分区模式可以分为:点划分(vertex partitioning)和边划分(edge partitioning),前者将图的节点集合进行划分;而后者则对图的边集合进行划分。图划分问题普遍存在于计算机科学和技术的各个方面,例如图像分割,数据聚类,大规模集成电路设计和分布式并行计算系统等。另一方面,很多实际问题也可以建模为图,例如知识图谱等。
近年来,随着互联网发展,图数据呈爆炸式增长,这为传统的图计算带来了巨大挑战,如大规模图数据的计算和存储等。大数据下的图数据已经无法被单个机器的内存空间容纳下,因此必须将图进行划分,然后分别存储在不同的计算节点上,进行分布式计算。分布式系统是由多个独立计算机和在其之间的通信网络组成计算系统,每个计算节点拥有独立的CPU,内存地址和存储空间。分布式图计算需要将大规模图数据进行图划分分装成多个子图,存储在不同节点的内存或磁盘中,各个计算同时进行计算并通过网络通信协调计算作业,来完成计算任务。分布式计算系统能否高效运行取决于:每个节点的计算性能、系统带宽,以及图划分的质量,衡量其是否高效的一个重要指标是分布式系统的响应时间,即从提交计算任务到得到计算结果的总时间。
在进行图划分的时候需要考虑两个指标:一是负载均衡,即在载荷分配不均的情况下,负载最高的计算节点会形成计算瓶颈,严重滞后响应时间。假设所有计算节点拥有等量的计算资源,那么图划分越均衡,总的响应时间就越短。因此图划分的一个指标是均衡性。二是通信开销,即每个节点之间通过网络之间进行通信也会增加响应时间。通信是由图中被划分的边界造成的,当计算需 要跨越划分边界时,便产生了通信。因此,图划分的边界越稀疏,通信的总量也就越少,从而使得通信占用的时间减少。
现在已经得到广泛应用的图划分系统包括METIS(一种串行图切分的软件包),XtraPuLP(一种图划分工具)等,这些系统可以在静态图上生成图数据的一个划分。然而,实际应用中大多数图数据是动态的,是被频繁更新的,而且更新的部分往往只占全图的很小一部分比例。静态的图划分方法和系统需要重新计算整个图划分,计算开销巨大,耗时长。例如,使用XtraPuLP对20GB左右大小的静态图数据进行划分需要10分钟甚至更长的时间。这就需要进行增量化分图,即根据图数据的更新部分以及已有的划分结果,动态计算新的图划分。当更新的量比较小的时候,一般图划分结果的改变量也比较小,因此增量分区可以快速返回新的分区结果。
现有的图划分方法皆存在一定的缺点,例如对于非增量的点划分和边划分来说,即便是小量更新也需要完全重新计算,导致计算开销增大;对于非有界增量的点划分来说,其划分结果不均衡,且存在小量更新时计算开销大;对于非有界增量的边划分来说,存在小量更新是其计算开销也是比较大的;对于有界增量的点划分来说,其对图进行划分时无法达到均衡的效果。也就是说,前述几种分布式图划分方法均或多或少地无法满足关于进行图划分时所需要考虑的两个指标。
申请内容
本申请实施例提供一种有界增量图划分方法和系统,旨在减少图划分的计算开销,并使图划分结果更加均衡。
第一方面,本申请实施例提供了一种有界增量图划分方法,所述方法包括:
协调器将初始图结构划分为多个第一子图,并对应得到多个第一子划分,并将所述多个第一子图以及对应的第一子划分分发至多个服务中;
各服务获取各自的第一子图对应的第一子划分,并对所述第一子划分进行迭代扩张,并在迭代扩张过程中判断所述第一子划分是否达到预设的第一均衡上界,若所述第一子划分达到预设的第一均衡上界,则停止对所述第一子划分的扩张,若所述第一子划分未达到预设的第一均衡上界,则继续对所述第一子划分进行扩张;
当所有服务均完成各自对应的扩张时,向所述协调器反馈当前迭代完成的信息;
所述协调器接收到当前迭代完成的信息后,确认是否存在未被分配的边;
若存在未被分配的边,则所述协调器通知所述服务对所述未分配的边进行迭代扩张,直至所有边分配完成;
若不存在未被分配的边,则确认是否存在更新数据;
若存在更新数据,则所述协调器先将所述更新数据与所述初始图结构进行合并,并得到所述更新数据对应的部分图结构,然后将所述部分图结构划分为多个第二子图,并得到所述第二子图对应的第二子划分,并将所述多个第二子划分向所述多个服务进行分发,且由接收到所述第二子划分的服务进行迭代扩张;
若不存在更新数据,则结束图划分处理。
进一步的,所述各服务获取各自的第一子图对应的第一子划分,并对所述第一子划分进行迭代扩张,包括:
所述服务在所述第一子划分中获取衍生顶点集合,以及在所述初始图结构中获取核心顶点集合,并在所述衍生顶点集合和核心顶点集合的差集中选择优先级大于预设等级阈值的顶点作为扩张顶点,并构成扩张顶点集合,然后对所述扩张顶点集合中的所有扩张顶点进行扩张。
进一步的,所述对所述扩张顶点集合中的所有扩张顶点进行扩张,包括:
获取所述所有扩张顶点对应的未被分配的邻接边,并将所述邻接边分配至所述第一子划分中;
根据新分配的边对所述衍生顶点集合进行更新;
判断更新后的衍生顶点集合中是否存在邻接边对应的两个端点均在所述衍生顶点集合中的情况;
若存在邻接边对应的两个端点均在所述衍生顶点集合中的情况,则将对应的邻接边分配至第一子划分中。
进一步的,所述判断所述第一子划分是否达到预设的第一均衡上界,包括:
式中,ε为预设数值,k为所有第一子划分的总个数,|E|为所述初始图结构的总边数。
进一步的,所述对所述扩张顶点集合中的所有扩张顶点进行扩张,还包括:
当所述衍生顶点集合中的所有邻接边均已被分配时,则在所述核心顶点集合中随机选择一个核心顶点,并将所述核心顶点分配至所述衍生顶点集合中。
进一步的,所述若存在更新数据,则所述协调器先将所述更新数据与所述初始图结构进行合并,并得到所述更新数据对应的部分图结构,然后将所述部分图结构划分为多个第二子图,并得到所述第二子图对应的第二子划分,并将所述多个第二子划分向所述多个服务进行分发,且由接收到所述第二子划分的服务进行迭代扩张,包括:
将所述更新数据与所述初始图结构进行合并,得到更新图结构以及所述更新数据对应的部分图结构;
对所述部分图结构进行划分,得到多个第二子图,以及所述第二子图对应的第二子划分;
计算所述更新图结构的总边数,并根据所述更新图结构的总边数以及所有第一子划分的总个数,计算第二均衡上界;
在达到所述第二均衡上界的第二子划分中移出部分边,以使第二子划分满足所述第二均衡上界;
获取并去除所述第二子划分中的冗余顶点以及对应邻接边数量小于第二预设边数数值的衍生顶点。
进一步的,所述若存在更新数据,则所述协调器先将所述更新数据与所述初始图结构进行合并,并得到所述更新数据对应的部分图结构,然后将所述部分图结构划分为多个第二子图,并得到所述第二子图对应的第二子划分,并将所述多个第二子划分向所述多个服务进行分发,且由接收到所述第二子划分的服务进行迭代扩张,还包括:
所述协调器采用广播分发的方式对所述第二多个子划分进行分发。
第二方面,本申请实施例还提供了一种有界增量图划分系统,包括协调器和多个服务;
所述协调器包括:
第一划分单元,用于将初始图结构划分为多个子图,并对应得到多个第一子划分,并将所述多个子图以及对应的第一子划分分发至多个服务中;
第一确认单元,用于接收到当前迭代完成的信息后,确认是否存在未被分配的边;
通知单元,用于若存在未被分配的边,则通知所述服务对所述未分配的边进行迭代扩张,直至所有边分配完成;
第二确认单元,用于若不存在未被分配的边,则确认是否存在更新数据;
第二划分单元,用于若存在更新数据,则先将所述更新数据与所述初始图结构进行合并,并得到所述更新数据对应的部分图结构,然后将所述部分图结构划分为多个第二子图,并得到所述第二子图对应的第二子划分,并将所述多个第二子划分向所述多个服务进行分发,且由接收到所述第二子划分的服务进行迭代扩张;
结束单元,用于若不存在更新数据,则结束图划分处理。
所述每一服务均包括:
迭代扩张单元,用于获取各自的子图对应的第一子划分,并对所述第一子划分进行迭代扩张,并在迭代扩张过程中判断所述第一子划分是否达到预设的第一均衡上界,若所述第一子划分达到预设的第一均衡上界,则停止对所述第一子划分的扩张,若所述第一子划分未达到预设的第一均衡上界,则继续对所述第一子划分进行扩张;
反馈单元,用于当所有服务均完成各自对应的扩张时,向所述协调器反馈当前迭代完成的信息。
进一步的,所述有界增量图划分系统还包括IO控制器;
所述IO控制器用于接收外部对所述初始图结构的更新数据,以及将所述更新数据转发至所述协调器。
进一步的,所述每一服务还包括:
第一分配单元,用于获取所述所有扩张顶点对应的未被分配的邻接边,并将所述邻接边分配至所述第一子划分中;
更新单元,用于根据新分配的边对所述衍生顶点集合进行更新;
判断单元,用于判断更新后的衍生顶点集合中是否存在邻接边对应的两个端点均在所述衍生顶点集合中的情况;
第二分配单元,用于若存在邻接边对应的两个端点均在所述衍生顶点集合中的情况,则将对应的邻接边分配至第一子划分中。
本申请实施例提供了一种有界增量图划分的方法和系统。所述方法包括协调器将初始图结构划分为多个第一子图,并对应得到多个第一子划分,并将所述多个第一子图以及对应的第一子划分分发至多个服务中;各服务获取各自的 第一子图对应的第一子划分,并对所述第一子划分进行迭代扩张,并在迭代扩张过程中判断所述第一子划分是否达到预设的第一均衡上界,若所述第一子划分达到预设的第一均衡上界,则停止对所述第一子划分的扩张,若所述第一子划分未达到预设的第一均衡上界,则继续对所述第一子划分进行扩张;当所有服务均完成各自对应的扩张时,向所述协调器反馈当前迭代完成的信息;所述协调器接收到当前迭代完成的信息后,确认是否存在未被分配的边;若存在未被分配的边,则所述协调器通知所述服务对所述未分配的边进行迭代扩张,直至所有边分配完成;若不存在未被分配的边,则确认是否存在更新数据;若存在更新数据,则所述协调器先将所述更新数据与所述初始图结构进行合并,并得到所述更新数据对应的部分图结构,然后将所述部分图结构划分为多个第二子图,并得到所述第二子图对应的第二子划分,并将所述多个第二子划分向所述多个服务进行分发,且由接收到所述第二子划分的服务进行迭代扩张;若不存在更新数据,则结束图划分处理。本申请实施例能够减少分布式图划分时的计算开销,并使划分结果更加均衡。
为了更清楚地说明本申请实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种有界增量图划分方法的流程示意图;
图2为本申请实施例提供的一种有界增量图划分方法的子流程示意图;
图3为本申请实施例提供的一种有界增量图划分方法中的示例示意图;
图4为本申请实施例提供的一种有界增量图划分方法的另一子流程示意图;
图5为本申请实施例提供的一种有界增量图划分方法的基本架构图;
图6为本申请实施例提供的一种有界增量图划分方法的基本流程图;
图7为本申请实施例提供的一种有界增量图划分方法的具体流程图。
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳 动前提下所获得的所有其他实施例,都属于本申请保护的范围。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本申请说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本申请。如在本申请说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
下面请参见图1,图1为本申请实施例提供的一种有界增量图划分方法的流程示意图,具体包括:步骤S101~S107。
S101、协调器将初始图结构G划分为多个第一子图G
i,并对应得到多个第一子划分P
i,并将所述多个第一子图G
i以及对应的第一子划分P
i分发至多个服务中;
S102、各服务获取各自的第一子图G
i对应的第一子划分P
i,并对所述第一子划分P
i进行迭代扩张,并在迭代扩张过程中判断所述第一子划分P
i是否达到预设的第一均衡上界,若所述第一子划分P
i达到预设的第一均衡上界,则停止对所述第一子划分P
i的扩张,若所述第一子划分P
i未达到预设的第一均衡上界,则继续对所述第一子划分P
i进行扩张;
S103、当所有服务均完成各自对应的扩张时,向所述协调器反馈当前迭代完成的信息;
S104、所述协调器接收到当前迭代完成的信息后,确认是否存在未被分配的边,若存在未分配的边,则进入步骤S105;若不存在未分配的边,则进入步骤S106;
S105、所述协调器通知所述服务对所述未分配的边进行迭代扩张,直至所有边分配完成;
S106、确认是否存在更新数据ΔG;若存在更新数据ΔG,则进入步骤S107;若不存在更新数据ΔG,则进入步骤S108。
S107、所述协调器先将所述更新数据ΔG与所述初始图结构G进行合并,并得到所述更新数据对应的部分图结构ΔG’,然后将所述部分图结构ΔG’划分为多个第二子图G
i’,并得到所述第二子图对应的第二子划分P
i’,并将所述多个第二子划分P
i’向所述多个服务进行分发,且由接收到所述第二子划分P
i’的服务进行迭代扩张;
S108、结束图划分处理。
本实施例中,在对初始图结构G进行分布式计算时,一方面通过在每个服务上预先设置一第一均衡上界,使每一个服务在对各自的第一子划分P
i进行迭代扩张时,都不会无限制的扩张下去,而是当第一子划分P
i达到第一均衡上界时则停止继续扩张,如此可有效保证对初始图结构G的均衡划分,实现了对分布式图计算的有界划分。另一方面,当初始图结构G存在更新数据ΔG时,无需对更新后的图结构
进行全部扩张,而只需要对更新的部分ΔG’进行迭代扩张即可,即实现增量划分的效果。
在本实施例中,通过协调器实现对各子划分的分发,以及通过多个服务实现对不同子划分的迭代扩张。本实施例中的协调器上不存储与图结构相关的数据结构,只存储少量的临时变量。并且除了将各子划分分发至各服务以外,协调器还通过全局变量监控所有图划分的进程,并进一步地根据各服务的进程确定接下来需要执行的操作步骤,以及转发各服务之间的通信,而通信内容一般用于同步各子划分对应的数据,理论上可以为任意序列化后的数据结构。本实施例中的所有服务均拥有独立的CPU和内存空间,且存储有子图G
i,以及在子图上的第一子划分P
i,并且所有服务均独立进行迭代扩张。另外,在接收到协调器分发的更新数据ΔG(即第二子划分P
i’)后,各个服务依旧独立进行迭代扩张,即在本地计算第二子划分。需要说明的是,本实施例中更新数据ΔG包括图结构的插入数据Δ
+G以及删除数据Δ
-G。
目前已有的增量图划分系统,比如ParMETIS(一个MPI并行库,其内置了许多非结构图和网格分割(partionting)和细分(reparationing)的算法),Hermes(一种大数据实时多维分析平台)等,虽然可以利用之前的旧划分结果加速计算,但是对于更新的大小不敏感,在更新的量较小的时候也会花费大量时间进行计算。究其原因是因为其算法不具备增量有界性(incremental boundedness),即其增量计算代价不能被一个关于更新大小的表达式来限制住,这就需要设计有界的增量算法,从而使图分区系统在比较小的更新量上快速返回新的图划分结果。 另一方面,现有增量图划分系统都是基于点划分模型设计的。相比较点划分,边划分可以将图数据进行更加均衡的划分,得到更好的划分结果,而目前边划分模式下的增量图划分算法仍然为空白。
本实施例提供了一种边划分模式下的分布式有界增量图划分方法,而且重要的是,该方法是分布式图划分领域中第一个具有有界增量的方法,实现了对图结构的有界增量计算,填补了本技术领域的技术空白。相对于其他方法来说,有界增量的优越性在于,其计算开销由更新数据唯一确定,因此,当更新数据ΔG为空的时候,计算开销最多为常数时间。当更新数据ΔG非常小的时候,例如只占全图比例的1%,此时计算新的图划分的开销一定也会非常小,因此适用于频繁的小量更新。
在一实施例中,所述各服务获取各自的第一子图G
i对应的第一子划分P
i,并对所述第一子划分P
i进行迭代扩张,包括:
所述服务在所述第一子划分P
i中获取衍生顶点集合S
i,以及在所述初始图结构G中获取核心顶点集合C,并在所述衍生顶点集合S
i和核心顶点集合C的差集S
i\C中选择优先级大于预设等级阈值的顶点作为扩张顶点,并构成扩张顶点集合X
i,然后对所述扩张顶点集合X
i中的所有扩张顶点进行扩张。
本实施例中,核心顶点集合C具体是指该集合中的所有顶点各自对应的所有邻接边均已被分配,且被分配至各个第一子划分P
i中;衍生顶点集合S
i具体是指该集合中的所有顶点均至少存在一条被分配至该衍生顶点集合S
i所属的第一子划分P
i中,且第一子划分P
i中的所有边对应的两个端点均属于该第一子划分P
i对应的衍生顶点集合S
i。
需要说明的是,衍生顶点集合S
i和核心顶点集合C的差集S
i\C具体是指:衍生顶点集合S
i中的顶点除去核心顶点集合C中的顶点,剩下的顶点组成的集合,也就是说,在差集S
i\C中选择的顶点,属于衍生顶点集合S
i,但不属于核心顶点集合C。因而核心顶点集合C与衍生顶点集合S
i之间的差集S
i\C即可理解为:在这个差集S
i\C中,所有顶点均至少存在一条被分配至第一子划分P
i中的邻接边,且还至少存在一条未被分配的邻接边。也就是说,被选取的扩张顶点均至少存在一条邻接边,且该邻接边未被分配至所属衍生顶点集合S
i对应的第一子划分P
i中,因此可以在接下来的步骤中对这些扩张顶点进行迭代扩张,也就是将他们对应的未被分配的邻接边分配至相应的第一子划分P
i中。
需要说明的是,在本实施例中,将顶点对应的未被分配的邻接边的边数作 为对顶点的优先级的判定,即顶点对应的未被分配的邻接边的边数越少,该顶点对应的优先级越高,反之亦然。也就是说,优先选取对应的未被分配邻接边的边数较少的顶点作为扩张顶点。这样做的好处是,尽可能地将一个顶点对应的所有邻接边均分配在同一个子划分中。在一具体应用场景中,计算所有顶点的优先级,并获取优先级为前10%的顶点作为扩张顶点。
另外,在分布式计算中,由于一个图中的一个顶点可能分别存在不同的子图上,而这些子图则分别处于不同的服务中,因此当一个服务选取扩张顶点集合X
i后,还需与其他服务同步扩张顶点集合。换句话说,对于一个顶点,如果有一个服务将其作为扩张顶点选入扩张顶点集合X
i中,那么在所有拥有该顶点的其它服务上,也需要将该顶点加入到对应的扩张顶点集合中。
在一实施例中,如图2所示,所述对所述扩张顶点集合X
i中的所有扩张顶点进行扩张,包括:步骤S201~S204。
S201、获取所述所有扩张顶点对应的未被分配的邻接边,并将所述邻接边分配至所述第一子划分P
i中;
S202、根据新分配的边对所述衍生顶点集合S
i进行更新;
S203、判断更新后的衍生顶点集合S
i中是否存在邻接边对应的两个端点均在所述衍生顶点集合S
i中的情况;
S204、若存在邻接边对应的两个端点均在所述衍生顶点集合S
i中的情况,则将对应的邻接边分配至第一子划分P
i中。
本实施例中,在将一条邻接边分配至相应的第一子划分中时,该邻接边的另一顶点(即非扩张顶点)也符合衍生顶点集合S
i的要求(即该集合中的所有顶点均至少存在一条被分配至该衍生顶点集合S
i所属的第一子划分P
i中),因而需要在将邻接边分配完成后对衍生顶点集合S
i进行更新。并对所有新加入该衍生顶点集合S
i中的顶点对应的所有邻接边进行检查,并在不向该衍生顶点集合S
i中加入新的顶点的条件下,分配所有可能被分配的邻接边。当更新后的衍生顶点集合S
i中存在一条这样邻接边,即该邻接边的两个端点均属于该衍生顶点集合S
i时,则将该邻接边分配至相应的第一子划分P
i中。
另外,当一条邻接边被分配至不同第一子划分P
i扩张时,则将该邻接边随机分配至其中一个第一子划分P
i中。
举例说明,如图3所示,在对第一子划分P
0进行迭代扩张过程中,选取边界扩张顶点u进行扩张,首先将扩张顶点u所有邻接边中未被分配的邻接边(u,v) 分配到第一子划分P
0中,接下来对新进入衍生顶点集合S
0的顶点v进行检查,检查其所有邻接边,并在不向S
0引入新的顶点的情况下分配所有可能分配的边。
在一实施例中,所述判断所述第一子划分P
i是否达到预设的第一均衡上界,包括:
式中,ε为预设数值,k为所有第一子划分P
i的总个数,|E|为所述现有图结构G的总边数。
本实施例中,在对第一子划分P
i进行迭代扩张时,为避免最后划分不均衡,因而对所有的第一子划分P
i均预先设置一第一均衡上界。当第一子划分P
i中的边数达到第一均衡上界时,则停止向该第一子划分P
i进行邻接边的划分,也就是该第一子划分P
i不会继续迭代扩张,此时,如果其他第一子划分P
i还未达到第一均衡上界,则可以继续进行迭代扩张。
在一实施例中,所述对所述扩张顶点集合X
i中的所有扩张顶点进行扩张,还包括:
当所述衍生顶点集合S
i中的所有邻接边均已被分配时,则在所述核心顶点集合C中随机选择一个核心顶点,并将所述核心顶点分配至所述衍生顶点集合S
i中。
本实施例中,当衍生顶点集合S
i中的所有邻接边均被分配,则相应的第一子划分P
i将会停止扩张。此时,如果该第一子划分P
i还未达到预设的第一均衡上界时,且其他第一子划分P
i达到预设的第一均衡上界,则可能导致最后的划分不均衡。因此,为了保障划分得到结果具有较好的局部性(均衡性),需要对衍生顶点集合S
i进行主动扩张,也就是将核心顶点集合C中的顶点加入至衍生顶点集合S
i中,从而能够继续对该第一子划分P
i的进行扩张。
在一实施例中,如图4所示,所述步骤S107包括:步骤S401~S405。
S402、对所述部分图结构ΔG’进行划分,得到多个第二子图G’,以及所述第二子图对应的第二子划分P
i’;
S404、在达到所述第二均衡上界的第二子划分P
i’中移出部分边,以使第二子划分P
i’满足所述第二均衡上界;
S405、获取并去除所述第二子划分P
i’中的冗余顶点以及对应邻接边数量小于第二预设边数数值的衍生顶点。
本实施例中,当存在对初始图结构G的更新数据ΔG时,则在将更新数据ΔG和初始图结构G进行合并后(即
),可得到更新图结构
以及更新数据ΔG在更新图结构上对应的部分图结构ΔG’。协调器将对部分图结构ΔG’进行划分,得到多个第二子图G
i’以及对应的多个第二子划分P
i’。由于更新后的图结构中的总边数可能会发生改变,因而需要重新计算更新图结构的总边数|E’|,并根据该总边数|E’|重新计算第二均衡上界。在得到第二均衡上界后,需要对第二子划分P
i’进行相应的处理,以使第二子划分P
i’满足第二均衡上界。
本实施例中的冗余顶点是指没有任何邻接边在对应的子划分中的顶点,在将第二子划分P
i’中的部分边移除后,可能导致该第二子划分P
i’中产生一些冗余顶点,而及时移除这些冗余顶点以及对应邻接边较少的衍生顶点则可以使产生该第二子划分P
i’具有更小的通信开销。
另外,在完成上述操作后,还需对核心顶点集合S
i’以及所有衍生顶点集合C进行更新。
在一实施例中,所述步骤S107还包括:
所述协调器采用广播分发的方式对所述多个第二子划分P
i’进行分发。
本实施例中,由于在对初始图结构G的划分过程中,可能一些第一子划分P
i已经达到预设的第一均衡上界,不需要继续扩张,因而当存在更新数据ΔG时,协调器采用广播分发的方式对第二子划分P
i’进行分发,并由各服务决定是否接收协调器分发的第二子划分P
i’,如此,可保证最后的划分更加均衡。
在一具体实施例中,如图5所示,本申请实施例具体包括IO控制器、协调器(coordinator)和多个服务(worker)。当外界对图结构进行更新改变时,IO 控制器接收外界对图结构的更新数据ΔG(包括插入数据Δ
+G和删除数据Δ
-G),并将该更新数据ΔG发送至协调器中,协调器对接收到的更新数据ΔG进行划分,得到多个子划分P
i’,并将这些子划分P
i’向各服务分发,并由接收到子划分P
i’的服务独立进行迭代扩张。
在一具体实施例中,如图6所示,本申请实施例主要由两个阶段构成:部分划分阶段和再平衡阶段。其中部分划分(Partial Allocation)用于扩张目前已有的图划分,直到所有的边都已被分配为止。此时,如果IO控制器检测到图结构上存在更新数据ΔG,则进入再平衡(ReBalance)阶段对更新的图数据ΔG进行处理,使得当前的图划分的部分结果能够重新被部分划分(Partial Allocation)阶段处理。
具体的,在部分划分(Partial Allocation)阶段,其输入内容包括:图结构G,子图G’,子图G’上的子划分P
i,
输出内容包括:子图G”,扩张后的子划分P
i,
在该阶段上,将子图G'上的一个划分扩张到一个更大的子图G”上,其具体划分步骤可参考步骤S201~S204。
在再平衡阶段,其输入内容包括:图G,子划分P
i,更新数据ΔG;输出内容包括:更新后的图
和子划分P
i,其中
在该阶段上,将图更新数据ΔG并入已有的图结构G中,并生成一个新的部分图划分P(G'),使得这个图划分满足更新后的均衡限制,即最大的子划分中的边数不超过
再平衡的具体步骤可参考步骤S301~S305。
在另一具体实施例中,如图7所示,带有前缀PMIC_的流程在协调器上执行,其余的流程则在各服务上并行执行。输入更新数据ΔG的部分则由IO控制器处理。Partial Allocation(部分划分)对应部分为从过滤到PMIC_扩张S的这个主循环过程,服务每次对一部分的边进行划分,直到所有边都已经被分配为止时结束。在接收更新数据ΔG后通过PMIC_更新(PMIC_Update)和ReBalance(再平衡)流程对更新数据ΔG预处理,然后返回到主循环体中进行迭代扩张。需要说明的是,各服务的并行采用BSP模式(bulk synchronous parallel,整体同步并行计算模式),每个阶段在服务或者协调器上独立执行,并不涉及和其它节点(其他服务或者协调器)的通信,在所有服务的本地计算结束后,进行全局通信交换信息。
具体的,在过滤(Filter)阶段,其输入内容包括:衍生顶点集合S
i和核心 顶点集合C的差集S
i\C,以及差集S
i\C中每个顶点对应的优先级f(v);其输出内容包括:扩张顶点集合X
i,以及用来同步到对应的每个顶点上的通信消息。在本阶段,对本地的差集S
i\C中的每个顶点v按照f(v)从高到低进行排序,并选取优先级较高的顶点作为扩张顶点X
i(例如选取优先级前10%的顶点)。最后,通过协调器与其他服务进行通信,将X
i中的顶点v同步到其他服务的扩张顶点集合中。
在PMIC_过滤(PMIC_Filter)阶段,协调器用于传递通信消息以及计算接下来扩张C(ExpandC)中通过扩张X
i分配给P
i的总边数,若超出预设的均衡上界,则削减X
i中的部分顶点。
在扩张C(ExpandC)阶段,其输入内容包括:子图G
i,部分子划分P
i,各个扩张节点集合X
i,i=1,2,...k;输出内容包括:经过扩张C的子划分P
i、更新后的核心顶点集合C、
、衍生顶点集合S
i和扩张顶点集合X
i,i=1,2,...k,以及用于同步其它服务上对应集合的通信消息。
具体的,在扩张C阶段,对于子划分P
i,对扩张顶点集合X
i所有在本地的顶点进行扩张,即将所有本地可见的邻接边分配到子划分P
i中。例如,若顶点v在X
0中,则将其所有临边分配到P
0中。假设分配的其中一条边为(v,u),则将顶点u加入到S
i中(更新S
i)。当一个边被多个子划分同时扩展时,随机选取其中一个子划分进行扩展。
在PMIC_扩张C(ExpandC)阶段,协调器用于传递通信消息以及更新全局已分配的载荷。在这里,已分配的载荷具体是指已被分配至子划分P
i中的边数。
在扩张S(ExpandS),其输入内容包括:子图G
i,子划分P
i,S
i的新增部分ΔS
i,i=1,2,...k;输出内容包括:经过扩张S的子划分P
i,更新后的本地核心顶点集合C、衍生顶点集合S
i和扩张顶点集合X
i,i=1,2,...k,以及同步通信消息。
具体的,在扩张S阶段,对于子划分P
i,扫描更新后的衍生顶点集合S
i中顶点对应的所有仍未被分配的邻接边,若未被分配的邻接边的另一顶点也在衍生顶点集合S
i中,则将该邻接边划分到子划分P
i里面。同时,将更新后的衍生顶点集合中的顶点信息与其他服务同步。
在PMIC_扩张S(PMIC_ExpandS)阶段,协调器用于传递通信消息以及判断是否存在未分配的边,如果存在未分配的边,则进入下一轮迭代;如果不存在未分配的边,则进行下一判断过程,即判断是否存在更新数据ΔG,若存在更 新数据ΔG,则进入PMIC_Update阶段,若不存在更新数据ΔG,则结束流程。
在PMIC_更新(PMIC_Update)阶段,协调器将更新数据ΔG划分,并得到多个子划分P
i’,并将P
i’分发给各个服务,并计算更新后的均衡上界。
在再平衡(ReBalance)阶段,具体内容与前述ReBalance阶段相同,这里不再赘述。
本实施例提供的有界增量图划分方法,能够高效快速的进行图划分。在一具体应用场景中,当更新数据占全图的10%时,对比使用静态方法重新划分,本实施例提供的方法可以达到7.9倍加速比,而当更新数据占全图的50%时,仍然有3.9倍加速比。
本实施例提供的有界增量图划分方法还可以达到和静态图划分相同甚至更好的划分质量。在一具体应用场景中,本实施例提供的方法对应的图划分通信开销比其它静态边划分方法低10%左右。
本实施例提供的有界增量图划分方法具有极强的并行可扩张性。在一具体应用场景中,当使用128个服务时,对一个大小为58亿条边的图结构进行128-划分的耗时仅为51秒。
本实施例提供的有界增量图划分方法和其它已有的增量图划分方法相比,耗时更少。在一具体应用场景中,本实施例提供的方法的响应时间比ParMETIS少至少6.4倍,和Hermes对比则少至少2.2倍。
本申请实施例还提供一种有界增量图划分系统,所述系统包括协调器和多个服务;
所述协调器包括:
第一划分单元,用于将初始图结构划分为多个子图,并对应得到多个第一子划分,并将所述多个子图以及对应的第一子划分分发至多个服务中;
第一确认单元,用于接收到当前迭代完成的信息后,确认是否存在未被分配的边;
通知单元,用于若存在未被分配的边,则通知所述服务对所述未分配的边进行迭代扩张,直至所有边分配完成;
第二确认单元,用于若不存在未被分配的边,则确认是否存在更新数据;
第二划分单元,用于若存在更新数据,则先将所述更新数据与所述初始图结构进行合并,并得到所述更新数据对应的部分图结构,然后将所述部分图结构划分为多个第二子图,并得到所述第二子图对应的第二子划分,并将所述多 个第二子划分向所述多个服务进行分发,且由接收到所述第二子划分的服务进行迭代扩张;
结束单元,用于若不存在更新数据,则结束图划分处理。
所述每一服务均包括:
迭代扩张单元,用于获取各自的子图对应的第一子划分,并对所述第一子划分进行迭代扩张,并在迭代扩张过程中判断所述第一子划分是否达到预设的第一均衡上界,若所述第一子划分达到预设的第一均衡上界,则停止对所述第一子划分的扩张,若所述第一子划分未达到预设的第一均衡上界,则继续对所述第一子划分进行扩张;
反馈单元,用于当所有服务均完成各自对应的扩张时,向所述协调器反馈当前迭代完成的信息。
在一实施例中,所述有界增量图划分系统还包括IO控制器;
所述IO控制器用于接收外部对所述初始图结构的更新数据,以及将所述更新数据转发至所述协调器。
在一实施例中,所述每一服务还包括:
第一分配单元,用于获取所述所有扩张顶点对应的未被分配的邻接边,并将所述邻接边分配至所述第一子划分中;
更新单元,用于根据新分配的边对所述衍生顶点集合进行更新;
判断单元,用于判断更新后的衍生顶点集合中是否存在邻接边对应的两个端点均在所述衍生顶点集合中的情况;
第二分配单元,用于若存在邻接边对应的两个端点均在所述衍生顶点集合S
i中的情况,则将对应的邻接边分配至第一子划分中。
由于系统部分的实施例与方法部分的实施例相互对应,因此系统部分的实施例请参见方法部分的实施例的描述,这里暂不赘述。
本申请实施例还提供了一种计算机可读存储介质,其上存有计算机程序,该计算机程序被执行时可以实现上述实施例所提供的步骤。该存储介质可以包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本申请实施例还提供了一种计算机设备,可以包括存储器和处理器,存储器中存有计算机程序,处理器调用存储器中的计算机程序时,可以实现上述实 施例所提供的步骤。当然电子设备还可以包括各种网络接口,电源等组件。
说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的状况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
Claims (10)
- 一种有界增量图划分方法,其特征在于,包括:协调器将初始图结构划分为多个第一子图,并对应得到多个第一子划分,并将所述多个子图以及对应的第一子划分分发至多个服务中;各服务获取各自的第一子图对应的第一子划分,并对所述第一子划分进行迭代扩张,并在迭代扩张过程中判断所述第一子划分是否达到预设的第一均衡上界,若所述第一子划分达到预设的第一均衡上界,则停止对所述第一子划分的扩张,若所述第一子划分未达到预设的第一均衡上界,则继续对所述第一子划分进行扩张;当所有服务均完成各自对应的扩张时,向所述协调器反馈当前迭代完成的信息;所述协调器接收到当前迭代完成的信息后,确认是否存在未被分配的边;若存在未被分配的边,则所述协调器通知所述服务对所述未分配的边进行迭代扩张,直至所有边分配完成;若不存在未被分配的边,则确认是否存在更新数据;若存在更新数据,则所述协调器先将所述更新数据与所述初始图结构进行合并,并得到所述更新数据对应的部分图结构,然后将所述部分图结构划分为多个第二子图,并得到所述第二子图对应的第二子划分,并将所述多个第二子划分向所述多个服务进行分发,且由接收到所述第二子划分的服务进行迭代扩张;若不存在更新数据,则结束图划分处理。
- 根据权利要求1所述的有界增量图划分方法,其特征在于,所述各服务获取各自的第一子图对应的第一子划分,并对所述第一子划分进行迭代扩张,包括:所述服务在所述第一子划分中获取衍生顶点集合,以及在所述初始图结构中获取核心顶点集合,并在所述衍生顶点集合和核心顶点集合的差集中选择优先级大于预设等级阈值的顶点作为扩张顶点,并构成扩张顶点集合,然后对所述扩张顶点集合中的所有扩张顶点进行扩张。
- 根据权利要求2所述的有界增量图划分方法,其特征在于,所述对所述扩张顶点集合中的所有扩张顶点进行扩张,包括:获取所述所有扩张顶点对应的未被分配的邻接边,并将所述邻接边分配至所述第一子划分中;根据新分配的边对所述衍生顶点集合进行更新;判断更新后的衍生顶点集合中是否存在邻接边对应的两个端点均在所述衍生顶点集合中的情况;若存在邻接边对应的两个端点均在所述衍生顶点集合中的情况,则将对应的邻接边分配至第一子划分中。
- 根据权利要求3所述的有界增量图划分方法,其特征在于,所述对所述扩张顶点集合中的所有扩张顶点进行扩张,还包括:当所述衍生顶点集合中的所有邻接边均已被分配时,则在所述核心顶点集合中随机选择一个核心顶点,并将所述核心顶点分配至所述衍生顶点集合中。
- 根据权利要求4所述的有界增量图划分方法,其特征在于,所述若存在更新数据,则所述协调器先将所述更新数据与所述初始图结构进行合并,并得到所述更新数据对应的部分图结构,然后将所述部分图结构划分为多个第二子图,并得到所述第二子图对应的第二子划分,并将所述多个第二子划分向所述多个服务进行分发,且由接收到所述第二子划分的服务进行迭代扩张,包括:将所述更新数据与所述初始图结构进行合并,得到更新图结构以及所述更新数据对应的部分图结构;对所述部分图结构进行划分,得到多个第二子图,以及所述第二子图对应的第二子划分;计算所述更新图结构的总边数,并根据所述更新图结构的总边数以及所有第一子划分的总个数,计算第二均衡上界;在达到所述第二均衡上界的第二子划分中移出部分边,以使第二子划分满 足所述第二均衡上界;获取并去除所述第二子划分中的冗余顶点以及对应邻接边数量小于第二预设边数数值的衍生顶点。
- 根据权利要求6所述的有界增量图划分方法,其特征在于,所述若存在更新数据,则所述协调器先将所述更新数据与所述初始图结构进行合并,并得到所述更新数据对应的部分图结构,然后将所述部分图结构划分为多个第二子图,并得到所述第二子图对应的第二子划分,并将所述多个第二子划分向所述多个服务进行分发,且由接收到所述第二子划分的服务进行迭代扩张;若不存在更新数据,则结束图划分处理,还包括:所述协调器采用广播分发的方式对所述第二多个子划分进行分发。
- 一种有界增量图划分系统,其特征在于,包括协调器和多个服务:所述协调器包括:第一划分单元,用于将初始图结构划分为多个子图,并对应得到多个第一子划分,并将所述多个子图以及对应的第一子划分分发至多个服务中;第一确认单元,用于接收到当前迭代完成的信息后,确认是否存在未被分配的边;通知单元,用于若存在未被分配的边,则通知所述服务对所述未分配的边进行迭代扩张,直至所有边分配完成;第二确认单元,用于若不存在未被分配的边,则确认是否存在更新数据;第二划分单元,用于若存在更新数据,则先将所述更新数据与所述初始图结构进行合并,并得到所述更新数据对应的部分图结构,然后将所述部分图结构划分为多个第二子图,并得到所述第二子图对应的第二子划分,并将所述多个第二子划分向所述多个服务进行分发,且由接收到所述第二子划分的服务进行迭代扩张;结束单元,用于若不存在更新数据,则结束图划分处理。所述每一服务均包括:迭代扩张单元,用于获取各自的子图对应的第一子划分,并对所述第一子划分进行迭代扩张,并在迭代扩张过程中判断所述第一子划分是否达到预设的第一均衡上界,若所述第一子划分达到预设的第一均衡上界,则停止对所述第一子划分的扩张,若所述第一子划分未达到预设的第一均衡上界,则继续对所述第一子划分进行扩张;反馈单元,用于当所有服务均完成各自对应的扩张时,向所述协调器反馈当前迭代完成的信息。
- 根据权利要求8所述的有界增量图划分系统,其特征在于,还包括IO控制器;所述IO控制器用于接收外部对所述初始图结构的更新数据,以及将所述更新数据转发至所述协调器。
- 根据权利要求8所述的有界增量图划分系统,其特征在于,所述每一服务还包括:第一分配单元,用于获取所述所有扩张顶点对应的未被分配的邻接边,并将所述邻接边分配至所述第一子划分中;更新单元,用于根据新分配的边对所述衍生顶点集合进行更新;判断单元,用于判断更新后的衍生顶点集合中是否存在邻接边对应的两个端点均在所述衍生顶点集合中的情况;第二分配单元,用于若存在邻接边对应的两个端点均在所述衍生顶点集合S i中的情况,则将对应的邻接边分配至第一子划分中。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010294991.4 | 2020-04-15 | ||
CN202010294991.4A CN111538867B (zh) | 2020-04-15 | 2020-04-15 | 一种有界增量图划分方法和系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2021208147A1 true WO2021208147A1 (zh) | 2021-10-21 |
Family
ID=71952266
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2020/087707 WO2021208147A1 (zh) | 2020-04-15 | 2020-04-29 | 一种有界增量图划分方法和系统 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN111538867B (zh) |
WO (1) | WO2021208147A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116166846A (zh) * | 2023-04-13 | 2023-05-26 | 广东广宇科技发展有限公司 | 一种基于云计算的分布式多维数据处理方法 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112634290B (zh) * | 2020-12-30 | 2023-09-19 | 广州南洋理工职业学院 | 一种基于聚类交互的图形分割方法 |
CN113190720B (zh) * | 2021-05-17 | 2023-01-17 | 深圳计算科学研究院 | 一种基于图压缩的图数据库构建方法、装置及相关组件 |
CN113343040A (zh) * | 2021-06-18 | 2021-09-03 | 深圳计算科学研究院 | 一种图算法的自动增量化方法、装置、设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140320497A1 (en) * | 2013-04-29 | 2014-10-30 | Microsoft Corporation | Graph partitioning for massive scale graphs |
CN107193896A (zh) * | 2017-05-09 | 2017-09-22 | 华中科技大学 | 一种基于簇的图数据划分方法 |
CN108319698A (zh) * | 2018-02-02 | 2018-07-24 | 华中科技大学 | 一种基于博弈的流图划分方法和系统 |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6539643B1 (en) * | 2000-02-28 | 2003-04-01 | James Hardie Research Pty Limited | Surface groove system for building sheets |
US7526540B2 (en) * | 2003-04-22 | 2009-04-28 | International Business Machines Corporation | System and method for assigning data collection agents to storage area network nodes in a storage area network resource management system |
CN101315699B (zh) * | 2008-07-10 | 2011-07-20 | 哈尔滨工业大学 | 一种增量式变分水平集快速医学图像分割方法 |
CN102165515B (zh) * | 2008-09-30 | 2014-05-28 | 索尼电脑娱乐公司 | 图像处理装置以及图像处理方法 |
US10410144B2 (en) * | 2011-10-14 | 2019-09-10 | Palo Alto Research Center Incorporated | System and method for parallel edge partitioning in and/or graph search |
CN102521332B (zh) * | 2011-12-06 | 2013-09-18 | 北京航空航天大学 | 基于强模拟的图模式匹配方法、装置及系统 |
US20130218789A1 (en) * | 2012-02-21 | 2013-08-22 | University Of South Carolina | Systematic Approach to Enforcing Contiguity Constraint in Trajectory-based Methods for Combinatorial Optimization |
CN103699606B (zh) * | 2013-12-16 | 2017-03-01 | 华中科技大学 | 一种基于顶点切割与社区聚集的大规模图划分方法 |
WO2015103494A1 (en) * | 2014-01-03 | 2015-07-09 | Schlumberger Technology Corporation | Graph partitioning to distribute wells in parallel reservoir simulation |
US9477532B1 (en) * | 2015-10-06 | 2016-10-25 | Oracle International Corporation | Graph-data partitioning for workload-balanced distributed computation with cost estimation functions |
US11507800B2 (en) * | 2018-03-06 | 2022-11-22 | Adobe Inc. | Semantic class localization digital environment |
CN108804226B (zh) * | 2018-05-28 | 2021-09-03 | 中国人民解放军国防科技大学 | 一种用于分布式图计算的图分割划分方法 |
CN113779322B (zh) * | 2018-08-27 | 2023-08-01 | 北京百度网讯科技有限公司 | 用于图检索的方法、装置、设备以及计算机可读存储介质 |
CN109918199B (zh) * | 2019-02-28 | 2023-06-16 | 中国科学技术大学苏州研究院 | 基于gpu的分布式图处理系统 |
CN110110157A (zh) * | 2019-04-26 | 2019-08-09 | 东北大学 | 一种基于二跳图的超图迭代方法及其应用 |
CN110569244A (zh) * | 2019-08-30 | 2019-12-13 | 深圳计算科学研究院 | 一种海明空间近似查询方法及存储介质 |
CN110688610B (zh) * | 2019-09-27 | 2023-05-09 | 支付宝(杭州)信息技术有限公司 | 图数据的权重计算方法、装置和电子设备 |
-
2020
- 2020-04-15 CN CN202010294991.4A patent/CN111538867B/zh active Active
- 2020-04-29 WO PCT/CN2020/087707 patent/WO2021208147A1/zh active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140320497A1 (en) * | 2013-04-29 | 2014-10-30 | Microsoft Corporation | Graph partitioning for massive scale graphs |
CN107193896A (zh) * | 2017-05-09 | 2017-09-22 | 华中科技大学 | 一种基于簇的图数据划分方法 |
CN108319698A (zh) * | 2018-02-02 | 2018-07-24 | 华中科技大学 | 一种基于博弈的流图划分方法和系统 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116166846A (zh) * | 2023-04-13 | 2023-05-26 | 广东广宇科技发展有限公司 | 一种基于云计算的分布式多维数据处理方法 |
CN116166846B (zh) * | 2023-04-13 | 2023-08-01 | 广东广宇科技发展有限公司 | 一种基于云计算的分布式多维数据处理方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111538867A (zh) | 2020-08-14 |
CN111538867B (zh) | 2021-06-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2021208147A1 (zh) | 一种有界增量图划分方法和系统 | |
US9645756B2 (en) | Optimization of in-memory data grid placement | |
Zhu et al. | Gemini: A {Computation-Centric} distributed graph processing system | |
CN107391629B (zh) | 集群间数据迁移方法、系统、服务器及计算机存储介质 | |
WO2016116052A1 (en) | System and method for massively parallel processor database | |
CN110147407B (zh) | 一种数据处理方法、装置及数据库管理服务器 | |
CN108920153B (zh) | 一种基于负载预测的Docker容器动态调度方法 | |
WO2015196911A1 (zh) | 数据挖掘方法和节点 | |
CN109643310B (zh) | 用于数据库中数据重分布的系统和方法 | |
CN107621927B (zh) | 一种基于超融合系统的纵向扩展方法及其装置 | |
JP5427640B2 (ja) | 決定木生成装置、決定木生成方法、及びプログラム | |
CN111639082B (zh) | 基于Ceph的十亿级节点规模知识图谱的对象存储管理方法及系统 | |
US8898677B2 (en) | Data arrangement calculating system, data arrangement calculating method, master unit and data arranging method | |
CN110633325B (zh) | 一种基于Docker的数据库集群扩容方法及装置 | |
CN108073696B (zh) | 基于分布式内存数据库的gis应用方法 | |
CN110727738B (zh) | 基于数据分片的全局路由系统、电子设备及存储介质 | |
US11321350B2 (en) | Managing identifiers for multinodal master systems of unknown or changing size | |
CN107391033B (zh) | 数据迁移方法及装置、计算设备、计算机存储介质 | |
CN109271376A (zh) | 数据库升级方法、装置、设备及存储介质 | |
CN115391023A (zh) | 多任务容器集群的计算资源优化方法及装置 | |
CN111522811A (zh) | 数据库的处理方法及装置、存储介质、终端 | |
CN115167992A (zh) | 任务处理方法、系统、装置、服务器、介质及程序产品 | |
US10896056B2 (en) | Cluster expansion method and apparatus, electronic device and storage medium | |
CN104426774A (zh) | 一种同时支持IPv4和IPv6的高速路由查找方法及装置 | |
CN111414422B (zh) | 一种数据分布方法、装置、设备和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 20931651 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 20931651 Country of ref document: EP Kind code of ref document: A1 |