Proceedings of the 12th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming 2007
DOI: 10.1145/1229428.1229469
|View full text |Cite
|
Sign up to set email alerts
|

A theory of memory models

Abstract: A memory model for a concurrent imperative programming language specifies which writes to shared variables may be seen by reads performed by other threads. We present a simple mathematical framework for relaxed memory models for programming languages. To instantiate this framework for a specific language, the designer must choose the notion of atomic steps supported by the language (e.g. 32-bit reads and writes) and specify how a composite step may be broken into a sequence of atomic steps (the decomposition r… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
2
1

Citation Types

1
52
0

Year Published

2009
2009
2019
2019

Publication Types

Select...
8

Relationship

0
8

Authors

Journals

citations
Cited by 73 publications
(53 citation statements)
references
References 17 publications
1
52
0
Order By: Relevance
“…They argue that the additional intensional detail increases the effectiveness of simulation-based verification. Saraswat et al [18] also define memory models in terms of local reordering, and prove a DRF theorem, but focus on high-level languages. Several groups have used proof tools to tame the intricacies of these models, including Yang et al [22], using Prolog and SAT solvers to explore an axiomatic Itanium model, and Aspinall anď Sevčík [5], who formalised and identified problems with the Java Memory Model using Isabelle/HOL.…”
Section: Verified Checker and Resultsmentioning
confidence: 99%
“…They argue that the additional intensional detail increases the effectiveness of simulation-based verification. Saraswat et al [18] also define memory models in terms of local reordering, and prove a DRF theorem, but focus on high-level languages. Several groups have used proof tools to tame the intricacies of these models, including Yang et al [22], using Prolog and SAT solvers to explore an axiomatic Itanium model, and Aspinall anď Sevčík [5], who formalised and identified problems with the Java Memory Model using Isabelle/HOL.…”
Section: Verified Checker and Resultsmentioning
confidence: 99%
“…LI is an inter-thread transformation. It is unclear how it relates to our subsumption relation, but the examples [26] involving LI (e.g., the cross-over example) can be supported following the pattern with which we reproduce the prescient-write example in Sect. 4.…”
Section: Related Work and Conclusionmentioning
confidence: 83%
“…The RAO model by Saraswat et al [26] consists of a family of transformations (IM, CO, AU, LI, PR and DX). Unlike our subsumption relation which gives only an abstract and extensional formulation of semantics preservation between sequential threads, each of them defines a very specific class of transformations.…”
Section: Related Work and Conclusionmentioning
confidence: 99%
See 1 more Smart Citation
“…By considering parallel composition of speculations, we also include relaxed memory models [1] into this picture -though not those that try to capture compiler optimizations, that transform the code on the basis of semantical reasoning (see [4,20,24]). …”
Section: Introductionmentioning
confidence: 99%