Creative Commons Attribution 3.0 Unported license
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.
@InProceedings{moiseenko_et_al:LIPIcs.ECOOP.2020.5,
author = {Moiseenko, Evgenii and Podkopaev, Anton and Lahav, Ori and Melkonian, Orestis and Vafeiadis, Viktor},
title = {{Reconciling Event Structures with Modern Multiprocessors}},
booktitle = {34th European Conference on Object-Oriented Programming (ECOOP 2020)},
pages = {5:1--5:26},
series = {Leibniz International Proceedings in Informatics (LIPIcs)},
ISBN = {978-3-95977-154-2},
ISSN = {1868-8969},
year = {2020},
volume = {166},
editor = {Hirschfeld, Robert and Pape, Tobias},
publisher = {Schloss Dagstuhl -- Leibniz-Zentrum f{\"u}r Informatik},
address = {Dagstuhl, Germany},
URL = {https://drops.dagstuhl.de/entities/document/10.4230/LIPIcs.ECOOP.2020.5},
URN = {urn:nbn:de:0030-drops-131622},
doi = {10.4230/LIPIcs.ECOOP.2020.5},
annote = {Keywords: Weak Memory Consistency, Event Structures, IMM, Weakestmo}
}