A survey of PRAM simulation techniques
- 1 June 1994
- journal article
- Published by Association for Computing Machinery (ACM) in ACM Computing Surveys
- Vol. 26 (2) , 187-206
- https://doi.org/10.1145/176979.176984
Abstract
The Parallel Random Access Machine (PRAM) is an abstract model of parallel computation which allows researchers to focus on the essential characteristics of a parallel architecture and ignore other details. The PRAM has long been acknowledged to be a useful tool for the study of parallel computing, but unfortunately it is not physically implementable in hardware. In order to take advantage of the broad base of algorithms and results regarding this high-level abstraction one needs general methods for allowing the execution of PRAM algorithms on more realistic machines. In the following we survey these methods, which we refer to as PRAM simulation techniques. The general issues of memory management and routing are discussed, and both randomized and deterministic solutions are considered. We show that good theoretical solutions to many of the subproblems in PRAM simulation have been developed, though questions still exist as to their practical utility. This article should allow those performing research in this field to become well acquainted with the current state of the art, while allowing the novice to get an intuitive feeling for the fundamental questions being considered. The introduction should provide a concise tutorial for those unfamiliar with the problem of PRAM simulation.Keywords
This publication has 30 references indexed in Scilit:
- How to emulate shared memoryJournal of Computer and System Sciences, 1991
- A complexity theory of efficient parallel algorithmsTheoretical Computer Science, 1990
- Communication complexity of PRAMsTheoretical Computer Science, 1990
- A probabilistic simulation of prams on a bounded degree networkInformation Processing Letters, 1988
- How to share memory in a distributed systemJournal of the ACM, 1987
- Efficient Schemes for Parallel CommunicationJournal of the ACM, 1984
- Implementation of simultaneous memory address access in models that forbid itJournal of Algorithms, 1983
- A universal interconnection pattern for parallel computersJournal of the ACM, 1982
- UltracomputersACM Transactions on Programming Languages and Systems, 1980
- A Majority consensus approach to concurrency control for multiple copy databasesACM Transactions on Database Systems, 1979