Transactions in relaxed memory architectures
Open Access
- 27 December 2017
- journal article
- research article
- Published by Association for Computing Machinery (ACM) in Proceedings of the ACM on Programming Languages
- Vol. 2 (POPL) , 1-29
Abstract
The integration of transactions into hardware relaxed memory architectures is a topic of current research both in industry and academia. In this paper, we provide a general architectural framework for the introduction of transactions into models of relaxed memory in hardware, including the SC, TSO, ARMv8 and PPC models. Our framework incorporates flexible and expressive forms of transaction aborts and execution that have hitherto been in the realm of software transactional memory. In contrast to software transactional memory, we account for the characteristics of relaxed memory as a restricted form of distributed system, without a notion of global time. We prove abstraction theorems to demonstrate that the programmer API matches the intuitions and expectations about transactions.Keywords
This publication has 48 references indexed in Scilit:
- Semantics of transactional memory and automatic mutual exclusionACM Transactions on Programming Languages and Systems, 2011
- Transactional Memory, 2nd editionSynthesis Lectures on Computer Architecture, 2010
- Memory modelsCommunications of the ACM, 2010
- x86-TSOCommunications of the ACM, 2010
- Transactional memory with strong atomicity using off-the-shelf memory protection hardwareACM SIGPLAN Notices, 2009
- Transactional memoryCommunications of the ACM, 2008
- Hybrid transactional memoryACM SIGOPS Operating Systems Review, 2006
- A transactional object calculusScience of Computer Programming, 2005
- How to make a correct multiprocess program execute correctly on a multiprocessorIEEE Transactions on Computers, 1997
- The notions of consistency and predicate locks in a database systemCommunications of the ACM, 1976