Parallel transitive closure algorithm

Using the BSP/CGM model, with $$p$$ processors, where $$p \ll n$$, we present a parallel algorithm to compute the transitive closure of a digraph $$D$$ with $$n$$ vertices and $$m$$ edges. Our algorithm uses $$\log p + 1$$ communication rounds if the input is an acyclic directed graph labeled using a linear extension. For general digraphs, the algorithm requires $$p$$ communication rounds in the worst case. In both cases, $$O(M/p)$$ local computation is performed per round, where $$M$$ is the amount of computation needed to compute a sequential transitive closure of a digraph. The presented algorithm can be implemented using any sequential algorithm that computes the transitive closure of a digraph $$D$$. We have implemented the algorithm using the Warshall transitive closure algorithm on two Beowulf clusters using MPI. The implementation results show its efficiency and scalability. It also compares favorably with other parallel implementations. The worst case (communication rounds) for a digraph was derived through an artificially elaborated example. However, in all our test cases, the algorithm never requires more than $$\log p + 1$$ communication rounds and presents very promising implementation results. The algorithm also can be applied to any $$n \times n$$ matrix that represents a binary relation.

[1]  F. Leighton,et al.  Introduction to Parallel Algorithms and Architectures: Arrays, Trees, Hypercubes , 1991 .

[2]  P. J. Narayanan,et al.  Accelerating Large Graph Algorithms on the GPU Using CUDA , 2007, HiPC.

[3]  Edson Cáceres,et al.  BSP / CGM Algorithms for the Transitive Closure Problem , 2007 .

[4]  J. Van Leeuwen,et al.  Handbook of theoretical computer science - Part A: Algorithms and complexity; Part B: Formal models and semantics , 1990 .

[5]  Jayme Luiz Szwarcfiter,et al.  Efficient Parallel Implementation of Transitive Closure of Digraphs , 2003, PVM/MPI.

[6]  Wojciech Rytter,et al.  PVM Computation of the Transitive Closure: The Dependency Graph Approach , 2001, PVM/MPI.

[7]  Wojciech Rytter,et al.  Coarse-Grained Parallel Transitive Closure Algorithm: Path Decomposition Technique , 2003, Comput. J..

[8]  Stephen Warshall,et al.  A Theorem on Boolean Matrices , 1962, JACM.

[9]  Alexander Tiskin,et al.  All-Pairs Shortest Paths Computation in the BSP Model , 2001, ICALP.

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

[11]  Joseph T. Kider,et al.  All-pairs shortest-paths for large graphs on the GPU , 2008, GH '08.

[12]  Carl A. Gunter,et al.  In handbook of theoretical computer science , 1990 .

[13]  Wojciech Rytter,et al.  Observations on Parallel Computation of Transitive and Max-Closure Problems , 2002, PVM/MPI.

[14]  Jean-Xavier Rampon,et al.  On the calculation of transitive reduction - closure of orders , 1993, Discret. Math..

[15]  Klaus Simon,et al.  An Improved Algorithm for Transitive Closure on Acyclic Digraphs , 1986, Theor. Comput. Sci..

[16]  Uday Bondhugula,et al.  Parallel FPGA-based all-pairs shortest-paths in a directed graph , 2006, Proceedings 20th IEEE International Parallel & Distributed Processing Symposium.

[17]  John R. Gilbert,et al.  Solving path problems on the GPU , 2010, Parallel Comput..

[18]  Sartaj Sahni,et al.  All Pairs Shortest Paths on a Hypercube Multiprocessor , 1987, ICPP.

[19]  Leslie G. Valiant,et al.  A bridging model for parallel computation , 1990, CACM.

[20]  Jayme Luiz Szwarcfiter,et al.  A Parallel Algorithm for Transitive Closure , 2002, IASTED PDCS.

[21]  George Karypis,et al.  Introduction to Parallel Computing , 1994 .

[22]  Sajal K. Das,et al.  Book Review: Introduction to Parallel Algorithms and Architectures : Arrays, Trees, Hypercubes by F. T. Leighton (Morgan Kauffman Pub, 1992) , 1992, SIGA.