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
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.
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.


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.
The semantics of progress in lock-based transactional memory
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.
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.
Software transactional memory for dynamic-sized data structures
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 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.
What Really Makes Transactions Faster
It is found that it was the lower latency of the hand-crafted data structures that made them faster than STMs, and not better contention management or optimizations based on the programmer’s understanding of the particulars of the structure.