Parallel graph algorithms for hypercube computers

Abstract This paper presents several parallel algorithms on unweighted graphs for hypercube computers. The algorithms are for checking bipartiteness and for finding a spanning forest, the connected components, a fundamental cycle set, and the bridges of a graph. The algorithm for finding spanning forest is based on a strategy of successive elimination of non-forest edges. The input graph is partitioned equally among processors, which repeatedly eliminate non-forest edges and merge their results to finally construct the desired forest of the entire graph. In all the algorithms, low communication overhead is achieved by restricting the message-flow to only between the neighboring processors. The spanning-forest algorithm is used as a subroutine to design the remaining algortihms. Except for the bridge-finding algorithm, all others achieve optimal speedups for dense as well as sparse graphs, and each algorithm is optimally scalable up to a large number of processors depending upon the density of the input graph. For a graph of n vertices and m edges, the time complexity of the spanning-forest algorithm, using p processors, is O( m / p + n log p ), which corresponds to an optimal speedup for p ⩽( m / n )/(1+log( m / n )).

[1]  Ellis Horowitz,et al.  Fundamentals of Computer Algorithms , 1978 .

[2]  R. Prim Shortest connection networks and some generalizations , 1957 .

[3]  Robert E. Tarjan,et al.  A Note on Finding the Bridges of a Graph , 1974, Inf. Process. Lett..

[4]  Ming-Deh A. Huang Solving some graph problems with optimal or near-optimal speedup on mesh-of-trees networks , 1985, 26th Annual Symposium on Foundations of Computer Science (sfcs 1985).

[5]  KSHITIJ A. DOSHI,et al.  Optimal Graph Algorithms on a Fixed-Size Linear Array , 1987, IEEE Transactions on Computers.

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

[7]  J. Kruskal On the shortest spanning subtree of a graph and the traveling salesman problem , 1956 .

[8]  D. Y. Yeh Finding fundamental cycles and bridges on a tree-structured parallel computer , 1986, Inf. Sci..

[9]  Robert E. Tarjan,et al.  Efficiency of a Good But Not Linear Set Union Algorithm , 1972, JACM.

[10]  Quentin F. Stout Tree-Based Graph Algorithms for Some Parallel Computers , 1985, ICPP.

[11]  Jon Louis Bentley,et al.  A Parallel Algorithm for Constructing Minimum Spanning Trees , 1980, J. Algorithms.

[12]  Michael J. Quinn,et al.  Designing Efficient Algorithms for Parallel Computers , 1987 .

[13]  Mikhail J. Atallah,et al.  Graph Problems on a Mesh-Connected Processor Array , 1984, JACM.

[14]  Sartaj Sahni,et al.  All Pairs Shortest Paths on a Hypercube Multiprocessor , 1987, ICPP.

[15]  S. N. Maheshwari,et al.  Parallel Algorithms for the Connected Components and Minimal Spanning Tree Problems , 1982, Inf. Process. Lett..

[16]  Sartaj Sahni,et al.  Finding Connected Components and Connected Ones on a Mesh-Connected Parallel Computer , 1980, SIAM J. Comput..

[17]  Sajal K. Das,et al.  Notes on 'divide-and-conquer-based optimal parallel algorithms for some graph problems on EREW PRAM model' , 1988 .

[18]  W. Daniel Hillis,et al.  The connection machine , 1985 .

[19]  Russ Miller,et al.  Data Movement Techniques for the Pyramid Computer , 1987, SIAM J. Comput..

[20]  Baruch Awerbuch,et al.  New Connectivity and MSF Algorithms for Shuffle-Exchange Network and PRAM , 1987, IEEE Transactions on Computers.

[21]  E. Reingold,et al.  Combinatorial Algorithms: Theory and Practice , 1977 .

[22]  John P. Hayes,et al.  Architecture of a Hypercube Supercomputer , 1986, ICPP.

[23]  Derek G. Corneil,et al.  An n² Algorithm for Determining the Bridges of a Graph , 1971, Inf. Process. Lett..

[24]  Sartaj Sahni,et al.  Parallel Matrix and Graph Algorithms , 1981, SIAM J. Comput..

[25]  Charles L. Seitz,et al.  The cosmic cube , 1985, CACM.

[26]  Edsger W. Dijkstra,et al.  A note on two problems in connexion with graphs , 1959, Numerische Mathematik.

[27]  Robert E. Tarjan,et al.  Depth-First Search and Linear Graph Algorithms , 1972, SIAM J. Comput..

[28]  Roy M. Jenevein,et al.  Scaleability of a Binary Tree on a Hypercube , 1986, ICPP.

[29]  Michael J. Quinn,et al.  Parallel graph algorithms , 1984, CSUR.

[30]  D. T. Lee,et al.  Graph algorithms on a tree-structured parallel computer , 1984, BIT Comput. Sci. Sect..