Open Access
Designing memory consistency models for shared-memory multiprocessors
Sarita V. Adve
- 02 Jan 1993
Chat with Paper
AI Agents for this Paper
Find similar papers on Google Scholar, PubMed and Arxiv
Write a critical review of this paper
Analyze citations of this paper to find unaddressed research gaps
Citations
Memory consistency and event ordering in scalable shared-memory multiprocessors
Kourosh Gharachorloo,Daniel E. Lenoski,James Laudon,Phillip B. Gibbons,Anoop Gupta,John L. Hennessy +5 more
- 01 May 1990
TL;DR: A new model of memory consistency, called release consistency, that allows for more buffering and pipelining than previously proposed models is introduced and is shown to be equivalent to the sequential consistency model for parallel programs with sufficient synchronization.
Shared memory consistency models: a tutorial
TL;DR: This work describes an alternative, programmer-centric view of relaxed consistency models that describes them in terms of program behavior, not system optimizations, and most of these models emphasize the system optimizations they support.
The Java memory model
Jeremy Manson,William Pugh,Sarita V. Adve +2 more
- 12 Jan 2005
TL;DR: The Java 5.0 memory model as discussed by the authors provides a simple interface for correctly synchronized programs and guarantees sequential consistency to data-race-free programs by requiring that the behavior of incorrectly synchronized programs be bounded by a well defined notion of causality.
Foundations of the C++ concurrency memory model
Hans-J. Boehm,Sarita V. Adve +1 more
- 07 Jun 2008
TL;DR: The simple model the effort to address issues by explicitly providing semantics for threads in the next revision of the C++ standard is described, and how this, together with some practical, but often under-appreciated implementation constraints, drives us towards the above decisions.
The java memory model
Jeremy Manson,William Pugh +1 more
- 01 Jan 2004
TL;DR: The work described in this paper has been incorporated into the version 5.0.0 of the Java programming language as discussed by the authors, which is the most recent version of Java with support for multithreading.
509
References
Time, clocks, and the ordering of events in a distributed system
TL;DR: In this article, the concept of one event happening before another in a distributed system is examined, and a distributed algorithm is given for synchronizing a system of logical clocks which can be used to totally order the events.
Time, clocks, and the ordering of events in a distributed system
TL;DR: In this paper, the concept of one event happening before another in a distributed system is examined, and a distributed algorithm is given for synchronizing a system of logical clocks which can be used to totally order the events.
Linearizability: a correctness condition for concurrent objects
TL;DR: This paper defines linearizability, compares it to other correctness conditions, presents and demonstrates a method for proving the correctness of implementations, and shows how to reason about concurrent objects, given they are linearizable.
The program dependence graph and its use in optimization
TL;DR: An intermediate program representation, called the program dependence graph (PDG), that makes explicit both the data and control dependences for each operation in a program, allowing transformations to be triggered by one another and applied only to affected dependences.
How to Make a Multiprocessor Computer That Correctly Executes Multiprocess Programs
TL;DR: Many large sequential computers execute operations in a different order than is specified by the program, and a correct execution by each processor does not guarantee the correct execution of the entire program.
Related Papers (5)
Dennis Shasha,Marc Snir +1 more
- 01 Jan 2011
Jeremy Manson,William Pugh,Sarita V. Adve +2 more
- 12 Jan 2005