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

A case for an SC-preserving compiler

Abstract: The most intuitive memory consistency model for shared-memory multi-threaded programming is sequential consistency (SC). However, current concurrent programming languages support a relaxed model, as such relaxations are deemed necessary for enabling important optimizations. This paper demonstrates that an SC-preserving compiler, one that ensures that every SC behavior of a compiler-generated binary is an SC behavior of the source program, retains most of the performance benefits of an optimizing compiler. The … Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
3
1
1

Citation Types

0
11
0

Year Published

2011
2011
2018
2018

Publication Types

Select...
5
3
1

Relationship

0
9

Authors

Journals

citations
Cited by 64 publications
(11 citation statements)
references
References 50 publications
0
11
0
Order By: Relevance
“…Researchers [Marino et al 2011;Singh et al 2012] have suggested stronger memory models, e.g., sequential consistency, in which out-of-thin-air behaviors are prohibited. They show that the cost is low when they implement such memory models on specialized hardware.…”
Section: Related Workmentioning
confidence: 99%
See 1 more Smart Citation
“…Researchers [Marino et al 2011;Singh et al 2012] have suggested stronger memory models, e.g., sequential consistency, in which out-of-thin-air behaviors are prohibited. They show that the cost is low when they implement such memory models on specialized hardware.…”
Section: Related Workmentioning
confidence: 99%
“…Indeed, programs with data races have undefined semantics under the C/C++11 memory model. While researchers have explored providing stronger guarantees to racy programs [Marino et al 2011;Singh et al 2012], these approaches may require hardware support to achieve competitive performance.…”
Section: Introductionmentioning
confidence: 99%
“…There is also work suggesting that stronger memory models, like sequential consistency, could be implementable with low overhead [18,26]. However, it relies on specialised hardware, whereas we target existing hardware.…”
Section: Related Workmentioning
confidence: 99%
“…That makes ClightTSO a good match for concurrent algorithms above those architectures, but guaranteeing TSO behavior for all (possibly racy) loads and stores prevents some compiler optimisations, and efficiently implementing TSO semantics above ARM or POWER (not in SAO mode) would be challenging. The impact of the first point is not yet clear; for example, recent work by Marino et al [2011] argues that the cost of requiring a compiler to preserve sequential consistency (a more severe restriction than preserving TSO) is modest. But Java and C/C++11 both take a DRF approach [Adve and Hill 1990], requiring the programmer to avoid races for normal accesses (thereby licensing more compiler optimisations on those) and providing Java volatiles [Manson et al 2005] and C/C++11 atomics [Batty et al 2011;Becker 2011;Boehm and Adve 2008;ISO 2011] to use for racy code.…”
Section: Related Workmentioning
confidence: 99%