Table of Contents
Fetching ...

Analysis of Stable Vertex Values: Fast Query Evaluation Over An Evolving Graph

Mahbod Afarin, Chao Gao, Xizhe Yin, Zhijia Zhao, Nael Abu-Ghazaleh, Rajiv Gupta

TL;DR

The paper addresses the high cost of evaluating vertex-specific queries over evolving graphs across many snapshots. It introduces Unchanged Vertex Values (UVVs) identified via a novel intersection–union bounding analysis, derives a reduced Q-Relevant SubGraph (QRS) by removing UVV incoming edges, and enables concurrent incremental computations over a versioned graph with a snapshot-oblivious frontier. Key contributions include the UVV bounding method, QRS construction, a concurrent evaluation framework, and extensive experiments showing up to 12.23x speedups over a state-of-the-art KickStarter-based baseline for 64 snapshots. The approach significantly reduces the workload for dynamic graph queries, enabling scalable analysis over long time windows and large graphs while maintaining correctness for monotonic, path-based algorithms.

Abstract

Evaluating a query over a large, irregular graph is inherently challenging. This challenge intensifies when solving a query over a sequence of snapshots of an evolving graph, where changes occur through the addition and deletion of edges. We carried out a study that shows that due to the gradually changing nature of evolving graphs, when a vertex-specific query (e.g., SSSP) is evaluated over a sequence of 25 to 100 snapshots, for 53.2% to 99.8% of vertices, the query results remain unchanged across all snapshots. Therefore, the Unchanged Vertex Values (UVVs) can be computed once and then minimal analysis can be performed for each snapshot to obtain the results for the remaining vertices in that snapshot. We develop a novel intersection-union analysis that very accurately computes lower and upper bounds of vertex values across all snapshots. When the lower and upper bounds for a vertex are found to be equal, we can safely conclude that the value found for the vertex remains the same across all snapshots. Therefore, the rest of our query evaluation is limited to computing values across snapshots for vertices whose bounds do not match. We optimize this latter step evaluation by concurrently performing incremental computations on all snapshots over a significantly smaller subgraph. Our experiments with several benchmarks and graphs show that we need to carry out per snapshot incremental analysis for under 42% vertices on a graph with under 32% of edges. Our approach delivers speedups of 2.01-12.23x when compared to the state-of-the-art RisGraph implementation of the KickStarter-based incremental algorithm for 64 snapshots.

Analysis of Stable Vertex Values: Fast Query Evaluation Over An Evolving Graph

TL;DR

The paper addresses the high cost of evaluating vertex-specific queries over evolving graphs across many snapshots. It introduces Unchanged Vertex Values (UVVs) identified via a novel intersection–union bounding analysis, derives a reduced Q-Relevant SubGraph (QRS) by removing UVV incoming edges, and enables concurrent incremental computations over a versioned graph with a snapshot-oblivious frontier. Key contributions include the UVV bounding method, QRS construction, a concurrent evaluation framework, and extensive experiments showing up to 12.23x speedups over a state-of-the-art KickStarter-based baseline for 64 snapshots. The approach significantly reduces the workload for dynamic graph queries, enabling scalable analysis over long time windows and large graphs while maintaining correctness for monotonic, path-based algorithms.

Abstract

Evaluating a query over a large, irregular graph is inherently challenging. This challenge intensifies when solving a query over a sequence of snapshots of an evolving graph, where changes occur through the addition and deletion of edges. We carried out a study that shows that due to the gradually changing nature of evolving graphs, when a vertex-specific query (e.g., SSSP) is evaluated over a sequence of 25 to 100 snapshots, for 53.2% to 99.8% of vertices, the query results remain unchanged across all snapshots. Therefore, the Unchanged Vertex Values (UVVs) can be computed once and then minimal analysis can be performed for each snapshot to obtain the results for the remaining vertices in that snapshot. We develop a novel intersection-union analysis that very accurately computes lower and upper bounds of vertex values across all snapshots. When the lower and upper bounds for a vertex are found to be equal, we can safely conclude that the value found for the vertex remains the same across all snapshots. Therefore, the rest of our query evaluation is limited to computing values across snapshots for vertices whose bounds do not match. We optimize this latter step evaluation by concurrently performing incremental computations on all snapshots over a significantly smaller subgraph. Our experiments with several benchmarks and graphs show that we need to carry out per snapshot incremental analysis for under 42% vertices on a graph with under 32% of edges. Our approach delivers speedups of 2.01-12.23x when compared to the state-of-the-art RisGraph implementation of the KickStarter-based incremental algorithm for 64 snapshots.

Paper Structure

This paper contains 20 sections, 5 equations, 10 figures, 3 tables, 2 algorithms.

Figures (10)

  • Figure 1: Given series of 100 snapshots obtained by performing 100K edge updates (50% deletions and 50% additions) from one snapshot to the next, the above plot gives the percentage of vertex property values that remain unchanged across 25, 50, 75, and 100 snapshots for 4 input graphs and 5 benchmarks. 100K edges represent between 0.14% of edges in LJ to 0.025% for Wen.
  • Figure 2: Strategies for Evolving Graph Query Evaluation.
  • Figure 3: Common Graph $G_{C}$ of snapshots $G_i$, $G_{i+1}$, $G_{i+2}$.
  • Figure 4: Results of query SSSP(s) for two consecutive snapshots. The second snapshot is obtained by deleting red edges from the first snapshot and also adding the blue edges to the second snapshot. Note that the shortest path values for vertices marked in green are identical for both snapshots.
  • Figure 5: The Union Graph $G_{\cup}$ provides upperbounds on path lengths across all snapshots while the Intersection Graph $G_{\cap}$ provides the lowerbounds. Query Relevant Graph obtained by reducing $G_{\cap}$ and the query results used to bootstrap incremental computations.
  • ...and 5 more figures