TY - JOUR
T1 - Taming release-Acquire consistency
AU - Lahav, Ori
AU - Giannarakis, Nick
AU - Vafeiadis, Viktor
N1 - Publisher Copyright:
© 2016 ACM.
PY - 2016/4/8
Y1 - 2016/4/8
N2 - We introduce a strengthening of the release-Acquire fragment of the C11 memory model that (i) forbids dubious behaviors that are not observed in any implementation; (ii) supports fence instructions that restore sequential consistency; and (iii) admits an equivalent intuitive operational semantics based on point-to-point communication. This strengthening has no additional implementation cost: it allows the same local optimizations as C11 release and acquire accesses, and has exactly the same compilation schemes to the x86- TSO and Power architectures. In fact, the compilation to Power is complete with respect to a recent axiomatic model of Power; that is, the compiled program exhibits exactly the same behaviors as the source one. Moreover, we provide criteria for placing enough fence instructions to ensure sequential consistency, and apply them to an efficient RCU implementation.
AB - We introduce a strengthening of the release-Acquire fragment of the C11 memory model that (i) forbids dubious behaviors that are not observed in any implementation; (ii) supports fence instructions that restore sequential consistency; and (iii) admits an equivalent intuitive operational semantics based on point-to-point communication. This strengthening has no additional implementation cost: it allows the same local optimizations as C11 release and acquire accesses, and has exactly the same compilation schemes to the x86- TSO and Power architectures. In fact, the compilation to Power is complete with respect to a recent axiomatic model of Power; that is, the compiled program exhibits exactly the same behaviors as the source one. Moreover, we provide criteria for placing enough fence instructions to ensure sequential consistency, and apply them to an efficient RCU implementation.
KW - C11
KW - Operational semantics
KW - Release-Acquire
KW - Weak memory model
UR - http://www.scopus.com/inward/record.url?scp=84965054269&partnerID=8YFLogxK
U2 - 10.1145/2914770.2837643
DO - 10.1145/2914770.2837643
M3 - ???researchoutput.researchoutputtypes.contributiontojournal.article???
AN - SCOPUS:84965054269
VL - 51
SP - 649
EP - 662
JO - SIGPLAN Notices (ACM Special Interest Group on Programming Languages)
JF - SIGPLAN Notices (ACM Special Interest Group on Programming Languages)
SN - 1523-2867
IS - 1
ER -