How to share memory in a distributed system
- 1 January 1987
- journal article
- Published by Association for Computing Machinery (ACM) in Journal of the ACM
- Vol. 34 (1) , 116-127
- https://doi.org/10.1145/7531.7926
Abstract
The power of shared-memory in models of parallel computation is studied, and a novel distributed data structure that eliminates the need for shared memory without significantly increasing the run time of the parallel computation is described. More specifically, it is shown how a complete network of processors can deterministically simulate one PRAM step in O (log n /(log log n ) 2 ) time when both models use n processors and the size of the PRAM's shared memory is polynomial in n . (The best previously known upper bound was the trivial O ( n )). It is established that this upper bound is nearly optimal, and it is proved that an on-line simulation of T PRAM steps by a complete network of processors requires Ω( T (log n/ log log n )) time. A simple consequence of the upper bound is that an Ultracomputer (the currently feasible general-purpose parallel machine) can simulate one step of a PRAM (the most convenient parallel model to program) in O ((log n ) 2 log log n ) steps.Keywords
This publication has 7 references indexed in Scilit:
- A parallel-design distributed-implementation (PDDI) general-purpose computerTheoretical Computer Science, 1984
- Implementation of simultaneous memory address access in models that forbid itJournal of Algorithms, 1983
- The NYU Ultracomputer—Designing an MIMD Shared Memory Parallel ComputerIEEE Transactions on Computers, 1983
- Explicit constructions of linear-sized superconcentratorsJournal of Computer and System Sciences, 1981
- UltracomputersACM Transactions on Programming Languages and Systems, 1980
- A Majority consensus approach to concurrency control for multiple copy databasesACM Transactions on Database Systems, 1979
- A Survey of Parallel Machine Organization and ProgrammingACM Computing Surveys, 1977