Efficient parallel algorithms for some graph problems

We study parallel algorithms for a number of graph problems, using the Single Instruction Stream-Multiple Data Stream model. We assume that the processors have access to a common memory and that no memory or data alignment time penalties are incurred. We derive a general time bound for a parallel algorithm that uses <italic>K</italic> processors for finding the connected components of an undirected graph. In particular, an <italic>O</italic>(log<supscrpt>2</supscrpt> <italic>n</italic>) time bound can be achieved using only <italic>K</italic> = <italic>n</italic>⌈<italic>n</italic>/log<supscrpt>2</supscrpt> <italic>n</italic>⌉ processors. This result is optimal in the sense that the speedup ratio is linear with the number of processors used. The algorithm can also be modified to solve a whole class of graph problems with the same time bound and fewer processors than previous parallel methods.

[1]  Harold S. Stone,et al.  An Efficient Parallel Algorithm for the Solution of a Tridiagonal Linear System of Equations , 1973, JACM.

[2]  J. Ian Munro,et al.  Optimal Algorithms for Parallel Polynomial Evaluation , 1971, J. Comput. Syst. Sci..

[3]  Franco P. Preparata,et al.  New Parallel-Sorting Schemes , 1978, IEEE Transactions on Computers.

[4]  Michael J. Flynn,et al.  Some Computer Organizations and Their Effectiveness , 1972, IEEE Transactions on Computers.

[5]  C. Savage Parallel Algorithms for Graph Theoretic Problems , 1977 .

[6]  Leslie Michael Goldschlager,et al.  Synchronous parallel computation. , 1978 .

[7]  Daniel S. Hirschberg,et al.  Parallel algorithms for the transitive closure and the connected component problems , 1976, STOC '76.

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

[9]  Daniel S. Hirschberg Fast parallel sorting algorithms , 1978, CACM.

[10]  Derek G. Corneil,et al.  Parallel computations in graph theory , 1975, 16th Annual Symposium on Foundations of Computer Science (sfcs 1975).

[11]  Karl N. Levitt,et al.  Cellular arrays for the solution of graph problems , 1972, Commun. ACM.

[12]  H. T. Kung,et al.  Sorting on a mesh-connected parallel computer , 1977, CACM.

[13]  H. T. Kung,et al.  Parallel Algorithms for Solving Triangular Linear Systems with Small Parallelism , 1974 .

[14]  Gérard M. Baudet,et al.  Optimal Sorting Algorithms for Parallel Computers , 1978, IEEE Transactions on Computers.

[15]  David J. Kuck,et al.  A Survey of Parallel Machine Organization and Programming , 1977, CSUR.

[16]  D. Heller A Survey of Parallel Algorithms in Numerical Linear Algebra. , 1978 .

[17]  Joseph F. Traub Complexity of Sequential and Parallel Numerical Algorithms , 1973 .

[18]  Bently A. Crane Path Finding with Associative Memory , 1968, IEEE Transactions on Computers.

[19]  Denise Marie Eckstein Parallel graph processing using depth-first search and breadth-first search. , 1977 .

[20]  Claude Berge,et al.  Programming, games and transportation networks , 1966 .