Scalable performance of ScaleGraph for large scale graph analysis

Scalable analysis of massive graphs has become a challenging issue in high performance computing environments. ScaleGraph is an X10 library aimed for large scale graph analysis scenarios. This paper evaluates scalability of ScaleGraph library for degree distribution calculation, betweeness centrality, and spectral clustering algorithms. We make scalability evaluation by analyzing a synthetic Kronecker graph with 40.3 million edges (for all the three algorithms), and a real social network with 69 million edges (for degree distribution calculation) on Tsubame 2.0 distributed memory environment.

[1]  Jure Leskovec,et al.  Community Structure in Large Networks: Natural Cluster Sizes and the Absence of Large Well-Defined Clusters , 2008, Internet Math..

[2]  Charu C. Aggarwal,et al.  Graph Clustering , 2010, Encyclopedia of Machine Learning and Data Mining.

[3]  Stephen R. Marsland,et al.  Machine Learning - An Algorithmic Perspective , 2009, Chapman and Hall / CRC machine learning and pattern recognition series.

[4]  Guojing Cong,et al.  Fast PGAS connected components algorithms , 2009, PGAS '09.

[5]  Andrew Lumsdaine,et al.  Lifting sequential graph algorithms for distributed-memory parallel computation , 2005, OOPSLA '05.

[6]  David D. Jensen,et al.  Accurate Estimation of the Degree Distribution of Private Networks , 2009, 2009 Ninth IEEE International Conference on Data Mining.

[7]  John R. Gilbert,et al.  A Flexible Open-Source Toolbox for Scalable Complex Graph Analysis , 2012, SDM.

[8]  David Grove,et al.  X10 as a Parallel Language for Scientific Computation: Practice and Experience , 2011, 2011 IEEE International Parallel & Distributed Processing Symposium.

[9]  Katherine Yelick,et al.  UPC Language Specifications V1.1.1 , 2003 .

[10]  Guojing Cong,et al.  Fast PGAS Implementation of Distributed Graph Algorithms , 2010, 2010 ACM/IEEE International Conference for High Performance Computing, Networking, Storage and Analysis.

[11]  Brian W. Barrett,et al.  Implementing a portable Multi-threaded Graph Library: The MTGL on Qthreads , 2009, 2009 IEEE International Symposium on Parallel & Distributed Processing.

[12]  Keshav Pingali,et al.  Optimistic parallelism requires abstractions , 2009, CACM.

[13]  David A. Bader,et al.  Massive Social Network Analysis: Mining Twitter for Social Good , 2010, 2010 39th International Conference on Parallel Processing.

[14]  Jaakko Järvi,et al.  A comparative study of language support for generic programming , 2003, OOPSLA 2003.

[15]  Mark E. J. Newman,et al.  Structure and Dynamics of Networks , 2009 .

[16]  Steven Skiena,et al.  The Algorithm Design Manual , 2020, Texts in Computer Science.

[17]  Jack Dongarra,et al.  ScaLAPACK Users' Guide , 1987 .

[18]  Satu Elisa Schaeffer,et al.  Graph Clustering , 2017, Encyclopedia of Machine Learning and Data Mining.

[19]  Toyotaro Suzumura,et al.  Introducing ScaleGraph: an X10 library for billion scale graph analytics , 2012, X10 '12.

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

[21]  Vijay Saraswat,et al.  GPU programming in a high level language: compiling X10 to CUDA , 2011, X10 '11.

[22]  Satoshi Matsuoka,et al.  Linpack evaluation on a supercomputer with heterogeneous accelerators , 2010, 2010 IEEE International Symposium on Parallel & Distributed Processing (IPDPS).

[23]  Gábor Csárdi,et al.  The igraph software package for complex network research , 2006 .

[24]  Mitsuhisa Sato,et al.  Advanced Institute for Computational Science (AICS): Japanese national high-performance computing research institute and its 10-petaflops supercomputer “K” , 2011, 2011 International Conference for High Performance Computing, Networking, Storage and Analysis (SC).

[25]  Kemal Ebcioğlu,et al.  X 10 : Programming for Hierarchical Parallelism and Non-Uniform Data Access ( Extended , 2004 .

[26]  Vivek Sarkar,et al.  X10: an object-oriented approach to non-uniform cluster computing , 2005, OOPSLA '05.

[27]  John Shalf,et al.  Exascale Computing Technology Challenges , 2010, VECPAR.

[28]  Dmitry Batenkov Boosting productivity with the Boost Graph Library , 2011, XRDS.

[29]  David A. Bader,et al.  Scalable Graph Exploration on Multicore Processors , 2010, 2010 ACM/IEEE International Conference for High Performance Computing, Networking, Storage and Analysis.

[30]  Vivek Sarkar,et al.  May-happen-in-parallel analysis of X10 programs , 2007, PPoPP.

[31]  Vivek Sarkar,et al.  Software challenges in extreme scale systems , 2009 .

[32]  David A. Bader,et al.  Multithreaded Algorithms for Processing Massive Graphs. , 2007 .

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

[34]  Song Yang,et al.  Networks: An Introduction by M. E. J. Newman , 2013 .

[35]  Jon M. Kleinberg,et al.  Group formation in large social networks: membership, growth, and evolution , 2006, KDD '06.

[36]  Charu C. Aggarwal,et al.  A Survey of Clustering Algorithms for Graph Data , 2010, Managing and Mining Graph Data.

[37]  John R. Gilbert,et al.  The Combinatorial BLAS: design, implementation, and applications , 2011, Int. J. High Perform. Comput. Appl..

[38]  Jeremy G. Siek,et al.  The generic graph component library , 1999, OOPSLA '99.

[39]  U. Brandes A faster algorithm for betweenness centrality , 2001 .

[40]  Andrs Vajda Programming Many-Core Chips , 2011 .

[41]  Jonathan W. Berry,et al.  Software and Algorithms for Graph Queries on Multithreaded Architectures , 2007, 2007 IEEE International Parallel and Distributed Processing Symposium.

[42]  Santo Fortunato,et al.  Community detection in graphs , 2009, ArXiv.

[43]  Ahmed K. Elmagarmid,et al.  The Kluwer international series on advances in database systems , 1996 .

[44]  Nancy M. Amato,et al.  STAPL: An Adaptive, Generic Parallel C++ Library , 2001, LCPC.

[45]  David Cunningham,et al.  A performance model for X10 applications: what's going on under the hood? , 2011, X10 '11.

[46]  Leonard M. Freeman,et al.  A set of measures of centrality based upon betweenness , 1977 .

[47]  David A. Bader,et al.  On the architectural requirements for efficient execution of graph algorithms , 2005, 2005 International Conference on Parallel Processing (ICPP'05).

[48]  J. Anthonisse The rush in a directed graph , 1971 .

[49]  Keshav Pingali,et al.  The tao of parallelism in algorithms , 2011, PLDI '11.

[50]  Jim Law,et al.  Review of "The boost graph library: user guide and reference manual by Jeremy G. Siek, Lie-Quan Lee, and Andrew Lumsdaine." Addison-Wesley 2002. , 2003, SOEN.

[51]  John Shalf,et al.  The International Exascale Software Project roadmap , 2011, Int. J. High Perform. Comput. Appl..

[52]  Bradford L. Chamberlain,et al.  Parallel Programmability and the Chapel Language , 2007, Int. J. High Perform. Comput. Appl..