32
20
v1v2v3v4 (latest)

Parallel Batch-Dynamic Algorithms for kk-Core Decomposition and Related Graph Problems

Abstract

Maintaining a kk-core decomposition quickly in a dynamic graph has important applications in network analysis. The main challenge for designing efficient exact algorithms is that a single update to the graph can cause significant global changes. Our paper focuses on \emph{approximation} algorithms with small approximation factors that are much more efficient than what exact algorithms can obtain. We present the first parallel, batch-dynamic algorithm for approximate kk-core decomposition that is efficient in both theory and practice. Our algorithm is based on our novel parallel level data structure, inspired by the sequential level data structures of Bhattacharya et al [STOC '15] and Henzinger et al [2020]. Given a graph with nn vertices and a batch of updates B\mathcal{B}, our algorithm provably maintains a (2+ε)(2 + \varepsilon)-approximation of the coreness values of all vertices (for any constant ε>0\varepsilon > 0) in O(Blog2n)O(|\mathcal{B}|\log^2 n) amortized work and O(log2nloglogn)O(\log^2 n \log\log n) depth (parallel time) with high probability. As a by-product, our kk-core decomposition algorithm also gives a batch-dynamic algorithm for maintaining an O(α)O(\alpha) out-degree orientation, where α\alpha is the current arboricity of the graph. We demonstrate the usefulness of our low out-degree orientation algorithm by presenting a new framework to formally study batch-dynamic algorithms in bounded-arboricity graphs. Our framework obtains new provably-efficient parallel batch-dynamic algorithms for maximal matching, clique counting, and vertex coloring. We implemented and experimentally evaluated our kk-core decomposition algorithm on a 30-core machine with two-way hyper-threading on 1111 graphs of varying densities and sizes. [...]

View on arXiv
Comments on this paper