A Denotational Approach to Release/Acquire Concurrency
Open Access
- 5 April 2024
- book chapter
- Published by Springer Nature
- p. 121-149
Abstract
We present a compositional denotational semantics for a functional language with first-class parallel composition and shared-memory operations whose operational semantics follows the Release/Acquire weak memory model (RA). The semantics is formulated in Moggi’s monadic approach, and is based on Brookes-style traces. To do so we adapt Brookes’s traces to Kang et al.’s view-based machine for RA, and supplement Brookes’s mumble and stutter closure operations with additional operations, specific to RA. The latter provides a more nuanced understanding of traces that uncouples them from operational interrupted executions. We show that our denotational semantics is adequate and use it to validate various program transformations of interest. This is the first work to put weak memory models on the same footing as many other programming effects in Moggi’s standard monadic approach.Keywords
This publication has 47 references indexed in Scilit:
- An Algebraic Theory for Shared-State Concurrency2022
- Modular Relaxed Dependencies in Weak Memory Concurrency2020
- Compositional Verification of Compiler Optimisations on Relaxed Memory2018
- Explaining Relaxed Memory Models with Program Transformations2016
- Brookes Is Relaxed, Almost!2012
- Verifying Local Transformations on Relaxed Memory Models2010
- A Better x86 Memory Model: x86-TSO2009
- Relational Reasoning in a Nominal Semantics for Storage2005
- Notions of Computation Determine Monads2002
- Full Abstraction for a Shared-Variable Parallel LanguageInformation and Computation, 1996