Why Transactional Memory Should Not Be Obstruction-Free
@article{Kuznetsov2015WhyTM, title={Why Transactional Memory Should Not Be Obstruction-Free}, author={Petr Kuznetsov and Srivatsan Ravi}, journal={ArXiv}, year={2015}, volume={abs/1502.02725} }
Transactional memory (TM) is an inherently optimistic abstraction: it allows concurrent processes to execute sequences of shared-data accesses (transactions) speculatively, with an option of aborting them in the future. Early TM designs avoided using locks and relied on non-blocking synchronization to ensure obstruction-freedom: a transaction that encounters no step contention is not allowed to abort. However, it was later observed that obstruction-free TMs perform poorly and, as a result…
3 Citations
Grasping the gap between blocking and non-blocking transactional memories
- Computer ScienceJ. Parallel Distributed Comput.
- 2015
Distributed Computing
- Computer Science, MathematicsLecture Notes in Computer Science
- 2015
It is shown that constant-round MRC computations can decide regular languages and simulate sublogarithmic space-bounded Turing machines and hierarchy theorems for MRC under certain complexity-theoretic assumptions are proved.
Boosting Transactional Memory with Stricter Serializability
- Computer ScienceCOORDINATION
- 2018
This work presents a matching algorithm that supports invisible reads, lazy snapshots, and that can trade synchronization for more parallelism, and presents a novel and flexible approach based on a new consistency criteria named stricter serializability.
References
SHOWING 1-10 OF 36 REFERENCES
On Partial Wait-Freedom in Transactional Memory
- Computer ScienceICDCN
- 2015
The costs of providing wait-freedom to only a subset of transactions, which requires that read-only transactions commit in the wait-free manner, while updating transactions are guaranteed to commit only if they run in the absence of concurrency are explored.
Inherent Limitations on Disjoint-Access Parallel Implementations of Transactional Memory
- Computer ScienceSPAA '09
- 2009
A lower bound of Ω(t) is proved on the number of writes needed in order to implement a read-only transaction of t items, which successfully terminates in a disjoint-access parallel TM implementation, which assumes strict serializability and thus hold under the assumption of opacity.
Principles of Transactional Memory
- Computer ScienceSynthesis Lectures on Distributed Computing Theory
- 2010
The aim of this book is to provide theoretical foundations for transactional memory, as well as answering precisely when a TM implementation is correct, what kind of properties it can ensure, what are the power and limitations of a TM, and what inherent trade-offs are involved in designing a TM algorithm.
Advanced contention management for dynamic software transactional memory
- Computer SciencePODC '05
- 2005
This work considers both visible and invisible versions of read access, and benchmarks that vary in complexity, level of contention, tendency toward circular dependence, and mix of reads and writes, and identifies a candidate default policy.
Transactional Locking II
- Computer ScienceDISC
- 2006
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, which is ten-fold faster than a single lock.
Adaptive Software Transactional Memory
- Computer ScienceDISC
- 2005
This paper considers four dimensions of the STM design space and presents a new Adaptive STM (ASTM) system that adjusts to the offered workload, allowing it to match the performance of the best known existing system on every tested workload.
NOrec: streamlining STM by abolishing ownership records
- Computer SciencePPoPP '10
- 2010
An ownership-record-free software transactional memory (STM) system that combines extremely low overhead with unusually clean semantics is presented, and the experience suggests that NOrec may be an ideal candidate for such a software system.
On the Cost of Concurrency in Transactional Memory
- Computer ScienceOPODIS
- 2011
The Transactional Memory abstraction is proposed as a synchronization mechanism that relieves the programmer of the overhead of reasoning about data conflicts that may arise from concurrent operations without severely limiting the program's performance.
Practical lock-freedom
- Computer Science
- 2003
This dissertation introduces and evaluates practical abstractions and data structures that facilitate the development of large-scale lock-free systems and presents an implementation of two useful abstractions that make it easier to develop arbitrary lock- free data structures.
NZTM: nonblocking zero-indirection transactional memory
- Computer ScienceSPAA '09
- 2009
The results show that nonblocking support introduces little overhead when compared with blocking STMs, and that NZTM is competitive with LogTM-SE, an unbounded HTM.