Join GitHub today
Welcome to the giraphuc (and graph-sr) wiki!
This wiki is currently under construction. In the mean time, please see the graph-processing wiki for information on how to setup/use EC2 and on the structure of this repo.
This repo provides the implementation of both:
GiraphUC (and Giraph async), as described in our VLDB 2015 paper.
The synchronization techniques described in our EDBT 2016 paper, which provides serializability for graph processing systems.
Note that the "Giraph async" described in our EDBT paper corresponds to GiraphUC, which uses the BAP model. It is not the same as the Giraph async described in our VLDB paper, which uses the AP model and is less performant. The synchronization techniques work for both BAP and AP.
To compile a working GiraphUC (with serializability), first clone the official Giraph repository into a folder
giraph-110/ and checkout/reset it to commit 065d718d79. Then copy or clone this repo's
giraph-110/ over it.
Similarly for GraphLab: clone the official repository and checkout/reset to commit ab1aae5 or f415a26 and copy or clone over this repo's corresponding folders (
All implemented functionality are modular and can be turned on via flags. See the benchmarking scripts for how to enable GiraphUC or Giraph async. In particular, the
*-serial.sh scripts demonstrate enabling GiraphUC or Giraph async in conjunction with the different synchronization techniques.