Title :
Memory Model = Instruction Reordering + Store Atomicity
Author :
Arvind ; Maessen, Jan-Willem
Author_Institution :
MIT CSAIL, Cambridge, MA
Abstract :
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 SPARCreg TSO
Keywords :
graph theory; multi-threading; storage allocation; interthread communication; memory model; partially ordered execution graphs; store atomicity; thread-local instruction reordering; Coherence; Computer architecture; Gold; History; Interleaved codes; Laboratories; Power system modeling; Protocols; Sun; Yarn;
Conference_Titel :
Computer Architecture, 2006. ISCA '06. 33rd International Symposium on
Conference_Location :
Boston, MA
Print_ISBN :
0-7695-2608-X
DOI :
10.1109/ISCA.2006.26