Memory Consistency and Program Transformations

A memory consistency model specifies the allowed behaviors of shared memory concurrent programs. At the language level, these models are known to have a non-trivial impact on the safety of program optimizations. This limits the ability to rearrange/refactor code without introducing new behaviors. Existing programming language memory models try to address this by permitting more ( relaxed/weak ) concurrent behaviors, but are still unable to allow all the desired optimizations. A core problem is that weaker consistency models may also render optimizations unsafe, a conclusion that goes against the intuition of them allowing more behaviors. This exposes an open problem of the compositional interaction between memory consistency semantics and optimizations; which parts of the semantics correspond to allowing/disallowing which set of optimizations is unclear. In this work, we establish a formal foundation suitable enough to understand this compositional nature. We decompose optimizations into a finite set of elementary effects , over which aspects of safety can be assessed. We use this decomposition to identify a desirable compositional property ( complete ) that would guarantee the safety of optimizations from one memory model to another. We showcase its practicality by proving such a property between Sequential Consistency (SC) and SC RR , the latter allowing independent read-read reordering over SC . Our work potentially paves way to a new design methodology of programming-language memory models, one that places emphasis on the optimizations desired to be performed.

Authors

Institutions

Publication Details

Journal
Formal Aspects of Computing
Published
2025-03-05
DOI
https://doi.org/10.1145/3721143
Citations
1
Primary Topic
Parallel Computing and Optimization Techniques
Type
article
Field-Weighted Citation Impact
2.27
Controls
|||
ALL TIME
JAN
FEB
MAR
APR
MAY
JUN
JUL
AUG
SEP
OCT
article

Memory Consistency and Program Transformations

Clark Verbrugge, Akshay Gopalakrishnan, Mark Batty
1 citations
Formal Aspects of Computing
Parallel Computing and Optimization Techniques
2.27
article

Memory Consistency and Program Transformations

Clark Verbrugge, Akshay Gopalakrishnan, Mark Batty
article en
1 citations

Abstract

A memory consistency model specifies the allowed behaviors of shared memory concurrent programs. At the language level, these models are known to have a non-trivial impact on the safety of program optimizations. This limits the ability to rearrange/refactor code without introducing new behaviors. Existing programming language memory models try to address this by permitting more ( relaxed/weak ) concurrent behaviors, but are still unable to allow all the desired optimizations. A core problem is that weaker consistency models may also render optimizations unsafe, a conclusion that goes against the intuition of them allowing more behaviors. This exposes an open problem of the compositional interaction between memory consistency semantics and optimizations; which parts of the semantics correspond to allowing/disallowing which set of optimizations is unclear. In this work, we establish a formal foundation suitable enough to understand this compositional nature. We decompose optimizations into a finite set of elementary effects , over which aspects of safety can be assessed. We use this decomposition to identify a desirable compositional property ( complete ) that would guarantee the safety of optimizations from one memory model to another. We showcase its practicality by proving such a property between Sequential Consistency (SC) and SC RR , the latter allowing independent read-read reordering over SC . Our work potentially paves way to a new design methodology of programming-language memory models, one that places emphasis on the optimizations desired to be performed.

Formal Aspects of ComputingVol. 37(3)
University of Kent (GB), McGill University (CA)
Openalex Percentile: Top 18%
Parallel Computing and Optimization Techniques
2.27
AI Navigator

Ask Laika to Summarize, Analyze, and Connect papers live on the map.

Summarize Papers & Methodologies

Extract key findings, datasets, and comparative methods across publications.

Benchmark Rankings & Visual Analytics

Rank top research institutions, authors, funders, topics, and journals by Field-Weighted Citation Impact (FWCI) and paper volume with instant charts.

Connect Distant Disciplines

Bridge topological clusters on the map to find hidden collaborative intersections.

Memory Consistency and Program Transformations — Clark Verbrugge, Akshay Gopalakrishnan, et al. · Formal Aspects of Computing (2025) | TGRS Research Map | TGRS