Communication-efficient parallel algorithms for distributed random-access machines

This paper introduces a model for parallel computation, called thedistributed randomaccess machine (DRAM), in which the communication requirements of parallel algorithms can be evaluated. A DRAM is an abstraction of a parallel computer in which memory accesses are implemented by routing messages through a communication network. A DRAM explicitly models the congestion of messages across cuts of the network.We introduce the notion of aconservative algorithm as one whose communication requirements at each step can be bounded by the congestion of pointers of the input data structure across cuts of a DRAM. We give a simple lemma that shows how to “shortcut” pointers in a data structure so that remote processors can communicate without causing undue congestion. We giveO(lgn)-step, linear-processor, linear-space, conservative algorithms for a variety of problems onn-node trees, such as computing treewalk numberings, finding the separator of a tree, and evaluating all subexpressions in an expression tree. We giveO(lg2n)-step, linear-processor, linear-space, conservative algorithms for problems on graphs of sizen, including finding a minimum-cost spanning forest, computing biconnected components, and constructing an Eulerian cycle. Most of these algorithms use as a subroutine a generalization of the prefix computation to trees. We show that any suchtreefix computation can be performed inO(lgn) steps using a conservative variant of Miller and Reif's tree-contraction technique.

[1]  H. T. Kung,et al.  A Regular Layout for Parallel Adders , 1982, IEEE Transactions on Computers.

[2]  H. T. Kung,et al.  Systolic Arrays for (VLSI). , 1978 .

[3]  Frank Thomson Leighton,et al.  A Framework for Solving VLSI Graph Layout Problems , 1983, J. Comput. Syst. Sci..

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

[5]  R. Tarjan,et al.  A Separator Theorem for Planar Graphs , 1977 .

[6]  Arnold L. Rosenberg,et al.  Three-Dimensional Circuit Layouts , 1984, SIAM J. Comput..

[7]  Gary L. Miller,et al.  Parallel tree contraction and its application , 1985, 26th Annual Symposium on Foundations of Computer Science (sfcs 1985).

[8]  Charles E. Leiserson,et al.  Area-Efficient VLSI Computation , 1983 .

[9]  H. Chernoff A Measure of Asymptotic Efficiency for Tests of a Hypothesis Based on the sum of Observations , 1952 .

[10]  Eli Upfal,et al.  Parallel hashing: an efficient implementation of shared memory , 1988, JACM.

[11]  Gregory F. Pfister,et al.  “Hot spot” contention and combining in multistage interconnection networks , 1985, IEEE Transactions on Computers.

[12]  Yuri Petrovich Ofman,et al.  On the Algorithmic Complexity of Discrete Functions , 1962 .

[13]  Donald Ervin Knuth,et al.  The Art of Computer Programming , 1968 .

[14]  Robert E. Tarjan,et al.  Finding Biconnected Components and Computing Tree Functions in Logarithmic Parallel Time (Extended Summary) , 1984, FOCS.

[15]  Charles E. Leiserson,et al.  Randomized Routing on Fat-Trees , 1989, Adv. Comput. Res..

[16]  Andrew V. Goldberg,et al.  A new approach to the maximum flow problem , 1986, STOC '86.

[17]  C. Thomborson,et al.  A Complexity Theory for VLSI , 1980 .

[18]  Richard P. Brent,et al.  The Parallel Evaluation of General Arithmetic Expressions , 1974, JACM.

[19]  Robert E. Tarjan,et al.  Data structures and network algorithms , 1983, CBMS-NSF regional conference series in applied mathematics.

[20]  Leslie G. Valiant,et al.  A Scheme for Fast Parallel Communication , 1982, SIAM J. Comput..

[21]  A. Tanenbaum Computer recreations , 1973 .

[22]  Richard Cole,et al.  Deterministic coin tossing and accelerating cascades: micro and macro techniques for designing parallel algorithms , 1986, STOC '86.

[23]  Bruce M. Maggs,et al.  Communication-Efficient Parallel Graph Algorithms , 1986, ICPP.

[24]  Bruce M. Maggs Locality in parallel computation , 1989 .

[25]  Charles E. Leiserson,et al.  How to assemble tree machines , 1984 .

[26]  Charles E. Leiserson,et al.  Fat-trees: Universal networks for hardware-efficient supercomputing , 1985, IEEE Transactions on Computers.

[27]  James Christopher Wyllie,et al.  The Complexity of Parallel Computations , 1979 .

[28]  Dexter Kozen The Planar Separator Theorem , 1992 .

[29]  Andrew V. Goldberg,et al.  Solving minimum-cost flow problems by successive approximation , 1987, STOC.

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

[31]  W. Daniel Hillis,et al.  Data parallel algorithms , 1986, CACM.