Institut für Informatik

Technical Report No. 257 - Abstract

Annette Bieniusa, Arie Middelkoop, Peter Thiemann
Actions in the Twilight - Concurrent Irrevocable Transactions and Inconsistency Repair

Software Transactional Memory (STM) allows grouping of accesses to shared memory in concurrent transactions, thus ensuring their atomicity, consistency and isolation. The Twilight STM introduced in this paper enhances a transaction with twilight code that executes between the preparation to commit the transaction and its actual commit or abort. Twilight code runs irrevocably and concurrently with the rest of the program. It can detect and repair potential read inconsistencies in the state of its transaction and may thus turn a failing transaction into a successful one. Moreover, twilight code can safely use I/O operations while modifying the transactionally managed memory. The Twilight STM keeps a pending transaction committable while running the twilight code, but without blocking all other transactions, including pending transactions that execute their twilight code at the same time. Benchmark results show that Twilight performs competitively with state-of-the-art systems like TL2.

Report No. 257 (PostScript)