• Corpus ID: 949533

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… 

Figures from this paper

Distributed Computing
TLDR
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
TLDR
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
TLDR
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
TLDR
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
TLDR
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
TLDR
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
TLDR
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
TLDR
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
TLDR
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
TLDR
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
TLDR
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
TLDR
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.
...
...