Affiliation:
1. Technion, Israel
2. Yahoo Research, Israel
3. Technion, Israel / Yahoo Research, Israel
Abstract
We introduce transactions into libraries of concurrent data structures; such transactions can be used to ensure atomicity of sequences of data structure operations. By focusing on transactional access to a well-defined set of data structure operations, we strike a balance between the ease-of-programming of transactions and the efficiency of custom-tailored data structures. We exemplify this concept by designing and implementing a library supporting transactions on any number of maps, sets (implemented as skiplists), and queues. Our library offers efficient and scalable transactions, which are an order of magnitude faster than state-of-the-art transactional memory toolkits. Moreover, our approach treats stand-alone data structure operations (like put and enqueue) as first class citizens, and allows them to execute with virtually no overhead, at the speed of the original data structure library.
Publisher
Association for Computing Machinery (ACM)
Subject
Computer Graphics and Computer-Aided Design,Software
Reference51 articles.
1. Concurrentskiplistmap from java.util.concurrent. http: //docs.oracle.com/javase/7/docs/api/java/util/ concurrent/ConcurrentSkipListMap.html. Concurrentskiplistmap from java.util.concurrent. http: //docs.oracle.com/javase/7/docs/api/java/util/ concurrent/ConcurrentSkipListMap.html.
2. C++ concurrent data structures from libcd. http://libcds. sourceforge.net/. C++ concurrent data structures from libcd. http://libcds. sourceforge.net/.
3. Tl2 implementation. github.com/daveboutcher/tl2-x86-mp. Tl2 implementation. github.com/daveboutcher/tl2-x86-mp.
4. Transactional predication
5. A practical concurrent binary search tree
Cited by
6 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Block-STM;Proceedings of the 28th ACM SIGPLAN Annual Symposium on Principles and Practice of Parallel Programming;2023-02-21
2. Better Predicates and Heuristics for Improved Commutativity Synthesis;Automated Technology for Verification and Analysis;2023
3. Dynamic Transactional Transformation;Concurrency and Computation: Practice and Experience;2020-04-03
4. Check-Wait-Pounce: Increasing Transactional Data Structure Throughput by Delaying Transactions;Distributed Applications and Interoperable Systems;2019
5. Lock-Free Transactional Adjacency List;Languages and Compilers for Parallel Computing;2019