Nested transactional memory: Model and architecture sketches

J. Eliot B. Moss*, Antony L. Hosking

*Corresponding author for this work

Research output: Contribution to journalArticlepeer-review

80 Citations (Scopus)

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.

Original languageEnglish
Pages (from-to)186-201
Number of pages16
JournalScience of Computer Programming
Volume63
Issue number2
DOIs
Publication statusPublished - 1 Dec 2006
Externally publishedYes

Fingerprint

Dive into the research topics of 'Nested transactional memory: Model and architecture sketches'. Together they form a unique fingerprint.

Cite this