Simple, efficient shared memory simulations

We present three shared memory simulations on distributed memory machines (D MMs), which use universal hashing to dietribute the shared memory cells over the memory modules of the DMM. We measure their quality in terms of delay, time-processor efficiency, memory contention (how many requests have to be satisfied by one memory module per simulated step) and simplicity. Further we take into consideration different rules for resolving access conflicts at the modules of the DMM, in particular the c-collision rule motivated by the idea of communicating between processors and modules using an optical crossbar. All simulations are very simple and deterministic (except for the random choice of the hash functions). In particular, we present the first “deterministic” time-processor optimal simulations with delay O(log n), both on Arbitrary DMMs and 2-collision DMMs. (These models are defined in the paper. ) The central idea for the latter simulation also yields a simple “deterministic” simulation of an n-processor PRAM on an n-processor 3-collision DMM with delay bounded by O(log log n) with high probability. For the time analysis of the simulations we utilize a new combinatorial lemma, which may be of independent interest. The lemma concerns events defined by properties of the color classes in random colorings of finite sets. Such events are not independent; the lemma shows that in an important special ● Supported in part by DFG-Forschergruppe “Effiziente Nutzung messiv paralleled Systeme, Tedprojekt 4“, by the Esprit Basic Research Action Nr. 7141 (ALCOM II), and by the Volkswagen Foundation Permission to copy without fee all or part of this material is granted provided that the copies are not made or distributed for diract commercial advantage, the ACM copyright notice and the titla of tha publication and its date appear, and notice is given that copying is by permission of the Association for Computing Machinery. To copy otherwise, or to republish, requires a fee and/or specific permission. ACM-SPAA’93-6/93 /Velen,Germany. @ 1993 ACM O-89791-599-2/~3/0006/01 10...$1.50 case such events are “negatively correlated”, and thus, for the pupose of upper bounds on certain probabilities, may be treated as if independent.

[1]  Friedhelm Meyer auf der Heide,et al.  Dynamic perfect hashing: upper and lower bounds , 1988, [Proceedings 1988] 29th Annual Symposium on Foundations of Computer Science.

[2]  Eli Upfal,et al.  Efficient schemes for parallel communication , 1982, PODC '82.

[3]  Uzi Vishkin,et al.  Converting high probability into nearly-constant time—with applications to parallel hashing , 1991, STOC '91.

[4]  Frank Thomson Leighton,et al.  Methods for message routing in parallel machines , 1992, STOC '92.

[5]  Thanasis Tsantilas,et al.  Efficient optical communication in parallel computers , 1992, SPAA '92.

[6]  Torben Hagerup,et al.  A Guided Tour of Chernoff Bounds , 1990, Inf. Process. Lett..

[7]  Richard M. Karp,et al.  Parallel Algorithms for Shared-Memory Machines , 1991, Handbook of Theoretical Computer Science, Volume A: Algorithms and Complexity.

[8]  Abhiram G. Ranade,et al.  How to emulate shared memory , 1991, 28th Annual Symposium on Foundations of Computer Science (sfcs 1987).

[9]  Friedhelm Meyer auf der Heide,et al.  How to distribute a dictionary in a complete network , 1990, STOC '90.

[10]  Friedhelm Meyer auf der Heide,et al.  Efficient PRAM simulation on a distributed memory machine , 1992, STOC '92.

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

[12]  Friedhelm Meyer auf der Heide,et al.  A New Universal Class of Hash Functions and Dynamic Hashing in Real Time , 1990, ICALP.

[13]  Arnold L. Rosenberg,et al.  Parallel Architectures and Their Efficient Use: First Heinz Nixdorf Symposium Paderborn, Germany, November 11-13, 1992 Proceedings , 1993 .

[14]  Leslie G. Valiant,et al.  A bridging model for parallel computation , 1990, CACM.

[15]  Leslie G. Valiant,et al.  General Purpose Parallel Architectures , 1991, Handbook of Theoretical Computer Science, Volume A: Algorithms and Complexity.

[16]  Larry Rudolph,et al.  A Complexity Theory of Efficient Parallel Algorithms , 1990, Theor. Comput. Sci..

[17]  D. Kleitman Families of Non-disjoint subsets* , 1966 .

[18]  F. Leighton,et al.  Introduction to Parallel Algorithms and Architectures: Arrays, Trees, Hypercubes , 1991 .

[19]  Torben Hagerup,et al.  Fast and reliable parallel hashing , 1991, SPAA '91.

[20]  Eli Upfal,et al.  How to share memory in a distributed system , 1984, JACM.

[21]  Larry Carter,et al.  Universal Classes of Hash Functions , 1979, J. Comput. Syst. Sci..