Proceedings ArticleDOI
LOFT: lock-free transactional data structures
Avner Elizarov,Guy Golan-Gueta,Erez Petrank +2 more
- pp 425-426
Reads0
Chats0
TLDR
This work presents a design of a transactional framework supporting linearizable transactions of multiple operations on multiple data structures in a lock-free manner, and presents an evaluation of the system showing that it outperform general software transactional memory, and are competitive with lock-based transactional data structures.Abstract:
Concurrent data structures are widely used in modern multicore architectures, providing atomicity (linearizability) for each concurrent operation. However, it is often desirable to execute several operations on multiple data structures atomically. We present a design of a transactional framework supporting linearizable transactions of multiple operations on multiple data structures in a lock-free manner. Our design uses a helping mechanism to obtain lock-freedom, and an advanced lock-free contention management mechanism to mitigate the effects of aborting transactions. When cyclic helping conflicts are detected, the contention manager reorders the conflicting transactions execution allowing all transactions to complete with minimal delay. To exemplify this framework we implement a transactional set using a skip-list, a transactional queue, and a transactional register. We present an evaluation of the system showing that we outperform general software transactional memory, and are competitive with lock-based transactional data structures.read more
Citations
More filters
Proceedings ArticleDOI
NVTraverse: in NVRAM data structures, the destination is more important than the journey
TL;DR: In this paper, the authors present a general transformation that takes a lock-free data structure from a general class called traversal data structure and automatically transforms it into an implementation of the data structure for the NVRAM setting that is provably linearizable and highly efficient.
Posted Content
NVTraverse: In NVRAM Data Structures, the Destination is More Important than the Journey
TL;DR: A general transformation that takes a lock-free data structure from a general class called traversal data structure and automatically transforms it into an implementation of the data structure for the NVRAM setting that is provably durably linearizable and highly efficient is presented.
Proceedings ArticleDOI
Block-STM: Scaling Blockchain Execution by Turning Ordering Curse to a Performance Blessing
Rati Gelashvili,Alexander Spiegelman,Zhuolun Xiang,George Danezis,Zekun Li,Yu Xia,Runtian Zhou,Dahlia Malkhi +7 more
TL;DR: This evaluation demonstrates that Block-STM is adaptive to workloads with different conflict rates and utilizes the inherent parallelism therein.
Journal ArticleDOI
C4: verified transactional objects
TL;DR: In this paper , a formal verification framework called C4 is presented to prove the correctness of transactional set objects. But the proof is modular, reasoning separately about the transactional and non-transactional parts of the implementation.
Posted Content
Adapting Persistent Data Structures for Concurrency and Speculation
TL;DR: This work exploits a correspondence between design goals for efficient concurrent data structures and efficient immutable persistent data structures, to produce novel implementations of mutable concurrent trees with low contention and an efficient snapshot operation to support speculative execution models.
References
More filters
Journal ArticleDOI
Linearizability: a correctness condition for concurrent objects
TL;DR: This paper defines linearizability, compares it to other correctness conditions, presents and demonstrates a method for proving the correctness of implementations, and shows how to reason about concurrent objects, given they are linearizable.
Proceedings ArticleDOI
Transactional memory: architectural support for lock-free data structures
Maurice Herlihy,J. Eliot B. Moss +1 more
TL;DR: Simulation results show that transactional memory matches or outperforms the best known locking techniques for simple benchmarks, even in the absence of priority inversion, convoying, and deadlock.
Proceedings ArticleDOI
Software transactional memory
Nir N. Shavit,Dan Touitou +1 more
TL;DR: STM is used to provide a general highly concurrent method for translating sequential object implementations to non-blocking ones based on implementing a k-word compare&swap STM-transaction, a novel software method for supporting flexible transactional programming of synchronization operations.
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.
Proceedings ArticleDOI
Simple, fast, and practical non-blocking and blocking concurrent queue algorithms
TL;DR: Experiments on a 12-node SGI Challenge multiprocessor indicate that the new non-blocking queue consistently outperforms the best known alternatives; it is the clear algorithm of choice for machines that provide a universal atomic primitive (e.g., compare_and_swap or load_linked/store_conditional).