Inherent Limitations on Disjoint-Access Parallel Implementations of Transactional Memory

@article{Attiya2009InherentLO,
  title={Inherent Limitations on Disjoint-Access Parallel Implementations of Transactional Memory},
  author={Hagit Attiya and Eshcar Hillel and Alessia Milani},
  journal={Theory of Computing Systems},
  year={2009},
  volume={49},
  pages={698-719}
}
Transactional memory (TM) is a popular approach for alleviating the difficulty of programming concurrent applications; TM guarantees that a transaction, consisting of a sequence of operations, appear to be executed atomically. Two fundamental properties of TM implementations are disjoint-access parallelism and the invisibility of read operations. Disjoint access parallelism ensures that operations on disconnected data do not interfere, and thus it is critical for TM scalability. The… 

Disjoint-Access Parallelism: Impossibility, Possibility, and Cost of Transactional Memory Implementations

TLDR
It is shown that adopting WRTO makes it possible to design a strictly DAP TM with invisible and wait-free read-only transactions, while preserving strong progressiveness for write transactions and an isolation level known in literature as Extended Update Serializability.

Disjoint-Access Parallelism in Software Transactional Memory

TLDR
This chapter will formalize the requirement that unrelated transactions progress independently, without interference, even if they occur at the same time, by presenting impossibility results and discussing some of the disjoint-access parallel STM implementations.

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.

Practical and Lock-free Parallel Nesting for Software Transactional Memory

TLDR
This paper presents the first lock-free parallel nesting algorithm with support for multi-versions, which is used to outperform the original STM on several known benchmarks by up to 2.8 times.

The Cost of Privatization in Software Transactional Memory

TLDR
It is shown that a transaction privatizing k items must have a data set of size at least k, in an STM with invisible reads, which is oblivious to different nonconflicting executions and guarantees progress in such executions.

Breaching the Wall of Impossibility Results on Disjoint-Access Parallel TM

TLDR
This paper looks for a breach in the wall of existing impossibility results, by attempting to identify the strongest consistency and liveness guarantees that a TM can ensure while remaining scalable — by ensuring DAP — and maximizing efficiency in read-dominated workloads — by having invisible and wait-free readonly transactions.

Snapshot Isolation Does Not Scale Either

TLDR
It was shown however that a TM cannot ensure strict disjoint-access-parallelism if it also needs to ensure serializability and obstruction-freedom and therefore they are highly desirable when designing TM implementations.

Transactional Memory, 2nd edition

TLDR
This book presents an overview of the state of the art in the design and implementation of transactional memory systems, as of early spring 2010.

The Cost of Privatization

TLDR
It is shown that a transaction privatizing k items must have a data set of size at least k, in an STM with invisible reads, which is oblivious to different non-conflicting executions and guarantees progress in such executions.

RT / 01 / 2013 Practical and Lock-free Parallel Nesting for Software Transactional Memory

TLDR
This paper presents the first lock-free parallel nesting algorithm with support for multi-versions, which is used to outperform the original STM on several known benchmarks by up to 2.8 times.
...

References

SHOWING 1-10 OF 38 REFERENCES

Disjoint-access-parallel implementations of strong shared memory primitives

TLDR
An efficient, non-blocking, disjointaccess-parallel implementation of LL and SCn, using Read and CBS and the asynchronous shar-ed memory model is presented.

On the correctness of transactional memory

TLDR
Opacity is defined as a property of concurrent transaction histories and its graph theoretical interpretation is given and it is proved that every single-version TM system that uses invisible reads and does not abort non-conflicting transactions requires, in the worst case, k steps for an operation to terminate.

Lock-free Serializable Transactions

TLDR
The first serializable, lock-free software transactional memory, which supports dynamic transactions, provides early failure indication, requires a single interface for both read-only and read-write transactions, keeps multiple versions of objects, and allows for disjoint-access parallelism is presented.

The semantics of progress in lock-based transactional memory

TLDR
This paper is the first to formally define the progress semantics of lockbased TMs, which are considered the most effective in practice, and uses this semantics to reduce the problems of reasoning about the correctness and computability power of lock- based TMs to those of simple try-lock objects.

A Lock-based Protocol for Software Transactional Memory

TLDR
This paper presents a new lock-based STM system designed from simple basic principles that does not require the shared memory to manage several versions of each object, uses neither timestamps, nor version numbers, never aborts a write only transaction, and employs only bounded control variables.

A Lock-Based STM Protocol That Satisfies Opacity and Progressiveness

TLDR
This paper presents a lock-based STM system designed from simple basic principles that satisfies the opacity safety property, never aborts a write only transaction, employs only bounded control variables, has no centralized contention point, and is formally proved correct.

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.

Software transactional memory for dynamic-sized data structures

TLDR
A new form of software transactional memory designed to support dynamic-sized data structures, and a novel non-blocking implementation of this STM that uses modular contention managers to ensure progress in practice.

On obstruction-free transactions

TLDR
It is proved that OFTMs cannot ensure disjoint-access-parallelism (in a strict sense) and may result in artificial "hot spots" and thus limit the performance of OFT Ms.

Maintaining Consistent Transactional States without a Global Clock

TLDR
TLC is the proof that one can devise coherent-state STM systems without a global clock, and the big promise of the TLC approach is in providing a decentralized solution for future large scale machines, ones with hundreds of cores.