Taming Release-Acquire Consistency

被引:66
|
作者
Lahav, Ori [1 ]
Giannarakis, Nick [1 ]
Vafeiadis, Viktor [1 ]
机构
[1] Max Planck Inst Software Syst MPI SWS, Berlin, Germany
关键词
Weak memory model; release-acquire; C11; operational semantics; MEMORY; PROGRAMS;
D O I
10.1145/2914770.2837643
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
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.
引用
收藏
页码:649 / 662
页数:14
相关论文
共 7 条
  • [1] Decidable Verification under Localized Release-Acquire Concurrency
    Singh, Abhishek Kr
    Lahav, Ori
    TOOLS AND ALGORITHMS FOR THE CONSTRUCTION AND ANALYSIS OF SYSTEMS, PT III, TACAS 2024, 2024, 14572 : 235 - 254
  • [2] Thread-Modular Analysis of Release-Acquire Concurrency
    Sharma, Divyanjali
    Sharma, Subodh
    STATIC ANALYSIS, SAS 2021, 2021, 12913 : 384 - 404
  • [3] Dynamic Partial Order Reduction Under the Release-Acquire Semantics (Tutorial)
    Abdulla, Parosh Aziz
    Atig, Mohamed Faouzi
    Jonsson, Bengt
    Ngo, Tuan Phong
    NETWORKED SYSTEMS, NETYS 2019, 2019, 11704 : 3 - 18
  • [4] Robustness against Release/Acquire Semantics
    Lahav, Ori
    Margalit, Roy
    PROCEEDINGS OF THE 40TH ACM SIGPLAN CONFERENCE ON PROGRAMMING LANGUAGE DESIGN AND IMPLEMENTATION (PLDI '19), 2019, : 126 - 141
  • [5] A Denotational Approach to Release/Acquire Concurrency
    Dvir, Yotam
    Kammar, Ohad
    Lahav, Ori
    PROGRAMMING LANGUAGES AND SYSTEMS, PT II, ESOP 2024, 2024, 14577 : 121 - 149
  • [6] Parameterized Verification under Release Acquire is PSPACE-complete
    Krishna, Shankaranarayanan
    Godbole, Adwait
    Meyer, Roland
    Chakraborty, Soham
    PROCEEDINGS OF THE 2022 ACM SYMPOSIUM ON PRINCIPLES OF DISTRIBUTED COMPUTING, PODC 2022, 2022, : 482 - 492
  • [7] Kite: Efficient and Available Release Consistency for the Datacenter
    Gavrielatos, Vasilis
    Katsarakis, Antonios
    Nagarajan, Vijay
    Grot, Boris
    Joshi, Arpit
    PROCEEDINGS OF THE 25TH ACM SIGPLAN SYMPOSIUM ON PRINCIPLES AND PRACTICE OF PARALLEL PROGRAMMING (PPOPP '20), 2020, : 1 - 16