skip to main content
10.1145/3572848.3577503acmconferencesArticle/Chapter ViewAbstractPublication PagesppoppConference Proceedingsconference-collections
poster
Public Access

Transactional Composition of Nonblocking Data Structures

Published: 21 February 2023 Publication History

Abstract

We introduce nonblocking transaction composition (NBTC), a new methodology for atomic composition of nonblocking operations on concurrent data structures. Unlike previous software transactional memory (STM) approaches, NBTC leverages the linearizability of existing nonblocking structures, reducing the number of memory accesses that must be executed together, atomically, to only one per operation in most cases (these are typically the linearizing instructions of the constituent operations).
Our obstruction-free implementation of NBTC, which we call Medley, makes it easy to transform most nonblocking data structures into transactional counterparts while preserving their nonblocking liveness and high concurrency. In our experiments, Medley outperforms Lock-Free Transactional Transform (LFTT), the fastest prior competing methodology, by 40--170%. The marginal overhead of Medley's transactional composition, relative to separate operations performed in succession, is roughly 2.2×.
For persistent memory, we observe that failure atomicity for transactions can be achieved "almost for free" with epoch-based periodic persistence. Toward that end, we integrate Medley with nbMontage, a general system for periodically persistent data structures. The resulting txMontage provides ACID transactions and achieves throughput up to two orders of magnitude higher than that of the OneFile persistent STM system.

References

[1]
Wentao Cai, Haosen Wen, Vladimir Maksimovski, Mingzhe Du, Rafaello Sanna, Shreif Abdallah, and Michael L. Scott. 2021. Fast Non-blocking Persistence for Concurrent Data Structures. In 35th Intl. Symp. on Distributed Computing (DISC). Freiburg, Germany, 14:1--14:20.
[2]
Wentao Cai, Haosen Wen, and Michael L. Scott. 2023. Transactional Composition of Nonblocking Data Structures. arXiv preprint arXiv:2301.00996.
[3]
The Transaction Processing Council. 2010. TPC-C Benchmark (Revision 5.11.0). http://www.tpc.org/tpcc/.
[4]
Keir Fraser. 2003. Practical Lock-Freedom. Ph.D. Dissertation. King's College, Univ. of Cambridge. Published as Univ. of Cambridge Computer Laboratory technical report #579, February 2004. www.cl.cam.ac.uk/techreports/UCAM-CL-TR-579.pdf.
[5]
Michal Friedman, Naama Ben-David, Yuanhao Wei, Guy E. Blelloch, and Erez Petrank. 2020. NVTraverse: In NVRAM Data Structures, the Destination is More Important than the Journey. In 41st ACM Conf. on Programming Language Design and Implementation (PLDI). virtual conference, 377--392.
[6]
Timothy L. Harris, Keir Fraser, and Ian A. Pratt. 2002. A Practical Multiword Compare-and-Swap Operation. In 16th Intl. Symp. on Distributed Computing (DISC). Toulouse, France, 265--279.
[7]
Maurice Herlihy, Victor Luchangco, Mark Moir, and William N. Scherer III. 2003. Software Transactional Memory for Dynamic-sized Data Structures. In 22nd ACM Symp. on Principles of Distributed Computing (PODC). Boston, MA, 92--101.
[8]
Pierre LaBorde, Lance Lebanoff, Christina Peterson, Deli Zhang, and Damian Dechev. 2019. Wait-Free Dynamic Transactions for Linked Data Structures. In 10th Intl. Workshop on Programming Models and Applications for Multicores and Manycores (PMAM). Washington, DC, 41--50.
[9]
Virendra Jayant Marathe and Mark Moir. 2008. Toward High Performance Nonblocking Software Transactional Memory. In 13th ACM SIGPLAN Symp. on Principles and Practice of Parallel Programming (PPoPP). Salt Lake City, UT, 227--236.
[10]
Virendra J. Marathe, Michael F. Spear, Christopher Heriot, Athul Acharya, David Eisenstat, William N. Scherer III, and Michael L. Scott. 2006. Lowering the Overhead of Software Transactional Memory. In 1st ACM SIGPLAN Workshop on Transactional Computing (TRANSACT). Ottawa, ON, Canada, 11 pages.
[11]
Aravind Natarajan and Neeraj Mittal. 2014. Fast Concurrent Lock-free Binary Search Trees. In 19th ACM SIGPLAN Symp. on Principles and Practice of Parallel Programming (PPoPP). Orlando, FL, 317--328.
[12]
Faisal Nawab, Joseph Izraelevitz, Terence Kelly, Charles B. Morrey III, Dhruva R. Chakrabarti, and Michael L. Scott. 2017. Dalí: A Periodically Persistent Hash Map. In 31st Intl. Symp. on Distributed Computing (DISC). Vienna, Austria, 37:1--37:16.
[13]
Pedro Ramalhete, Andreia Correia, Pascal Felber, and Nachshon Cohen. 2019. OneFile: A Wait-Free Persistent Transactional Memory. In 49th IEEE/IFIP Intl. Conf. on Dependable Systems and Networks (DSN). Portland, OR, 151--163.
[14]
Michael L. Scott. 2013. Shared-Memory Synchronization. Morgan & Claypool Publishers, San Rafael, CA.
[15]
Alexander Spiegelman, Guy Golan-Gueta, and Idit Keidar. 2016. Transactional Data Structure Libraries. In 37th ACM Conf. on Programming Language Design and Implementation (PLDI). Santa Barbara, CA, 682--696.
[16]
Fuad Tabba, Mark Moir, James R. Goodman, Andrew W. Hay, and Cong Wang. 2009. NZTM: Nonblocking Zero-indirection Transactional Memory. In 21st ACM Symp. on Parallelism in Algorithms and Architectures (SPAA). Calgary, AB, Canada, 204--213.
[17]
Shahar Timnat and Erez Petrank. 2014. A Practical Wait-Free Simulation for Lock-Free Data Structures. In 19th ACM SIGPLAN Symp. on Principles and Practice of Parallel Programming (PPoPP). Orlando, FL, 357--368.
[18]
Deli Zhang and Damian Dechev. 2016. Lock-Free Transactions without Rollbacks for Linked Data Structures. In 28th ACM Symp. on Parallelism in Algorithms and Architectures (SPAA). Pacific Grove, CA, 325--336.

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
PPoPP '23: Proceedings of the 28th ACM SIGPLAN Annual Symposium on Principles and Practice of Parallel Programming
February 2023
480 pages
ISBN:9798400700156
DOI:10.1145/3572848
Permission to make digital or hard copies of part or all of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for third-party components of this work must be honored. For all other uses, contact the Owner/Author.

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 21 February 2023

Check for updates

Author Tags

  1. nonblocking data structures
  2. persistent memory
  3. transactions

Qualifiers

  • Poster

Funding Sources

Conference

PPoPP '23

Acceptance Rates

Overall Acceptance Rate 230 of 1,014 submissions, 23%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • 0
    Total Citations
  • 196
    Total Downloads
  • Downloads (Last 12 months)89
  • Downloads (Last 6 weeks)12
Reflects downloads up to 08 Mar 2025

Other Metrics

Citations

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Login options

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media