Efficient Parallel Graph Trimming by Arc-Consistency

07/27/2021
by   Bin Guo, et al.
0

Given a large data graph, trimming techniques can reduce the search space by removing vertices without outgoing edges. One application is to speed up the parallel decomposition of graphs into strongly connected components (SCC decomposition), which is a fundamental step for analyzing graphs. We observe that graph trimming is essentially a kind of arc-consistency problem, and AC-3, AC-4, and AC-6 are the most relevant arc-consistency algorithms for application to graph trimming. The existing parallel graph trimming methods require worst-case 𝒪(nm) time and worst-case 𝒪(n) space for graphs with n vertices and m edges. We call these parallel AC-3-based as they are much like the AC-3 algorithm. In this work, we propose AC-4-based and AC-6-based trimming methods. That is, AC-4-based trimming has an improved worst-case time of 𝒪(n+m) but requires worst-case space of 𝒪(n+m); compared with AC-4-based trimming, AC-6-based has the same worst-case time of 𝒪(n+m) but an improved worst-case space of 𝒪(n). We parallelize the AC-4-based and AC-6-based algorithms to be suitable for shared-memory multi-core machines. The algorithms are designed to minimize synchronization overhead. For these algorithms, we also prove the correctness and analyze time complexities with the work-depth model. In experiments, we compare these three parallel trimming algorithms over a variety of real and synthetic graphs. Specifically, for the maximum number of traversed edges per worker by using 16 workers, AC-3-based traverses up to 58.3 and 36.5 times more edges than AC-6-based trimming and AC-4-based trimming, respectively.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
01/31/2022

Max Flow Vitality of Edges and Vertices in Undirected Planar Graphs

We study the problem of computing the vitality with respect to max flow ...
research
10/25/2022

Parallel Order-Based Core Maintenance in Dynamic Graphs

The core numbers of vertices in a graph are one of the most well-studied...
research
10/27/2019

Cilkmem: Algorithms for Analyzing the Memory High-Water Mark of Fork-Join Parallel Programs

Software engineers designing recursive fork-join programs destined to ru...
research
02/11/2018

Distributed Evaluation of Subgraph Queries Using Worstcase Optimal LowMemory Dataflows

We study the problem of finding and monitoring fixed-size subgraphs in a...
research
01/18/2022

Simplified Algorithms for Order-Based Core Maintenance

Graph analytics attract much attention from both research and industry c...
research
05/16/2023

Random Edge Coding: One-Shot Bits-Back Coding of Large Labeled Graphs

We present a one-shot method for compressing large labeled graphs called...
research
04/28/2022

Generic Dijkstra: correctness and tractability

The recently-proposed generic Dijkstra algorithm finds shortest paths in...

Please sign up or login with your details

Forgot password? Click here to reset