Table of Contents
Fetching ...

Parallel Order-Based Core Maintenance in Dynamic Graphs

Bin Guo, Emil Sekerinski

TL;DR

This work tackles the challenge of maintaining vertex $k$-core numbers in dynamic graphs under bursts of edge insertions and deletions. It introduces Parallel-Order, a parallelization of the Order-based core maintenance that leverages a concurrent Order Maintenance data structure and per-edge parallel processing to propagate core-number updates while locking only the affected vertices. The approach provides correctness guarantees and show substantial practical gains, achieving up to $289\times$ speedups for insertions and up to $10\times$ for removals on a 64-core machine, significantly outperforming Traversal-based parallel methods. The results imply strong potential for real-time core maintenance in high-throughput dynamic graphs and motivate future work on extensions to weighted graphs and related subgraph models such as the $k$-truss or hierarchical $k$-core.

Abstract

The core numbers of vertices in a graph are one of the most well-studied cohesive subgraph models because of the linear running time. In practice, many data graphs are dynamic graphs that are continuously changing by inserting or removing edges. The core numbers are updated in dynamic graphs with edge insertions and deletions, which is called core maintenance. When a burst of a large number of inserted or removed edges come in, we have to handle these edges on time to keep up with the data stream. There are two main sequential algorithms for core maintenance, \textsc{Traversal} and \textsc{Order}. It is proved that the \textsc{Order} algorithm significantly outperforms the \alg{Traversal} algorithm over all tested graphs with up to 2,083 times speedups. To the best of our knowledge, all existing parallel approaches are based on the \alg{Traversal} algorithm; also, their parallelism exists only for affected vertices with different core numbers, which will reduce to sequential when all vertices have the same core numbers. In this paper, we propose a new parallel core maintenance algorithm based on the \alg{Order} algorithm. Importantly, our new approach always has parallelism, even for the graphs where all vertices have the same core numbers. Extensive experiments are conducted over real-world, temporal, and synthetic graphs on a 64-core machine. The results show that for inserting and removing 100,000 edges using 16-worker, our method achieves up to 289x and 10x times speedups compared with the most efficient existing method, respectively.

Parallel Order-Based Core Maintenance in Dynamic Graphs

TL;DR

This work tackles the challenge of maintaining vertex -core numbers in dynamic graphs under bursts of edge insertions and deletions. It introduces Parallel-Order, a parallelization of the Order-based core maintenance that leverages a concurrent Order Maintenance data structure and per-edge parallel processing to propagate core-number updates while locking only the affected vertices. The approach provides correctness guarantees and show substantial practical gains, achieving up to speedups for insertions and up to for removals on a 64-core machine, significantly outperforming Traversal-based parallel methods. The results imply strong potential for real-time core maintenance in high-throughput dynamic graphs and motivate future work on extensions to weighted graphs and related subgraph models such as the -truss or hierarchical -core.

Abstract

The core numbers of vertices in a graph are one of the most well-studied cohesive subgraph models because of the linear running time. In practice, many data graphs are dynamic graphs that are continuously changing by inserting or removing edges. The core numbers are updated in dynamic graphs with edge insertions and deletions, which is called core maintenance. When a burst of a large number of inserted or removed edges come in, we have to handle these edges on time to keep up with the data stream. There are two main sequential algorithms for core maintenance, \textsc{Traversal} and \textsc{Order}. It is proved that the \textsc{Order} algorithm significantly outperforms the \alg{Traversal} algorithm over all tested graphs with up to 2,083 times speedups. To the best of our knowledge, all existing parallel approaches are based on the \alg{Traversal} algorithm; also, their parallelism exists only for affected vertices with different core numbers, which will reduce to sequential when all vertices have the same core numbers. In this paper, we propose a new parallel core maintenance algorithm based on the \alg{Order} algorithm. Importantly, our new approach always has parallelism, even for the graphs where all vertices have the same core numbers. Extensive experiments are conducted over real-world, temporal, and synthetic graphs on a 64-core machine. The results show that for inserting and removing 100,000 edges using 16-worker, our method achieves up to 289x and 10x times speedups compared with the most efficient existing method, respectively.
Paper Structure (35 sections, 1 theorem, 4 equations, 6 figures, 3 tables, 11 algorithms)

This paper contains 35 sections, 1 theorem, 4 equations, 6 figures, 3 tables, 11 algorithms.

Key Result

Theorem 3.1

guo2022simplified Given a constructed DAG $\vec{G}=(V,\vec{E})$ by inserting an edge $u\mapsto v$ with $K = u.core \leq v.core$, the candidate set $V^*$ includes all possible vertices that satisfy: 1) their core numbers equal to $K$, and 2) their total numbers of candidate in-degree and remaining ou

Figures (6)

  • Figure 1: The number of different sizes of $V^+$ for inserting and removing 100,000 edges by using our parallel core maintenance algorithms, respectively. The x-axis is the size of $V^+$ and the y-axis is the number of such size of $V^*$.
  • Figure 2: An example graph maintains the core numbers after inserting three edges, $e_1$, $e_2$, and $e_3$ . The letters inside the cycles are vertices' IDs and the $\mathbb{O}_k$ is the $k$-order of vertices with core numbers $k$. The beside numbers are corresponding remaining out-degrees ${\it{d^+_{out}} }$. The direction for each edge indicates the $k$-order of two vertices, which is constructed as a DAG. (a) an initial example graph. (b) insert $3$ edges. (c) the core numbers and $k$-orders update.
  • Figure 3: An example graph maintains the core numbers after removing $3$ edges, $e_1$, $e_2$, and $e_3$. The letters inside the cycles are vertices' IDs and the $\mathbb{O}_k$ is the $k$-order of vertices with core numbers $k$. The beside numbers are corresponding ${\it{mcd}}$. (a) an initial example graph. (b) remove three edges. (c) the core numbers and $\mathbb{O}_k$ update.
  • Figure 4: The real running time by varying the number of workers. The x-axis is the number of workers, and the y-axis is the execution time (millisecond). The error bars are too small to show.
  • Figure 5: The running time ratio with 16 workers by varying the size of the inserted or removed edges. The x-axis is the size of inserted or removed edges, and the y-axis is the time ratio.
  • ...and 1 more figures

Theorems & Definitions (14)

  • Definition 3.1: $k$-Core
  • Definition 3.2: Core Number
  • Definition 3.3: $k$-Subcore
  • Definition 3.4: Candidate Set $V^*$ and Searching Set $V^+$
  • Definition 3.5: $k$-Order $\prec$
  • Definition 3.6: candidate in-degree
  • Definition 3.7: remaining out-degree
  • Theorem 3.1
  • Example 3.1
  • Definition 3.8: max-core degree ${\it{mcd}}$
  • ...and 4 more