Sciweavers

POPL
2015
ACM

A Calculus for Relaxed Memory

8 years 7 months ago
A Calculus for Relaxed Memory
We propose a new approach to programming multi-core, relaxed-memory architectures in imperative, portable programming languages. Our memory model is based on explicit, programmer-specified requirements for order of execution and the visibility of writes. The compiler then realizes those requirements in the most efficient manner it can. This is in contrast to existing memory models, which—if they allow programmer control over synchronization at all—are based on inferring the execution and visibility consequences of synchronization operations or annotations in the code. We formalize our memory model in a core calculus called RMC. Outside of the programmer’s specified requirements, RMC is designed to be strictly more relaxed than existing architectures. It employs an aggressively nondeterministic semantics for expressions, in which actions can be executed in nearly any order, and a store semantics that generalizes Sarkar, et al.’s and Alglave, et al.’s models of the Power arc...
Karl Crary, Michael J. Sullivan
Added 16 Apr 2016
Updated 16 Apr 2016
Type Journal
Year 2015
Where POPL
Authors Karl Crary, Michael J. Sullivan
Comments (0)