Efficient Multicore Algorithms For Identifying Biconnected Components

In this paper we design and implement an algorithm for finding the biconnected components of a given graph. Our algorithm is based on experimental evidence that finding the bridges of a graph is usually easier and faster in the parallel setting. We use this property to first decompose the graph into independent and maximal 2-edge-connected subgraphs. To identify the articulation points in these 2-edge connected subgraphs, we again convert this into a problem of finding the bridges on an auxiliary graph. It is interesting to note that during the conversion process, the size of the graph may increase. However, we show that this small increase in size and the run time is offset by the consideration that finding bridges is easier in a parallel setting. We implement our algorithm on an Intel i7 980X CPU running 12 threads. We show that our algorithm is on average 2.45x faster than the best known current algorithms implemented on the same platform. Finally, we extend our approach to dense graphs by applying the sparsification technique suggested by Cong and Bader in [7].Â

[1]  Paul G. Spirakis,et al.  K-connectivity in Random Undirected Graphs , 1985, Discret. Math..

[2]  Yung H. Tsin,et al.  Efficient Parallel Algorithms for a Class of Graph Theoretic Problems , 1984, SIAM J. Comput..

[3]  P. J. Narayanan,et al.  Discrete range searching primitive for the GPU and its applications , 2012, JEAL.

[4]  Christos Faloutsos,et al.  Graph evolution: Densification and shrinking diameters , 2006, TKDD.

[5]  Robert E. Tarjan,et al.  An Efficient Parallel Biconnectivity Algorithm , 2011, SIAM J. Comput..

[6]  Robert E. Tarjan,et al.  Depth-First Search and Linear Graph Algorithms , 1972, SIAM J. Comput..

[7]  Uzi Vishkin,et al.  Better speedups using simpler parallel programming for graph connectivity and biconnectivity , 2012, PMAM '12.

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

[9]  Béla Bollobás,et al.  Random Graphs , 1985 .

[10]  Kamesh Madduri,et al.  Simple parallel biconnectivity algorithms for multicore platforms , 2014, 2014 21st International Conference on High Performance Computing (HiPC).

[11]  Kishore Kothapalli,et al.  Work efficient parallel algorithms for large graph exploration , 2013, HiPC.

[12]  Francis Y. L. Chin,et al.  Efficient parallel algorithms for some graph problems , 1982, CACM.

[13]  Samuel Williams,et al.  Optimization of sparse matrix-vector multiplication on emerging multicore platforms , 2007, Proceedings of the 2007 ACM/IEEE Conference on Supercomputing (SC '07).

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

[15]  Sivasankaran Rajamanickam,et al.  BFS and Coloring-Based Parallel Algorithms for Strongly Connected Components and Related Problems , 2014, 2014 IEEE 28th International Parallel and Distributed Processing Symposium.

[16]  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.