Computation and Communication Efficient Graph Processing with Distributed Immutable View

Cyclops is a new vertex-oriented graph-parallel framework for writing distributed graph analytics. Unlike existing distributed graph computation models, Cyclops retains simplicity and computation-efficiency by synchronously computing over a distributed immutable view, which grants a vertex with read-only access to all its neighboring vertices. Cyclops follows a centralized computation model by assigning a master vertex to update and propagate the value to its replicas unidirectionally in each iteration, which can significantly reduce messages and avoid contention on replicas. Being aware of the pervasively available multicore-based clusters, Cyclops is further extended with a hierarchical processing model, which aggregates messages and replicas in a single multicore machine and transparently decomposes each worker into multiple threads on-demand for different stages of computation
We have implemented Cyclops based on an open-source Pregel clone called Hama. Our evaluation using a set of graph algorithms on an in-house multicore cluster shows that Cyclops outperforms Hama from 2.06X to 8.69X and 5.95X to 23.04X using hash-based and Metis partition algorithms accordingly, due to the elimination of contention on messages and hierarchical optimization for the multicore-based clusters.

If you use Cyclops in your work or research, please let us know about it. We also encourage you to reference our paper.

The Cyclops source code is distributed with a Apache license 2.0. The copyright is held by Shanghai Jiao Tong University. Cyclops is provided "as is" without any warranties and conditions of any kind.
The latest release of Cyclops (~1.4MB) is based on Hama 0.6.0.
Once you've downloaded Cyclops, you can find a simple README file, and the further instructions for installing and executing it on the Hama's Documentation page.


Contact Information
Please contact Rong Chen for further information. Welcome to let us know about bug reports and suggested improvements, while we may not be able to provide technical support timely. If you make some correction or improvement to Cyclops, we would appreciate receiving a patch that we can include in the next release.

Related Projects
PowerLyra: differentiated Graph Computation and Partitioning on Skewed Graphs.
Imitator: Replication-based Fault-tolerance for Large-scale Graph Processing.
PowerSwitch: adaptive prediction and mode switch (synchronous and asynchronous) on parallel graph computation.

This page has been visited Website Hit Counter times since 6/18/2014.
Stats provided by the Easy Counter