ACM SIGARCH Computer Architecture News · 2006 · 71 citations · 23 references
EngineeringComputer ScienceComputer SystemsComputer ArchitectureFormal MethodsProgramming LanguagesCache CoherenceInterprocess CommunicationMemory HierarchyMemory ModelingSpeculative ExecutionAtomic Memory OperationsAtomicityCache Coherence ProtocolsCoherence ProtocolsMemory Coherence ProtocolsMemory Model SemanticsMemory OrderingNon-atomic Memory Models
We present a novel framework for defining memory models in terms of two properties: thread-local Instruction Reordering axioms and Store Atomicity, which describes inter-thread communication via memory. Most memory models have the store atomicity property, and it is this property that is enforced by cache coherence protocols. A memory model with Store Atomicity is serializable; there is a unique global interleaving of all operations which respects the reordering rules. Our framework uses partially ordered execution graphs; one graph represents many instruction interleavings with identical behaviors. The major contribution of this framework is a procedure for enumerating program behaviors in any memory model with Store Atomicity. Using this framework, we show that address aliasing speculation introduces new program behaviors; we argue that these new behaviors should be permitted by the memory model specification. We also show how to extend our model to capture the behavior of non-atomic memory models such as SPARC R TSO.
23
Maurice Herlihy, J. Eliot B. Moss · 1993 · 2.2K citations
Shared memory consistency models: a tutorial
Sarita V. Adve, Kourosh Gharachorloo · Computer · 1996 · 1.1K citations
Jeremy Manson, William Pugh, Sarita V. Adve · 2005 · 732 citations · Full text