A memory model is some description of how memory behaves in a parallel computer system. While there is consensus that sequential consistency [Lamport 79] is the strongest memory model, nobody seems to have tried to identify the weakest memory model. This thesis concerns itself with precisely this problem.
We cannot hope to identify the weakest memory model unless we specify a minimal set of properties we want it to obey. In this thesis, we identify five such properties: completeness, monotonicity, constructibility, nondeterminism confinement, and classicality. Constructibility is especially interesting, because a nonconstructible model cannot be implemented exactly, and hence every implementation necessarily supports a stronger model. One nonconstructible model is, for example, dag consistency [Blumofe et al. 96].
We argue (with some caveats) that if one wants the five properties, then location consistency is the weakest reasonable memory model. In location consistency, every memory location is serialized, but different locations may be serialized independently. (Location consistency is sometimes called coherence [Hennessy and Patterson 96], and our location consistency is not the model with the same name proposed by [Gao and Sarkar 93].)
We obtain these results within a computation-centric theory of memory models, where memory models are defined independently of scheduling issues and language semantics.