Abstract

Abstract 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.

Highlights

  • There are many problens where we need to answer reachability questions

  • We present a parallel algorithm to compute the transitive closure of a digraph using the BSP/CGM model with p processors each with n2/ p local memory

  • We present a elaborated example where the algorithm uses more than O(log p) communication rounds to solve the transitive closure problem

Read more

Summary

Introduction

There are many problens where we need to answer reachability questions. That is, can one get from city A to city D in one or more roads? The computation of the transitive closure of a directed graph can solve the above problem and it is fundamental to the solution of several other problems, such as shortest path and ancestor relationship problems. J Braz Comput Soc (2013) 19:161–166 computation of transitive closures can be done asymptotically faster by matrix multiplication techniques Parallel algorithms for this problem have been presented for PRAM [11,13], for arrays, trees and meshes of trees [15], for highly scalable multiprocessors [20,21], for BSP/CGM [5,7,20], and for other architectures [2,8,12,14,16,17]. We present a parallel algorithm to compute the transitive closure of a digraph using the BSP/CGM model with p processors each with n2/ p local memory. If the input graph is an acyclic digraph with its vertices labeled with a so-called linear extension our algorithm requires log p + 1 communication rounds and uses O(n3/ p) local computation. We present a elaborated example where the algorithm uses more than O(log p) communication rounds to solve the transitive closure problem. In the BSP/CGM model, the communication cost is modeled by the number of communication rounds, which we wish to minimize

The parallel algorithm for transitive closure
Experimental results of Algorithm 3
Conclusion
Full Text
Paper version not known

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call

Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.