A comparison of parallel algorithms for connected components

This paper presents a comparison of the pragmatic aspects of some parallel algorithms for finding connected components, together with optimizations on these algorithms. The algorithms being compared are two similar algorithms by Shiloach-Vishkin [22] and Awerbuch-Shiloach [2], a randomized contraction algorithm based on algorithms by Reif [21] and Phillips [20], and a hybrid algorithm [11]. Improvements are given for the first two to improve performance significantly, although without improving their asymptotic complexity. The hybrid combines features of the others and is generally the fastest of those tested. Timings were made using NESL [4] code as executed on a Connection Machine 2 and Cray Y-MP/C90.

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

[2]  Guy E. Blelloch,et al.  Scans as Primitive Parallel Operations , 1989, ICPP.

[3]  V. Rich Personal communication , 1989, Nature.

[4]  Uzi Vishkin,et al.  An O(n² log n) Parallel MAX-FLOW Algorithm , 1982, J. Algorithms.

[5]  C. F. Baillie,et al.  Parallel cluster algorithms , 1991 .

[6]  Yijie Han,et al.  An efficient and fast parallel-connected component algorithm , 1990, JACM.

[7]  Guy E. Blelloch,et al.  Class Notes: Programming Parallel Algorithms CS 15-840B (Fall 1992) , 1993 .

[8]  Noam Nisan,et al.  Fast connected components algorithms for the EREW PRAM , 1992, SPAA '92.

[9]  John H Reif Optimal Parallel Algorithms for Interger Sorting and Graph Connectivity. , 1985 .

[10]  Donald B. Johnson,et al.  Connected components in O(lg/sup 3/2 mod V/ mod ) parallel time for the CREW PRAM , 1991, [1991] Proceedings 32nd Annual Symposium of Foundations of Computer Science.

[11]  Xue Dong Yang,et al.  Design of fast connected components hardware , 2011, Proceedings CVPR '88: The Computer Society Conference on Computer Vision and Pattern Recognition.

[12]  Xue Dong Yang,et al.  An Improved Algorithm for Labeling Connected Components in a Binary Image , 1989 .

[13]  Guy E. Blelloch,et al.  NESL: A Nested Data-Parallel Language , 1992 .

[14]  Hidetoshi Mino,et al.  A vectorized algorithm for cluster formation in the Swendsen-Wang dynamics , 1991 .

[15]  John Greiner,et al.  AD-A 270 551 A Comparison of Data-Parallel Algorithms for Connected Components , 1994 .

[16]  Guy E. Blelloch,et al.  Vector Models for Data-Parallel Computing , 1990 .

[17]  Tak Wah Lam,et al.  Finding connected components in O(log n loglog n) time on the EREW PRAM , 1993, SODA '93.

[18]  I. V. Ramakrishnan,et al.  An Efficient Connected Components Algorithm on a Mesh-Connected Computer , 1985, ICPP.

[19]  Hans Gerd Evertz Vectorized Cluster Search , 1992 .

[20]  Ajit Agrawal,et al.  A Parallel O(log N) Algorithm for Finding Connected Components In Planar Images , 1987, ICPP.

[21]  Susanne E. Hambrusch,et al.  A Study of Connected Component Labeling Algorithms on the MPP , 1988 .

[22]  Wang,et al.  Nonuniversal critical dynamics in Monte Carlo simulations. , 1987, Physical review letters.

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

[24]  Hillel Gazit,et al.  An optimal randomized parallel algorithm for finding connected components in a graph , 1986, 27th Annual Symposium on Foundations of Computer Science (sfcs 1986).

[25]  Guy E. Blelloch,et al.  NESL: A Nested Data-Parallel Language (Version 2.6) , 1993 .

[26]  C. A. Philips,et al.  Parallel graph contraction , 1989, SPAA '89.

[27]  Torben Hagerup Optimal Parallel Algorithms on Planar Graphs , 1990, Inf. Comput..