Accelerating parallel graph computing with speculation

Nowadays distributed graph computing is widely used to process large amount of data on the internet. Communication overhead is a critical factor in determining the overall efficiency of graph algorithms. Through speculative prediction of the content of communications, we develop an optimization technique to significantly reduce the amount of communications needed for a class of graph algorithms. We have evaluated our optimization technique using five graph algorithms, Single-source shortest path, Connected Components, PageRank, Diameter, and Random Walk, on the Amazon EC2 clusters using different graph datasets. Our optimized implementations have reduced communication overhead by 21--93% for these algorithms, while keeping the error rates under 5%.

[1]  Haibo Chen,et al.  SYNC or ASYNC: time to fuse for distributed graph-parallel computation , 2015, PPoPP.

[2]  Leslie G. Valiant,et al.  A bridging model for parallel computation , 1990, CACM.

[3]  Channoh Kim,et al.  Practical speculative parallelization of variable-length decompression algorithms , 2013, LCTES.

[4]  Raphael Yuster,et al.  Approximate shortest paths in weighted graphs , 2012, J. Comput. Syst. Sci..

[5]  Indranil Gupta,et al.  LFGraph: simple and fast distributed graph analytics , 2013, TRIOS@SOSP.

[6]  Panos Kalnis,et al.  Mizan: a system for dynamic load balancing in large-scale graph processing , 2013, EuroSys '13.

[7]  Mohammed Abdullah,et al.  The Cover Time of Random Walks on Graphs , 2012, ArXiv.

[8]  Kevin D. Seppi,et al.  A speculative approach to parallelization in particle swarm optimization , 2012, Swarm Intelligence.

[9]  Ana Paula Appel,et al.  HADI: Mining Radii of Large Graphs , 2011, TKDD.

[10]  Jeffrey Xu Yu,et al.  Auto-Approximation of Graph Computing , 2014, Proc. VLDB Endow..

[11]  Joy Arulraj,et al.  Apache Giraph , 2018, Encyclopedia of Social Network Analysis and Mining. 2nd Ed..

[12]  Sreenivas Gollapudi,et al.  Estimating PageRank on graph streams , 2008, PODS.

[13]  Ziv Bar-Yossef,et al.  Local approximation of PageRank and reverse PageRank , 2008, SIGIR '08.

[14]  Charalampos E. Tsourakakis,et al.  FENNEL: streaming graph partitioning for massive scale graphs , 2014, WSDM.

[15]  Joseph M. Hellerstein,et al.  GraphLab: A New Framework For Parallel Machine Learning , 2010, UAI.

[16]  Gabriel Kliot,et al.  Streaming graph partitioning for large distributed graphs , 2012, KDD.

[17]  Philippe Flajolet,et al.  Probabilistic Counting Algorithms for Data Base Applications , 1985, J. Comput. Syst. Sci..

[18]  Tim Weninger,et al.  Thinking Like a Vertex , 2015, ACM Comput. Surv..

[19]  Binyu Zang,et al.  PowerLyra: Differentiated Graph Computation and Partitioning on Skewed Graphs , 2019, TOPC.

[20]  Félix Cuadrado,et al.  Adaptive Partitioning for Large-Scale Dynamic Graphs , 2013, 2014 IEEE 34th International Conference on Distributed Computing Systems.

[21]  Aart J. C. Bik,et al.  Pregel: a system for large-scale graph processing , 2010, SIGMOD Conference.

[22]  Jennifer Widom,et al.  GPS: a graph processing system , 2013, SSDBM.

[23]  Joseph Gonzalez,et al.  PowerGraph: Distributed Graph-Parallel Computation on Natural Graphs , 2012, OSDI.

[24]  Channoh Kim,et al.  Practical speculative parallelization of variable-length decompression algorithms , 2013, LCTES '13.

[25]  Reynold Xin,et al.  GraphX: Graph Processing in a Distributed Dataflow Framework , 2014, OSDI.

[26]  Lixin Gao,et al.  Maiter: An Asynchronous Graph Processing Framework for Delta-based Accumulative Iterative Computation , 2017, 1710.05785.