Nesting and composition in transactional data structure libraries

Gal Assa, Hagar Meir, Guy Golan-Gueta, Idit Keidar, Alexander Spiegelman

Research output: Chapter in Book/Report/Conference proceedingConference contributionpeer-review

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 work, we boost the performance and usability of a TDSL, 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 nesting in a number of data structures. We conduct a case study of a complex network intrusion detection system that invests a significant amount of work to process each packet. Our study shows that our library outperforms TL2 twofold without nesting, and by up to 16x when nesting is used. Finally, we discuss cross-library nesting, namely dynamic composition of transactions from multiple libraries.

Original languageEnglish
Title of host publicationPPoPP 2020 - Proceedings of the 2020 25th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming
Pages405-406
Number of pages2
ISBN (Electronic)9781450368186
DOIs
StatePublished - 19 Feb 2020
Event25th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPoPP 2020 - San Diego, United States
Duration: 22 Feb 202026 Feb 2020

Publication series

NameProceedings of the 25th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming

Conference

Conference25th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPoPP 2020
Country/TerritoryUnited States
CitySan Diego
Period22/02/2026/02/20

All Science Journal Classification (ASJC) codes

  • Software

Cite this