scispace - formally typeset
Open AccessProceedings ArticleDOI

On Partial Wait-Freedom in Transactional Memory

TLDR
In this article, the authors explore the costs of providing wait-freedom to only a subset of transactions and show that this kind of partial waitfreedom, combined with attractive requirements like read invisibility or disjoint-access parallelism, incurs considerable complexity costs.
Abstract
Transactional memory (TM) is a convenient synchronization tool that allows concurrent threads to declare sequences of instructions on shared data as speculative transactions with "all-or-nothing" semantics. It is known that dynamic transactional memory cannot provide wait-free progress ensuring that every transaction commits in a finite number of its own steps. In this paper, we explore the costs of providing wait-freedom to only a subset of transactions. We require 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. We show that this kind of partial wait-freedom, combined with attractive requirements like read invisibility or disjoint-access parallelism, incurs considerable complexity costs.

read more

Citations
More filters
Journal ArticleDOI

Universal constructions that ensure disjoint-access parallelism and wait-freedom

TL;DR: This work shows that there is no universal construction that is both disjoint-access parallel (guaranteeing the processes operating on different parts of an implemented object do not interfere with one another) and wait-free (gu Guaranteeing progress for each nonfaulty process when accessing an object).
Book ChapterDOI

Progressive Transactional Memory in Time and Space

TL;DR: In this paper, the authors explore the inherent time and space complexity of lock-based transactional memory TMs, with a focus on the most popular class of progressive lockbased TMs and derive that a progressive TM might enforce a read-only transaction to perform a quadratic in the number of the data items it reads and access a linear number of distinct memory locations.
Journal ArticleDOI

The PCL Theorem: Transactions cannot be Parallel, Consistent, and Live

TL;DR: It is established that it is impossible to design a transactional memory algorithm that ensures parallelism, i.e., transactions do not need to synchronize unless they access the same application objects.
Dissertation

Data structures for current multi-core and future many-core architectures

TL;DR: This work proposes WFR-TM, an approach based on transactional memory (TM), which is a concurrent programming paradigm that employs transactions in order to synchronize the access to shared data, and presents Dense, a concurrent graph implementation, an innovative concurrent graph model that provides addition and removal of any edge of the graph, as well as atomic traversals of a part (or the entirety) of thegraph.
Posted Content

Why Transactional Memory Should Not Be Obstruction-Free

TL;DR: This paper explains the shift in the TM practice theoretically, via complexity bounds, and proves a few important lower bounds on obstruction-free TMs, and presents a lock-based TM implementation that beats all of these lower bounds.
References
More filters
Journal ArticleDOI

Wait-free synchronization

TL;DR: A hierarchy of objects is derived such that no object at one level has a wait-free implementation in terms of objects at lower levels, and it is shown that atomic read/write registers, which have been the focus of much recent attention, are at the bottom of the hierarchy.
Proceedings ArticleDOI

Software transactional memory for dynamic-sized data structures

TL;DR: 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.

Practical lock-freedom

Keir Fraser
TL;DR: 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.
Proceedings ArticleDOI

Disjoint-access-parallel implementations of strong shared memory primitives

TL;DR: An efficient, non-blocking, disjointaccess-parallel implementation of LL and SCn, using Read and CBS and the asynchronous shar-ed memory model is presented.
Proceedings ArticleDOI

STMBench7: a benchmark for software transactional memory

TL;DR: STMBench7 is presented: a candidate benchmark for evaluating STM implementations and illustrated with an evaluation of a well-known software transactional memory implementation.