Transactional locking II

D Dice, O Shalev, N Shavit - International Symposium on Distributed …, 2006 - Springer
D Dice, O Shalev, N Shavit
International Symposium on Distributed Computing, 2006Springer
The transactional memory programming paradigm is gaining momentum as the approach of
choice for replacing locks in concurrent programming. This paper introduces the
transactional locking II (TL2) algorithm, a software transactional memory (STM) algorithm
based on a combination of commit-time locking and a novel global version-clock based
validation technique. TL2 improves on state-of-the-art STMs in the following ways:(1) unlike
all other STMs it fits seamlessly with any system's memory life-cycle, including those using …
Abstract
The transactional memory programming paradigm is gaining momentum as the approach of choice for replacing locks in concurrent programming. This paper introduces the transactional locking II (TL2) algorithm, a software transactional memory (STM) algorithm based on a combination of commit-time locking and a novel global version-clock based validation technique. TL2 improves on state-of-the-art STMs in the following ways: (1) unlike all other STMs it fits seamlessly with any system’s memory life-cycle, including those using malloc/free (2) unlike all other lock-based STMs it efficiently avoids periods of unsafe execution, that is, using its novel version-clock validation, user code is guaranteed to operate only on consistent memory states, and (3) in a sequence of high performance benchmarks, while providing these new properties, it delivered overall performance comparable to (and in many cases better than) that of all former STM algorithms, both lock-based and non-blocking. Perhaps more importantly, on various benchmarks, TL2 delivers performance that is competitive with the best hand-crafted fine-grained concurrent structures. Specifically, it is ten-fold faster than a single lock. We believe these characteristics make TL2 a viable candidate for deployment of transactional memory today, long before hardware transactional support is available.
Springer