An experimental study of parallel biconnected components algorithms on symmetric multiprocessors (SMPs)

We present an experimental study of parallel biconnected components algorithms employing several fundamental parallel primitives, e.g., prefix sum, list ranking, sorting, connectivity, spanning tree, and tree computations. Previous experimental studies of these primitives demonstrate reasonable parallel speedups. However, when these algorithms are used as subroutines to solve higher-level problems, there are two factors that hinder fast parallel implementations. One is parallel overhead, i.e., the large constant factors hidden in the asymptotic bounds; the other is the discrepancy among the data structures used in the primitives that brings non-negligible conversion cost. We present various optimization techniques and a new parallel algorithm that significantly improve the performance of finding biconnected components of a graph on symmetric multiprocessors (SMPs). Finding biconnected components has application in fault-tolerant network design, and is also used in graph planarity testing. Our parallel implementation achieves speedups up to 4 using 12 processors on a Sun E4500 for large, sparse graphs, and the source code is freely-available at our Web site.

[1]  Joseph JáJá,et al.  Prefix computations on symmetric multiprocessors , 1999, Proceedings 13th International Parallel Processing Symposium and 10th Symposium on Parallel and Distributed Processing. IPPS/SPDP 1999.

[2]  Tak Wah Lam,et al.  Approximating biconnectivity in parallel , 1995, SPAA '95.

[3]  E. Palmer Graphical evolution: an introduction to the theory of random graphs , 1985 .

[4]  Joseph JáJá,et al.  Fast, Efficient Parallel Algorithms for Some Graph Problems , 1981, SIAM J. Comput..

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

[6]  Baruch Awerbuch,et al.  New Connectivity and MSF Algorithms for Shuffle-Exchange Network and PRAM , 1987, IEEE Transactions on Computers.

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

[8]  David A. Bader,et al.  The Euler tour technique and parallel rooted spanning tree , 2004, International Conference on Parallel Processing, 2004. ICPP 2004..

[9]  Uzi Vishkin,et al.  An O(log n) Parallel Connectivity Algorithm , 1982, J. Algorithms.

[10]  Tsan-sheng Hsu,et al.  Finding a Smallest Augmentation to Biconnect a Graph , 1993, SIAM J. Comput..

[11]  Jie Wu Dimension-Exchange-Based Load Balancing on Injured Hypercubes , 1994, ICPP.

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

[13]  Sartaj Sahni,et al.  Load balancing on a hypercube , 1991, [1991] Proceedings. The Fifth International Parallel Processing Symposium.

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

[15]  David A. Bader,et al.  A fast, parallel spanning tree algorithm for symmetric multiprocessors , 2004, 18th International Parallel and Distributed Processing Symposium, 2004. Proceedings..

[16]  Y. Mukaigawa,et al.  Large Deviations Estimates for Some Non-local Equations I. Fast Decaying Kernels and Explicit Bounds , 2022 .

[17]  Joseph JáJá,et al.  Designing Practical Efficient Algorithms for Symmetric Multiprocessors , 1999, ALENEX.

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

[19]  Jan van Leeuwen,et al.  Worst-case Analysis of Set Union Algorithms , 1984, JACM.

[20]  David A. Bader,et al.  A fast, parallel spanning tree algorithm for symmetric multiprocessors , 2004, 18th International Parallel and Distributed Processing Symposium, 2004. Proceedings..

[21]  David A. Bader,et al.  Fast shared-memory algorithms for computing the minimum spanning forest of sparse graphs , 2004, 18th International Parallel and Distributed Processing Symposium, 2004. Proceedings..

[22]  David A. Bader,et al.  Evaluating Arithmetic Expressions Using Tree Contraction: A Fast and Scalable Parallel Implementation for Symmetric Multiprocessors (SMPs) (Extended Abstract) , 2002, HiPC.

[23]  Dilip V. Sarwate,et al.  Computing connected components on parallel computers , 1979, CACM.

[24]  S. Lakshmivarahan,et al.  Efficient parallel algorithms for finding biconnected components of some intersection graphs , 1991, CSC '91.

[25]  Samir Khuller,et al.  Biconnectivity approximations and graph carvings , 1992, STOC '92.

[26]  Tsan-sheng Hsu,et al.  On Finding a Smallest Augmentation to Biconnect a Graph , 1991, ISA.

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