How to emulate shared memory (Preliminary Version)

We present a simple algorithm for emulating an N processor CRCW PRAM on an N node butterfly. Each step of the PRAM is emulated in time O(log N) with high probability, using FIFO queues of size O(1) at each node. The only use of randomization is in selecting a hash function to distribute the shared address space of the PRAM onto the nodes of the butterfly. The routing itself is both deterministic and oblivious, and messages are combined without the use of associative memories or explicit sorting. As a corollary we improve the result of Pippenger [8] by routing permutations with bounded queues in logarithmic time, without the possibility of deadlock. Besides being optimal, our algorithm has the advantage of extreme simplicity and is readily suited for use in practice.

[1]  Allan Gottlieb,et al.  COORDINATING LARGE NUMBERS OF PROCESSORS. , 1981 .

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

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

[4]  Allan Borodin,et al.  Routing, merging and sorting on parallel models of computation , 1982, STOC '82.

[5]  Romas Aleliunas,et al.  Randomized parallel communication (Preliminary Version) , 1982, PODC '82.

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

[7]  Nicholas Pippenger,et al.  Parallel Communication with Limited Buffers (Preliminary Version) , 1984, FOCS.

[8]  Eli Upfal,et al.  A probabilistic relation between desirable and feasible, models of parallel computation , 1984, STOC '84.

[9]  Eli Upfal,et al.  How to Share Memory in a Distributed System (A Preliminary Version) , 1984, FOCS.

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

[11]  Debasis Mitra,et al.  Randomized Parallel Communications , 1986, ICPP.

[12]  Anna R. Karlin,et al.  Parallel hashing—an efficient implementation of shared memory , 1986, STOC '86.

[13]  Kurt Mehlhorn,et al.  Deterministic Simulation of Idealized Parallel Computers on More Realistic Ones , 1987, SIAM J. Comput..

[14]  Kurt Mehlhorn,et al.  Deterministic Simulation of Idealized Parallel Computers on More Realistic Ones , 1986, SIAM J. Comput..

[15]  Leslie G. Valiant,et al.  A logarithmic time sort for linear size networks , 1982, STOC.