  Memory consistency models have been developed to specify what values may be
returned by a read given that, in a distributed system, memory operations may
only be partially ordered. Before this work, consistency models were defined
independently. Each model followed a set of rules which was separate from the
rules of every other model. In our work we have defined a set of four
consistency properties. Any subset of the four properties yields a set of rules
which constitute a consistency model. Every consistency model previously
described in the literature can be defined based on our four properties.
Therefore, we present these properties as a unfied theory of shared memory
consistency.
