Nested transactional memory: Model and architecture sketches
Author
J. Eliot, B. Moss, Antony L. Hosking
Entry type
article
Abstract
We offer a reference model for nested transactions at the level of memory accesses, and sketch possible hardware architecture designs that implement that model. We describe both closed and open nesting. The model is abstract in that it does not relate to hardware, such as caches, but describes memory as seen by each transaction, memory access conflicts, and the effects of commits and aborts. The hardware sketches describe approaches to implementing the model using bounded size caches in a processor with overflows to memory. In addition to a model that will support concurrency within a transaction, we describe a simpler model that we call linear nesting. Linear nesting supports only a single thread of execution in a transaction nest, but may be easier to implement. While we hope that the model is a good target to which to compile transactions from source languages, the mapping from source constructs to nested transactional memory is beyond the scope of the paper.
Date
2006 – 12 – 1
Journal
Science of Computer Programming
Key alpha
Hosking
Pages
186-201
Publisher
Elsevier B.V.
Volume
63
Affiliation
Purdue University
Publication Date
2006-12-01

