Progressive Transactional Memory in Time and Space

  title={Progressive Transactional Memory in Time and Space},
  author={Petr Kuznetsov and Srivatsan Ravi},
Transactional memory TM allows concurrent processes to organize sequences of operations on shared data items into atomic transactions. A transaction may commit, in which case it appears to have executed sequentially or it may abort, in which case no data item is updated. The TM programming paradigm emerged as an alternative to conventional fine-grained locking techniques, offering ease of programming and compositionality. Though typically themselves implemented using locks, TMs hide the… 
Grasping the gap between blocking and non-blocking transactional memories
Distributed Universal Constructions: a Guided Tour
A guided tour of universal constructions of n-process asynchronous distributed systems that are able to build any object defined by a sequential specification despite the occurrence of up to (n − 1) process crash failures is presented.
Distributed Computing
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.
Cost of Concurrency in Hybrid Transactional Memory
It is shown that, unlike in progressive STMs, software transactions in progressive HyTMs cannot avoid incremental validation, and algorithms providing progressiveness for a subset of transactions that are optimal in terms of hardware instrumentation are presented.


Principles of Transactional Memory
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.
The Cost of Privatization in Software Transactional Memory
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.
Transactional Locking II
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.
On Partial Wait-Freedom in Transactional Memory
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
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.
On the Cost of Concurrency in Transactional Memory
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.
NOrec: streamlining STM by abolishing ownership records
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.
NZTM: nonblocking zero-indirection transactional memory
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.
Disjoint-access-parallel implementations of strong shared memory primitives
An efficient, non-blocking, disjointaccess-parallel implementation of LL and SCn, using Read and CBS and the asynchronous shar-ed memory model is presented.
The serializability of concurrent database updates
Several efficiently recognizable subclasses of the class of senahzable histories are introduced and it is shown how these results can be extended to far more general transaction models, to transactions with partly interpreted functions, and to distributed database systems.