Parallel Batch-Dynamic k-Core Decomposition

06/07/2021
by   Quanquan C. Liu, et al.
0

Maintaining a k-core decomposition quickly in a dynamic graph is an important problem in many applications, including social network analytics, graph visualization, centrality measure computations, and community detection algorithms. The main challenge for designing efficient k-core decomposition algorithms is that a single change to the graph can cause the decomposition to change significantly. We present the first parallel batch-dynamic algorithm for maintaining an approximate k-core decomposition that is efficient in both theory and practice. Given an initial graph with m edges, and a batch of B updates, our algorithm maintains a (2 + δ)-approximation of the coreness values for all vertices (for any constant δ > 0) in O(Blog^2 m) amortized work and O(log^2 m loglog m) depth (parallel time) with high probability. Our algorithm also maintains a low out-degree orientation of the graph in the same bounds. We implemented and experimentally evaluated our algorithm on a 30-core machine with two-way hyper-threading on 11 graphs of varying densities and sizes. Compared to the state-of-the-art algorithms, our algorithm achieves up to a 114.52x speedup against the best multicore implementation and up to a 497.63x speedup against the best sequential algorithm, obtaining results for graphs that are orders-of-magnitude larger than those used in previous studies. In addition, we present the first approximate static k-core algorithm with linear work and polylogarithmic depth. We show that on a 30-core machine with two-way hyper-threading, our implementation achieves up to a 3.9x speedup in the static case over the previous state-of-the-art parallel algorithm.

READ FULL TEXT
research
11/22/2021

Theoretically and Practically Efficient Parallel Nucleus Decomposition

This paper studies the nucleus decomposition problem, which has been sho...
research
03/24/2022

Batch Dynamic Algorithm to Find k-Cores and Hierarchies

Finding k-cores in graphs is a valuable and effective strategy for extra...
research
10/05/2020

A Parallel Batch-Dynamic Data Structure for the Closest Pair Problem

We propose a theoretically-efficient and practical parallel batch-dynami...
research
08/10/2020

ConnectIt: A Framework for Static and Incremental Parallel Graph Connectivity Algorithms

Connected components is a fundamental kernel in graph applications due t...
research
01/18/2022

Simplified Algorithms for Order-Based Core Maintenance

Graph analytics attract much attention from both research and industry c...
research
12/21/2020

Parallel Index-Based Structural Graph Clustering and Its Approximation

SCAN (Structural Clustering Algorithm for Networks) is a well-studied, w...
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...

Please sign up or login with your details

Forgot password? Click here to reset