Proceedings of the 32nd ACM SIGPLAN Conference on Programming Language Design and Implementation 2011
DOI: 10.1145/1993498.1993534
|View full text |Cite
|
Sign up to set email alerts
|

Safe optimisations for shared-memory concurrent programs

Abstract: Current proposals for concurrent shared-memory languages, including C++ and C, provide sequential consistency only for programs without data races (the DRF guarantee). While the implications of such a contract for hardware optimisations are relatively well-understood, the correctness of compiler optimisations under the DRF guarantee is less clear, and experience with Java shows that this area is error-prone.In this paper we give a rigorous study of optimisations that involve both reordering and elimination of … Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1
1

Citation Types

0
10
0

Year Published

2011
2011
2016
2016

Publication Types

Select...
4
3
1

Relationship

0
8

Authors

Journals

citations
Cited by 39 publications
(10 citation statements)
references
References 16 publications
0
10
0
Order By: Relevance
“…Sevčík showed that a large class of elimination and reordering transformations are correct (that is, do not introduce any new behaviour when the optimised code is put in an arbitrary data-race free context) in an idealised DRF model [17,19]. In this section we adapt and extend his results to optimise non-atomic accesses in the C11/C++11 memory model.…”
Section: Sound Optimisations In the C Memory Modelmentioning
confidence: 84%
See 2 more Smart Citations
“…Sevčík showed that a large class of elimination and reordering transformations are correct (that is, do not introduce any new behaviour when the optimised code is put in an arbitrary data-race free context) in an idealised DRF model [17,19]. In this section we adapt and extend his results to optimise non-atomic accesses in the C11/C++11 memory model.…”
Section: Sound Optimisations In the C Memory Modelmentioning
confidence: 84%
“…Building on the work byŠevčík [17,19] for an idealised DRF model, our first contribution is the study and correctness proof of several criteria for sound optimisations in the C11/C++11 model, covering all the optimisations we observed in testing real compilers (with the exception of irrelevant read introductions and merging of accesses), presented in Section 3. The second contribution of this work is a strategy to perform differential testing of compilers against a memory model, reducing the hard problem of hunting concurrency compiler bugs to matching memory traces realised by sequential code.…”
Section: Random Testing For Concurrency Compiler Bugsmentioning
confidence: 99%
See 1 more Smart Citation
“…Transformations are however defined semantically. This gap is filled in [33] where the program transformations are proved to be correct, but this is done under a DRF assumption. [33] also identifies the need for characterizing memory models in terms of the transformations they permit, and this is the goal of the axiomatic formalization of BMM.…”
Section: Related Workmentioning
confidence: 99%
“…The compiler can itself induce SCVs with certain optimizations [30]. However, Volition is a pure hardware scheme and, as a result, is not able to detect those.…”
Section: Design Goals and Basic Assumptionsmentioning
confidence: 99%