In dynamically evolving graphs, one may be interested in continuously observing certain properties of the graph. One approach for continuous monitoring is to re-execute the graph analytics program on the entire graph after it is updated. However, this approach can lead to high computation cost and latency in case of large graphs. An alternate approach, which we present in this paper, is to execute the analytics program only initially and then perform incremental computations for supporting continuous queries as the graph is modified. The goal of our work is to develop incremental parallel computing techniques to continuously monitor a graph as it is updated to check for the properties of interest. We present the results of our investigation of utilizing a transactional model of parallel programming for supporting continuous queries on dynamic and evolving graphs. In our model, the graph updates are performed as transactions, which trigger the execution of a set of transactional tasks to perform incremental computations. In our testbed system, the graph data is stored in the RAM of cluster nodes, and continuous queries involve the parallel execution of transactional tasks on the cluster nodes. Using a set of graph problems, we illustrate this approach and evaluate its performance.
Bibliographical noteFunding Information:
This work was supported by NSF Award 1319333, and the computing resources were provided by the Minnesota Supercomputing Institute.
Copyright © 2018 John Wiley & Sons, Ltd.
- cluster computing
- continuous queries
- distributed algorithms
- dynamic graphs
- incremental computing
- parallel computing
- transactional model