HOSA: Fast Distributed Triangle Enumerating On Tera-Edge Graphs

Distributed triangle enumerating has attracted a lot of interest for the capability to process large graphs quickly. However, existing solutions usually suffer from low speed and/or poor graph-size scalability due to the massive short messages passed via the network or the huge amount of intermediate data. To address the issues, we propose HOSA, a distributed out-of-core triangle enumerating algorithm. HOSA first introduces an I/O-efficient graph placement strategy to divide and place a graph across a cluster in a load-balanced manner to reduce intermediate data and exploit the aggregated I/O bandwidth of the cluster. To enumerate triangles, HOSA proposes an efficient algorithm which not only eliminates short messages, the main cause of the low speed of most previous works, but also effectively uses the aggregated network and I/O bandwidths to further improve performance, and achieves high speed and graph-size scalability. Extensive evaluations show that HOSA can process much larger graphs with better or at least comparable speed than state-of-the-art algorithms, including the best distributed-memory algorithm LiteTE.

[1]  Himchan Park,et al.  TrillionG: A Trillion-scale Synthetic Graph Generator using a Recursive Vector Model , 2017, SIGMOD Conference.

[2]  David A. Patterson,et al.  Latency Lags Bandwidth , 2005, ICCD.

[3]  Wenguang Chen,et al.  GridGraph: Large-Scale Graph Processing on a Single Machine Using 2-Level Hierarchical Partitioning , 2015, USENIX Annual Technical Conference.

[4]  Stijn Eyerman,et al.  Exploring optimizations on shared-memory platforms for parallel triangle counting algorithms , 2017, 2017 IEEE High Performance Extreme Computing Conference (HPEC).

[5]  Di Xiao,et al.  On Efficient External-Memory Triangle Listing , 2016, 2016 IEEE 16th International Conference on Data Mining (ICDM).

[6]  H. Howie Huang,et al.  TriCore: Parallel Triangle Counting on GPUs , 2018, SC18: International Conference for High Performance Computing, Networking, Storage and Analysis.

[7]  Guy E. Blelloch,et al.  GraphChi: Large-Scale Graph Computation on Just a PC , 2012, OSDI.

[8]  Madhav V. Marathe,et al.  PATRIC: a parallel algorithm for counting triangles in massive networks , 2013, CIKM.

[9]  Peter S. Pacheco Chapter 6 – Parallel Program Development , 2011 .

[10]  Yufei Tao,et al.  Massive graph triangulation , 2013, SIGMOD '13.

[11]  Christos Faloutsos,et al.  R-MAT: A Recursive Model for Graph Mining , 2004, SDM.

[12]  Sebastiano Vigna,et al.  The webgraph framework I: compression techniques , 2004, WWW '04.

[13]  Madhav V. Marathe,et al.  Parallel Algorithms for Counting Triangles in Networks with Large Degrees , 2014, ArXiv.

[14]  Hong Jiang,et al.  LiteTE: Lightweight, Communication-Efficient Distributed-Memory Triangle Enumerating , 2019, IEEE Access.

[15]  Roger Pearce Triangle counting for scale-free graphs at scale in distributed memory , 2017, 2017 IEEE High Performance Extreme Computing Conference (HPEC).

[16]  Ulrich Drepper,et al.  What Every Programmer Should Know About Memory , 2007 .

[17]  Ge Yu,et al.  Parallel Triangle Counting over Large Graphs , 2013, DASFAA.

[18]  David A. Patterson,et al.  Latency lags bandwith , 2004, CACM.

[19]  Tom White,et al.  Hadoop: The Definitive Guide , 2009 .

[20]  Luca Becchetti,et al.  Efficient semi-streaming algorithms for local triangle counting in massive graphs , 2008, KDD.

[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]  John R. Gilbert,et al.  Parallel Triangle Counting and Enumeration Using Matrix Algebra , 2015, 2015 IEEE International Parallel and Distributed Processing Symposium Workshop.

[25]  Wook-Shin Han,et al.  TurboGraph++: A Scalable and Fast Graph Analytics System , 2018, SIGMOD Conference.

[26]  Sergei Vassilvitskii,et al.  Counting triangles and the curse of the last reducer , 2011, WWW.

[27]  Jack Dongarra,et al.  MPI - The Complete Reference: Volume 1, The MPI Core , 1998 .

[28]  Guy E. Blelloch,et al.  Theoretically Efficient Parallel Graph Algorithms Can Be Fast and Scalable , 2018, SPAA.

[29]  David Kaeli,et al.  Introduction to Parallel Programming , 2013 .

[30]  Anthony Williams,et al.  C++ Concurrency in Action: Practical Multithreading , 2012 .

[31]  Xuemin Lin,et al.  Speedup Graph Processing by Graph Ordering , 2016, SIGMOD Conference.

[32]  Eiko Yoneki,et al.  PDTL: Parallel and Distributed Triangle Listing for Massive Graphs , 2015, 2015 44th International Conference on Parallel Processing.

[33]  Jinha Kim,et al.  OPT: a new framework for overlapped and parallel triangulation in large-scale graphs , 2014, SIGMOD Conference.

[34]  H. Howie Huang,et al.  T ri C ore : parallel triangle counting on GPUs , 2018 .

[35]  William Gropp,et al.  Mpi the complete reference: the mpi-2 extensions , 1998 .

[36]  Ziv Bar-Yossef,et al.  Reductions in streaming algorithms, with an application to counting triangles in graphs , 2002, SODA '02.

[37]  Mark E. J. Newman,et al.  The Structure and Function of Complex Networks , 2003, SIAM Rev..

[38]  Di Xiao,et al.  Improving I/O Complexity of Triangle Enumeration , 2017, 2017 IEEE International Conference on Data Mining (ICDM).

[39]  David A. Bader,et al.  Tracking Structure of Streaming Social Networks , 2011, 2011 IEEE International Symposium on Parallel and Distributed Processing Workshops and Phd Forum.

[40]  Martin Odersky,et al.  Efficient Lock-Free Work-Stealing Iterators for Data-Parallel Collections , 2015, 2015 23rd Euromicro International Conference on Parallel, Distributed, and Network-Based Processing.

[41]  Julian Shun,et al.  Multicore triangle computations without tuning , 2015, 2015 IEEE 31st International Conference on Data Engineering.

[42]  Madhav V. Marathe,et al.  A Space-Efficient Parallel Algorithm for Counting Exact Triangles in Massive Networks , 2015, 2015 IEEE 17th International Conference on High Performance Computing and Communications, 2015 IEEE 7th International Symposium on Cyberspace Safety and Security, and 2015 IEEE 12th International Conference on Embedded Software and Systems.

[43]  Sung-Hyon Myaeng,et al.  PTE: Enumerating Trillion Triangles On Distributed Systems , 2016, KDD.