Connected components in O(lg3/2|V|) parallel time for the CREW PRAM (extended abstract)
SFCS '91 Proceedings of the 32nd annual symposium on Foundations of computer science
A comparison of parallel algorithms for connected components
SPAA '94 Proceedings of the sixth annual ACM symposium on Parallel algorithms and architectures
Finding connected components in O(log n log log n) time on the EREW PRAM
SODA '93 Selected papers from the fourth annual ACM SIAM symposium on Discrete algorithms
Parallel algorithms for image histogramming and connected components with an experimental study
Journal of Parallel and Distributed Computing
Data-parallel mesh connected components labeling and analysis
EG PGV'11 Proceedings of the 11th Eurographics conference on Parallel Graphics and Visualization
CC-MR --- finding connected components in huge graphs with mapreduce
ECML PKDD'12 Proceedings of the 2012 European conference on Machine Learning and Knowledge Discovery in Databases - Volume Part I
Hi-index | 0.00 |
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.