Relaxed Memory Model Zoo

Memory model
← Back to the map

Compositional Relaxed Concurrency CRC

2018 · Dodds, Batty, Gotsman · language, formal

A compositional relaxed-concurrency semantics for a fragment of the C11 model — non-atomic accesses with catch-fire semantics, release-acquire accesses, and sequentially-consistent fences. Because the relaxed fragment is excluded, the model sidesteps the thin-air problem. The authors built a tool for automatic verification of program transformations in this fragment.

Ordering relationships

Strictly stronger than
  • C11/C++11 Memory Model — CRC is a compositional semantics for a thin-air-free fragment of C11 (non-atomics with catch-fire, release-acquire, SC fences); by omitting relaxed atomics it forbids the out-of-thin-air behaviours plain C11 permits.

References

  • Mike Dodds, Mark Batty, Alexey Gotsman. Compositional Verification of Compiler Optimisations on Relaxed Memory. ESOP 2018, 2018. doi:10.1007/978-3-319-89884-1_36
  • Evgenii Moiseenko, Anton Podkopaev, Dmitrii Koznov. A Survey of Programming Language Memory Models. Programming and Computer Software 47(6), pp. 439–456, 2021. doi:10.1134/S0361768821060050