Routing, merging and sorting on parallel models of computation

A variety of models have been proposed for the study of synchronous parallel computation. We review these models and study further some prototype problems. We distinguish two classes of models, fixed connection networks and models based on a shared memory. Routing is the prototype problem for the networks. In particular, routing provides the basis for simulating the more powerful shared memory models. We show that a simple but important class of deterministic strategies (oblivious routing) is necessarily inefficient with respect to worst case analysis. Routing can be viewed as a special case of sorting and the existence of a deterministic O(logn) routing or sorting algorithm for an n processor fixed connection network remains open. However, if we consider the more powerful class of shared memory models, we are -&-ldquo;almost-&-rdquo; able to achieve such an efficient sort via Valiant's parallel merging algorithm. Within a spectrum of models, we show that log log n - log log r is asymptotically optimal for rn processors to merge two sorted lists of n elements.

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

[2]  Harold S. Stone,et al.  Parallel Processing with the Perfect Shuffle , 1971, IEEE Transactions on Computers.

[3]  Donald E. Knuth,et al.  The art of computer programming: sorting and searching (volume 3) , 1973 .

[4]  Donald E. Knuth,et al.  The Art of Computer Programming, Vol. 3: Sorting and Searching , 1974 .

[5]  Leslie G. Valiant,et al.  Parallelism in Comparison Problems , 1975, SIAM J. Comput..

[6]  Leslie M. Goldschlager,et al.  A unified approach to models of synchronous parallel machines , 1978, STOC.

[7]  Steven Fortune,et al.  Parallelism in random access machines , 1978, STOC.

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

[9]  Franco P. Preparata,et al.  The cube-connected-cycles: A versatile network for parallel computation , 1979, 20th Annual Symposium on Foundations of Computer Science (sfcs 1979).

[10]  Stephen A. Cook,et al.  Hardware complexity and parallel computation , 1980, 21st Annual Symposium on Foundations of Computer Science (sfcs 1980).

[11]  Pavol Hell,et al.  Parallel Sorting with Constant Time for Comparisons , 1981, SIAM J. Comput..

[12]  Uzi Vishkin,et al.  Finding the maximum, merging and sorting in a parallel computation model , 1981, CONPAR.

[13]  Uzi Vishkin,et al.  Finding the Maximum, Merging, and Sorting in a Parallel Computation Model , 1981, J. Algorithms.

[14]  Leslie G. Valiant,et al.  Universal schemes for parallel communication , 1981, STOC '81.

[15]  Michael Sipser,et al.  Parity, circuits, and the polynomial-time hierarchy , 1981, 22nd Annual Symposium on Foundations of Computer Science (sfcs 1981).

[16]  Leslie G. Valiant,et al.  A fast parallel algorithm for routing in permutation networks , 1981, IEEE Transactions on Computers.

[17]  A logarithmic time sort for linear size networks , 1982, STOC 1983.

[18]  R. Häggkvist,et al.  Sorting and Merging in Rounds , 1982 .

[19]  Efficient schemes for parallel communication , 1982, PODC '82.

[20]  Stephen A. Cook,et al.  Bounds on the time for parallel RAM's to compute simple functions , 1982, STOC '82.

[21]  Uzi Vishkin,et al.  A complexity theory for unbounded fan-in parallelism , 1982, FOCS 1982.

[22]  Uzi Vishkin,et al.  A complexity theory for unbounded fan-in parallelism , 1982, 23rd Annual Symposium on Foundations of Computer Science (sfcs 1982).

[23]  Z. Galil,et al.  An Efficient General-Purpose Parallel Computer , 1983, JACM.

[24]  Larry Rudolph,et al.  Basic Techniques for the Efficient Coordination of Very Large Numbers of Cooperating Sequential Processors , 1983, TOPL.

[25]  Clyde P. Kruskal,et al.  Searching, Merging, and Sorting in Parallel Computation , 1983, IEEE Transactions on Computers.

[26]  Uzi Vishkin,et al.  Simulation of Parallel Random Access Machines by Circuits , 1984, SIAM J. Comput..