Abstract We present a class of relaxed memory models, defined in Coq, parameterised by the chosen permitted local reorderings of reads and writes, and by the visibility of inter-and intra-processor communications through memory (e.g. store atomicity relaxation). We prove results on the required behaviour and placement of memory fences to restore a given model (such as Sequential Consistency) from a weaker one. Based on this class of models we develop a tool, diy, that systematically and automatically generates and runs litmus tests. These tests can be used to explore the behaviour of processor implementations and the behaviour of models, and hence to compare the two against each other. We detail the results of experiments on Power and a model we base on them.
A general account of weak memory models is given in REF , together with a mechanism based on memory fences that preserve properties such as sequential consistency, and an automatic generation of tests for processors implementations.
Fences in Weak Memory Models (Extended Version)
Formal Methods in System Design
Computer Science