🤖 AI Summary
Frequent recomputation in vertex-specific dynamic graph queries (e.g., single-source shortest paths) incurs substantial computational redundancy.
Method: This paper proposes an incremental solving framework based on intersection–union boundary analysis. It systematically identifies stable vertices—those whose values remain invariant across consecutive snapshots—and derives exact theoretical upper and lower bounds to precisely detect and assign them in a single step. Only the unstable subgraph undergoes incremental computation, enhanced by subgraph pruning and concurrent snapshot processing.
Contribution/Results: Empirical analysis reveals that 53.2%–99.8% of vertex values remain constant over 25–100 successive snapshots. Consequently, the method updates fewer than 42% of vertices and 32% of edges per snapshot. Evaluated on multiple benchmark dynamic graphs, it achieves 2.01–12.23× speedup over RisGraph, significantly reducing computational overhead in dynamic graph querying.
📝 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.