We present here the results of our investigation of a transactional model of parallel programming on cluster computing systems. This model is specifically targeted for graph applications with the goal of harnessing unstructured parallelism inherently present in many such problems. In this model, tasks for vertex-centric computations are executed optimistically in parallel as serializable transactions. A key-value based globally shared object store is implemented in the main memory of the cluster nodes for storing the graph data. Task computations read and modify data in the distributed global store, without any explicitly programmed message-passing in the application code. Based on this model we developed a framework for parallel programming of graph applications on computing clusters. We present here the programming abstractions provided by this framework and its architecture. Using several graph problems we illustrate the simplicity of the abstractions provided by this model. These problems include graph coloring, k-nearest neighbors, and single-source shortest path computation. We also illustrate how incremental computations can be supported by this programming model. Using these problems we evaluate the transactional programming model and the mechanisms provided by this framework.
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.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.
customersupport@researchsolutions.com
10624 S. Eastern Ave., Ste. A-614
Henderson, NV 89052, USA
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.
Copyright © 2024 scite LLC. All rights reserved.
Made with 💙 for researchers
Part of the Research Solutions Family.