The APRAM: incorporating asynchrony into the PRAM model

The PRAM model is a machine that comprises p processors and m memory cells; each processor can access each memory cell in constant time. The PRAM has proved a popular model for parallel algorithm design. For the task of designing efficient, highly parallel algorithms is quite difficult, in general. The PRAM model provides an abstraction that strips away problems of synchronization, reliability and communication delays, thereby permitting algorithm designers to focus first and foremost on the structure of the computational problem at hand, rather than the architecture of a currently available machine. As a consequence, a considerable body of PRAM algorithms has been discovered in the past several years, and a number of powerful techniques for designing such algorithms have been identified (see, for instance, the survey articles [KR88, EG88]).

[1]  Kenneth E. Batcher,et al.  Sorting networks and their applications , 1968, AFIPS Spring Joint Computing Conference.

[2]  Richard P. Brent,et al.  The Parallel Evaluation of General Arithmetic Expressions , 1974, JACM.

[3]  Michael J. Fischer,et al.  Economical solutions for the critical section problem in a distributed system (Extended Abstract) , 1977, STOC '77.

[4]  Leslie Lamport,et al.  Time, clocks, and the ordering of events in a distributed system , 1978, CACM.

[5]  Nancy A. Lynch,et al.  On Describing the Behavior and Implementation of Distributed Systems , 1979, Semantics of Concurrent Computation.

[6]  James Christopher Wyllie,et al.  The Complexity of Parallel Computations , 1979 .

[7]  Leslie Lamport,et al.  How to Make a Multiprocessor Computer That Correctly Executes Multiprocess Programs , 2016, IEEE Transactions on Computers.

[8]  M. Fischer,et al.  Parallel Prefix Computation , 1980, J. ACM.

[9]  Nancy A. Lynch,et al.  On Describing the Behavior and Implementation of Distributed Systems , 1979, Theor. Comput. Sci..

[10]  Uzi Vishkin,et al.  An O(log n) Parallel Connectivity Algorithm , 1982, J. Algorithms.

[11]  Nancy A. Lynch,et al.  Efficiency of Synchronous Versus Asynchronous Distributed Systems , 1983, J. ACM.

[12]  Uzi Vishkin,et al.  A Parallel-Design Distributed-Implementation (PDDI) General-Purpose Computer , 2011, Theor. Comput. Sci..

[13]  Baruch Awerbuch,et al.  Complexity of network synchronization , 1985, JACM.

[14]  Richard M. Karp,et al.  The complexity of parallel computation , 1986 .

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

[16]  Christos H. Papadimitriou,et al.  A Communication-Time Tradeoff , 1987, SIAM J. Comput..

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

[18]  Baruch Awerbuch,et al.  Optimal distributed algorithms for minimum weight spanning tree, counting, leader election, and related problems , 1987, STOC.

[19]  Alok Aggarwal,et al.  Hierarchical memory with block transfer , 1987, 28th Annual Symposium on Foundations of Computer Science (sfcs 1987).

[20]  Bowen Alpern,et al.  A model for hierarchical memory , 1987, STOC.

[21]  Robert G. Gallager,et al.  A new distributed algorithm to find breadth first search trees , 1987, IEEE Trans. Inf. Theory.

[22]  Alok Aggarwal,et al.  Virtual memory algorithms , 1988, STOC '88.

[23]  Dennis Shasha,et al.  Efficient and correct execution of parallel programs that share memory , 1988, TOPL.

[24]  Larry Rudolph,et al.  A Complexity Theory of Efficient Parallel Algorithms (Extended Abstract) , 1988, ICALP.

[25]  Richard M. Karp,et al.  A Survey of Parallel Algorithms for Shared-Memory Machines , 1988 .

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

[27]  Alok Aggarwal,et al.  Communication Complexity of PRAMs (Preliminary Version) , 1988, ICALP.

[28]  Leslie G. Valiant,et al.  Optimally universal parallel computers , 1988 .

[29]  D. Eppstein,et al.  Parallel Algorithmic Techniques for Combinatorial Computation , 1988 .

[30]  Phillip B. Gibbons Towards Better Shared Memory Programming Models , 1989 .

[31]  Alok Aggarwal,et al.  On communication latency in PRAM computations , 1989, SPAA '89.

[32]  David Eppstein,et al.  Parallel Algorithmic Techniques for Combinatorial Computation , 1988, ICALP.

[33]  Alok Aggarwal,et al.  Communication Complexity of PRAMs , 1990, Theor. Comput. Sci..

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