Abstract
Finding connected components (CC) of an undirected graph is a fundamental computational problem. Various CC algorithms exist for PRAM models. An implementation of a PRAM CC algorithm on a coarse-grain MIMD machine with distributed memory brings many problems, since the communication overhead is substantial compared to the local computation. Several implementations of CC algorithms on distributed memory machines have been described in the literature, all in Split-C. We have designed and implemented a CC algorithm in C++ and MPI, by combining the ideas of the previous PRAM and distributed memory algorithms. Our main optimization is based on replacing the conditional hooking by rules for reducing nontrivial cycles during the contraction of components. We have also implemented a method for reducing the number of exchanged messages which is based on buffering messages and on deferred processing of answers.
This research has been supported by MSMT Czech Republic under research program #J04/98:2123000
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
D. Bader and J. JáJá. Parallel algorithms for image histogramming and connected components with an experimental study. Journal of Parallel and Distributed Computing, 35(2):173–190, 1996.
K. W. Chong and T. W. Lam. Finding connected components in O(lognloglogn) time on the EREW PRAM. In SODA: ACM-SIAM Symposium on Discrete Algorithms, 1993.
J. Greiner. A comparison of data-parallel algorithms for connected components. In Proceedings of SPAA, pages 16–25, June 94.
T. S. Hsu, V. Ramachandran, and N. Dean. Parallel implementation of algorithms for finding connected components. In Proceedings of the 3rd Annual DIMACS Challenge, 1995.
D. B. Johnson and P. Metaxas. Connected components in O(log3/2 n) parallel time for the CREW PRAM. In 32nd FOCS, pages 688–697, 1991. PCS-TR91-160.
A. Krishnamurthy, S. Lumetta, D. Culler, and K. Yelick. Connected components on distributed memory machines. In Proceedings of the 3rd Annual DIMACS Challenge, 1995.
Y. Shiloach and U. Vishkin. An O(logn) parallel connectivity algorithm. Journal of Algorithms, 3(1):57–67, March 1982.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2001 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Buš, L., Tvrdík, P. (2001). A Parallel Algorithm for Connected Components on Distributed Memory Machines. In: Cotronis, Y., Dongarra, J. (eds) Recent Advances in Parallel Virtual Machine and Message Passing Interface. EuroPVM/MPI 2001. Lecture Notes in Computer Science, vol 2131. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-45417-9_39
Download citation
DOI: https://doi.org/10.1007/3-540-45417-9_39
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-42609-7
Online ISBN: 978-3-540-45417-5
eBook Packages: Springer Book Archive