Lock-Free Transactions Without Rollbacks For Linked Data Structures
Keywords
Lock-free; Transactional boosting; Transactional data structure; Transactional memory
Abstract
Non-blocking data structures allow scalable and thread-safe accesses to shared data. They provide individual operations that appear to execute atomically. However, it is often desirable to execute multiple operations atomically in a transactional manner. Previous solutions, such as software transactional memory (STM) and transactional boosting, manage transaction synchronization in an external layer separated from the data structure's own thread-level concurrency control. Although this reduces programming effort, it leads to overhead associated with additional synchronization and the need to rollback aborted transactions. In this work, we present a new methodology for transforming high-performance lock-free linked data structures into high-performance lock-free transactional linked data structures without revamping the data structures' original synchronization design. Our approach leverages the semantic knowledge of the data structure to eliminate the overhead of false conflicts and rollbacks. We encapsulate all operations, operands, and transaction status in a transaction descriptor, which is shared among the nodes accessed by the same transaction. We coordinate threads to help finish the remaining operations of delayed transactions based on their transaction descriptors. When transaction fails, we recover the correct abstract state by reversely interpreting the logical status of a node. In our experimental evaluation using transactions with randomly generated operations, our lock-free transactional lists and skiplist outperform the transactional boosted ones by 40% on average and as much as 125% for large transactions. They also outperform the alternative STM-based approaches by a factor of 3 to 10 across all scenarios. More importantly, we achieve 4 to 6 orders of magnitude less spurious aborts than the alternatives.
Publication Date
7-11-2016
Publication Title
Annual ACM Symposium on Parallelism in Algorithms and Architectures
Volume
11-13-July-2016
Number of Pages
325-336
Document Type
Article; Proceedings Paper
Personal Identifier
scopus
DOI Link
https://doi.org/10.1145/2935764.2935780
Copyright Status
Unknown
Socpus ID
84979747865 (Scopus)
Source API URL
https://api.elsevier.com/content/abstract/scopus_id/84979747865
STARS Citation
Zhang, Deli and Dechev, Damian, "Lock-Free Transactions Without Rollbacks For Linked Data Structures" (2016). Scopus Export 2015-2019. 4391.
https://stars.library.ucf.edu/scopus2015/4391