Memory Consistency and Program Transformations
Akshay Gopalakrishnan (1), Clark Verbrugge (1), Mark Batty (2) ((1), McGill University, (2) University of Kent)

TL;DR
This paper develops a formal framework to analyze how different memory consistency models affect the safety of program optimizations, aiming to guide the design of memory models that support safe, desired optimizations.
Contribution
It introduces a decomposition of optimizations into elementary effects and establishes a formal property to compare memory models for safe optimization transfer.
Findings
Proves a compositional property between Sequential Consistency and SC_{RR}.
Provides a foundation for designing memory models supporting safe optimizations.
Highlights the importance of formal methods in understanding memory semantics.
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, limiting 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…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsParallel Computing and Optimization Techniques
