Welcome to Beehive

Beehive is Java based framework for parallel programming of graph applications using a transactional model of task execution. Many data analytics applications for large scale graph data require parallel processing utilizing a cluster computing environment. Parallelism in many graph problems tends to be fine-grained and irreguluar, and it is not easy to extract parallelism through static analysis and data partitioning. This is called amorphous paralleism.
Graph problems with amorphous paralleism cannot easily be partitioned for programming using the MapReduce model. The Beehive framework addresses this problem based on transactional model of parallelism programming. In Beehive, vertex-centric computation tasks for a problem are executed as serializable transactions using an optimistic model for concurrency control.

This Guidebook is based on the latest version of Beehive, Beehive 4.0

Acknowledgements

This work was supported by NSF Award 1319333. Computing resources were provided by NSF Award 1512877 and Minnesota Supercomputing Institute.


The Beehive system is based on the contributions by several people over a period of five years. The names of the main contributors are listed in the chronological order of their association with the project: Anand Tripathi, Vinit Padhye, Tara Sasank Sunkara, Jeremy Tucker, Indajith Premanath, BhagavathiDhass Thirunavukarasu, Varun Pandey, Charandeep Parisineti, Rahul Sharma, Tanmay Mehta, Manu Khandelwal, Henry Hoang