Reconciling Event Structures with Modern Multiprocessors
Abstract
Weakestmo is a recently proposed memory consistency model that uses event structures to resolve the infamous "out-of-thin-air" problem and to enable efficient compilation to hardware. Nevertheless, this latter property---compilation correctness---has not yet been formally established. This paper closes this gap by establishing correctness of the intended compilation schemes from Weakestmo to a wide range of formal hardware memory models (x86, POWER, ARMv7, ARMv8) in the Coq proof assistant. Our proof is the first that establishes correctness of compilation of an event-structure-based model that forbids "out-of-thin-air" behaviors, as well as the first mechanized compilation proof of a weak memory model supporting sequentially consistent accesses to such a range of hardware platforms. Our compilation proof goes via the recent Intermediate Memory Model (IMM), which we suitably extend with sequentially consistent accesses.
Paper
-
E. Moiseenko, Anton Podkopaev, Ori Lahav, Orestis Melkonian, and Viktor Vafeiadis.
Reconciling Event Structures with Modern Multiprocessors
ECOOP 2020 (July 2020)
[Full paper, @arXiv, @GitHub]
People
- Evgenii Moiseenko (St. Petersburg University and JetBrains Research)
- Anton Podkopaev (NRU HSE, JetBrains Research, and MPI-SWS)
- Ori Lahav (Tel Aviv University)
- Orestis Melkonian (University of Edinburgh)
- Viktor Vafeiadis (MPI-SWS)