Nested Transactional Memory: Model and Preliminary Architecture Sketches
J. Eliot, Benjamin R. Moss, Antony L. Hosking · 2005
We offer a reference model for nested transactions at the level of mem-ory 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 hard-ware sketches describe approaches to implementing the model using bounded size caches in a processor with overflows to memory. In ad-dition to a model that will support concurrency within a transaction, we describe a simpler model 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. 1.