Using Nesting to Push the Limits of Transactional Data Structure Libraries
Gal Assa, Hagar Meir, Guy Golan-Gueta, Idit Keidar, Alexander, Spiegelman

TL;DR
This paper introduces nesting in transactional data structure libraries (TDSLs) to enhance performance and support complex applications, demonstrating significant improvements over existing software transactional memory systems.
Contribution
It presents a novel nesting approach in TDSLs, enabling efficient handling of long transactions and complex use-cases with multiple data structures.
Findings
Outperforms existing STMs twofold without nesting
Achieves up to 16x performance improvement with nesting
Supports complex applications like network intrusion detection
Abstract
Transactional data structure libraries (TDSL) combine the ease-of-programming of transactions with the high performance and scalability of custom-tailored concurrent data structures. They can be very efficient thanks to their ability to exploit data structure semantics in order to reduce overhead, aborts, and wasted work compared to general-purpose software transactional memory. However, TDSLs were not previously used for complex use-cases involving long transactions and a variety of data structures. In this paper, we boost the performance and usability of a TDSL, towards allowing it to support complex applications. A key idea is nesting. Nested transactions create checkpoints within a longer transaction, so as to limit the scope of abort, without changing the semantics of the original transaction. We build a Java TDSL with built-in support for nested transactions over a number of…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
