Explaining relaxed memory models with program transformations

O Lahav, V Vafeiadis - International Symposium on Formal Methods, 2016 - Springer
International Symposium on Formal Methods, 2016Springer
Weak memory models determine the behavior of concurrent programs. While they are often
understood in terms of reorderings that the hardware or the compiler may perform, their
formal definitions are typically given in a very different style—either axiomatic or operational.
In this paper, we investigate to what extent weak behaviors of existing memory models can
be fully explained in terms of reorderings and other program transformations. We prove that
TSO is equivalent to a set of two local transformations over sequential consistency, but that …
Abstract
Weak memory models determine the behavior of concurrent programs. While they are often understood in terms of reorderings that the hardware or the compiler may perform, their formal definitions are typically given in a very different style—either axiomatic or operational. In this paper, we investigate to what extent weak behaviors of existing memory models can be fully explained in terms of reorderings and other program transformations. We prove that TSO is equivalent to a set of two local transformations over sequential consistency, but that non-multi-copy-atomic models (such as C11, Power and ARM) cannot be explained in terms of local transformations over sequential consistency. We then show that transformations over a basic non-multi-copy-atomic model account for the relaxed behaviors of (a large fragment of) Power, but that ARM’s relaxed behaviors cannot be explained in a similar way. Our positive results may be used to simplify correctness of compilation proofs from a high-level language to TSO or Power.
Springer
Showing the best result for this search. See all results