Publications

Safety and deferred update in transactional memory

Abstract

Transactional memory allows the user to declare sequences of instructions as speculative transactions that can either commit or abort, providing all-or-nothing semantics. If a transaction commits, it should appear to execute sequentially, so that the committed transactions constitute a correct sequential execution. If a transaction aborts, none of its instructions should affect other transactions. These semantics allow the programmer to incorporate sequential code within transactions and let the transactional memory care about conflicts between concurrent transactions. In this sense, it is important that the memory is safe, i.e., every transaction has a consistent view even if the transaction aborts later. Otherwise, inconsistencies not predicted by the sequential program may cause a fatal irrecoverable error or an infinite loop. Furthermore, in a general setting, where a transaction may be explicitly aborted by the user …

Date
September 10, 2025
Authors
Hagit Attiya, Sandeep Hans, Petr Kuznetsov, Srivatsan Ravi
Journal
Transactional Memory. Foundations, Algorithms, Tools, and Applications: COST Action Euro-TM IC1001
Pages
50-71
Publisher
Springer International Publishing