Efficient Parallel Ear Decomposition of Graphs with Application to Betweenness-Centrality

Parallel graph algorithms continue to attract a lotof research attention given their applications to several fields ofsciences and engineering. Efficient design and implementation ofgraph algorithms on modern manycore accelerators has to how-ever contend with a host of challenges including not being able toreach full memory system throughput and irregularity. Of late, focusing on real-world graphs, researchers are addressing thesechallenges by using decomposition and preprocessing techniquesguided by the structural properties of such graphs. In this direction, we present a new GPU algorithm forobtaining an ear decomposition of a graph. Our implementationof the proposed algorithm on an NVidia Tesla K40c improvesthe state-of-the-art by a factor of 2.3x on average on a collectionof real-world and synthetic graphs. The improved performanceof our algorithm is due to our proposed characterization thatidentifies edges of the graph as redundant for the purposes of anear decomposition. We then study an application of the ear decomposition of agraph in computing the betweenness-centrality values of nodesin the graph. We use an ear decomposition of the input graph tosystematically remove nodes of degree two. The actual computation of betweenness-centrality is done on the remaining nodesand the results are extended to nodes removed in the previousstep. We show that this approach improves the state-of-the-artfor computing betweenness-centrality on an NVidia K40c GPUby a factor of 1.9x on average over a collection of real-world graphs.

[1]  Joseph JáJá,et al.  An Introduction to Parallel Algorithms , 1992 .

[2]  F. Schreiber,et al.  Centrality Analysis Methods for Biological Networks and Their Application to Gene Regulatory Networks , 2008, Gene regulation and systems biology.

[3]  Fan Yang,et al.  Articulation points guided redundancy elimination for betweenness centrality , 2016, PPoPP.

[4]  Kunle Olukotun,et al.  On fast parallel detection of strongly connected components (SCC) in small-world graphs , 2013, 2013 SC - International Conference for High Performance Computing, Networking, Storage and Analysis (SC).

[5]  S. Sitharama Iyengar,et al.  Introduction to parallel algorithms , 1998, Wiley series on parallel and distributed computing.

[6]  John D. Owens,et al.  Gunrock: a high-performance graph processing library on the GPU , 2015, PPoPP.

[7]  Guy E. Blelloch,et al.  Ligra: a lightweight graph processing framework for shared memory , 2013, PPoPP '13.

[8]  Kishore Kothapalli,et al.  Efficient Multicore Algorithms For Identifying Biconnected Components , 2016, Int. J. Netw. Comput..

[9]  Alan M. Frieze,et al.  Random graphs , 2006, SODA '06.

[10]  David A. Bader,et al.  Fast Execution of Simultaneous Breadth-First Searches on Sparse Graphs , 2015, 2015 IEEE 21st International Conference on Parallel and Distributed Systems (ICPADS).

[11]  Jared Hoberock,et al.  Edge v. Node Parallelism for Graph Centrality Metrics , 2012 .

[12]  David A. Bader,et al.  Using PRAM Algorithms on a Uniform-Memory-Access Shared-Memory Architecture , 2001, WAE.

[13]  David A. Bader,et al.  An experimental study of parallel biconnected components algorithms on symmetric multiprocessors (SMPs) , 2005, 19th IEEE International Parallel and Distributed Processing Symposium.

[14]  Shou-De Lin,et al.  What Can the Temporal Social Behavior Tell Us? An Estimation of Vertex-Betweenness Using Dynamic Social Information , 2010, 2010 International Conference on Advances in Social Networks Analysis and Mining.

[15]  David A. Bader,et al.  Scalable and High Performance Betweenness Centrality on the GPU , 2014, SC14: International Conference for High Performance Computing, Networking, Storage and Analysis.

[16]  Béla Bollobás,et al.  Random Graphs: Notation , 2001 .

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

[18]  Da Qi Ren,et al.  Algorithm level power efficiency optimization for CPU-GPU processing element in data intensive SIMD/SPMD computing , 2011, J. Parallel Distributed Comput..

[19]  Ulrik Brandes,et al.  Heuristics for Speeding Up Betweenness Centrality Computation , 2012, 2012 International Conference on Privacy, Security, Risk and Trust and 2012 International Confernece on Social Computing.

[20]  Vipin Kumar,et al.  A Fast and High Quality Multilevel Scheme for Partitioning Irregular Graphs , 1998, SIAM J. Sci. Comput..

[21]  P. J. Narayanan,et al.  Some GPU Algorithms for Graph Connected Components and Spanning Tree , 2010, Parallel Process. Lett..

[22]  Ümit V. Çatalyürek,et al.  Shattering and Compressing Networks for Betweenness Centrality , 2013, SDM.

[23]  Pradeep Dubey,et al.  Fast and Efficient Graph Traversal Algorithm for CPUs: Maximizing Single-Node Efficiency , 2012, 2012 IEEE 26th International Parallel and Distributed Processing Symposium.

[24]  Dominique Lavenier,et al.  Efficient Multi-GPU Computation of All-Pairs Shortest Paths , 2014, 2014 IEEE 28th International Parallel and Distributed Processing Symposium.

[25]  David A. Bader,et al.  GTgraph : A Synthetic Graph Generator Suite , 2006 .

[26]  Vijaya Ramachandran Parallel Open Ear Decomposition with Applications to Graph Biconnectivity and Triconnectivity , 1993 .

[27]  Timothy A. Davis,et al.  The university of Florida sparse matrix collection , 2011, TOMS.

[28]  Ümit V. Çatalyürek,et al.  Betweenness centrality on GPUs and heterogeneous architectures , 2013, GPGPU@ASPLOS.

[29]  Kishore Kothapalli,et al.  Work efficient parallel algorithms for large graph exploration , 2013, 20th Annual International Conference on High Performance Computing.

[30]  Bing Zhang,et al.  Fast network centrality analysis using GPUs , 2011, BMC Bioinformatics.

[31]  Andrew S. Grimshaw,et al.  Scalable GPU graph traversal , 2012, PPoPP '12.

[32]  Xin-She Yang,et al.  Introduction to Algorithms , 2021, Nature-Inspired Optimization Algorithms.