Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/3212734.3212783acmotherconferencesArticle/Chapter ViewAbstractPublication PagespodcConference Proceedingsconference-collections
announcement

Brief Announcement: Persistent Multi-Word Compare-and-Swap

Published: 23 July 2018 Publication History

Abstract

This brief announcement presents a fundamental concurrent primitive for persistent memory - a persistent atomic multi-word compare-and-swap (PMCAS).We present a novel algorithm carefully crafted to ensure that atomic updates to a multitude of words modified by the PMCAS are persisted correctly. Our algorithm leverages hardware transactional memory (HTM) for concurrency control, and has a total of 3 persist barriers in its critical path. We also overview variants based on just the compare-and-swap (CAS) instruction and a hybrid of CAS and HTM.

References

[1]
3dxpoint 2015. 3D XPoint Technology Revolutionizes Storage Memory. http://www.intel.com/content/www/us/en/architecture-and-technology/3dxpoint-technology-animation.html.
[2]
Ryan Berryhill, Wojciech M. Golab, and Mahesh Tripunitara. 2015. Robust Shared Objects for Non-Volatile Main Memory. In 19th International Conference on Principles of Distributed Systems. 20:1--20:17.
[3]
Kumud Bhandari, Dhruva R. Chakrabarti, and Hans-Juergen Boehm. 2016. Makalu: fast recoverable allocation of non-volatile memory. In Proceedings of the 2016 ACM SIGPLAN International Conference on Object-Oriented Programming, Systems, Languages, and Applications. 677--694.
[4]
Dhruva R. Chakrabarti, Hans-Juergen Boehm, and Kumud Bhandari. 2014. Atlas: leveraging locks for non-volatile memory consistency. In Proceedings of the 2014 ACM International Conference on Object Oriented Programming Systems Languages & Applications, OOPSLA 2014, part of SPLASH 2014, Portland, OR, USA, October 20--24, 2014. 433--452.
[5]
Joel Coburn, Adrian M. Caulfield, Ameen Akel, Laura M. Grupp, Rajesh K. Gupta, Ranjit Jhala, and Steven Swanson. 2011. NV-Heaps: Making Persistent Objects Fast and Safe with Next-generation, Non-volatile Memories. In Proceedings of the Sixteenth International Conference on Architectural Support for Programming Languages and Operating Systems. 105--118.
[6]
Michal Friedman, Maurice Herlihy, Virendra Marathe, and Erez Petrank. 2018. A Persistent Lock-free Queue for Non-volatile Memory. In Proceedings of the 23rd ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming. 28--40.
[7]
Michael Greenwald. 2002. Two-handed emulation: how to build non-blocking implementation of complex data-structures using DCAS. In Proceedings of the Twenty-First Annual ACM Symposium on Principles of Distributed Computing. 260--269.
[8]
Timothy L. Harris, Keir Fraser, and Ian A. Pratt. 2002. A Practical Multi-word Compare-and-Swap Operation. In Distributed Computing, 16th International Conference. 265--279.
[9]
IBM. {n. d.}. AIX transactional memory programming. https://www.ibm.com/support/knowledgecenter/en/ssw_aix_71/com.ibm. aix.genprogc/transactional_memory.htm.
[10]
intel-isa 2015. Intel Architecture Instruction Set Extensions Programming Reference. https://software.intel.com/sites/default/files/managed/0d/53/319433-022.pdf
[11]
Joseph Izraelevitz, Hammurabi Mendes, and Michael L. Scott. 2016. Linearizability of Persistent Memory Objects Under a Full-System-Crash Failure Model. In Distributed Computing - 30th International Symposium. 313--327.
[12]
Mengxing Liu, Mingxing Zhang, Kang Chen, Xuehai Qian, Yongwei Wu, Weimin Zheng, and Jinglei Ren. 2017. DudeTM: Building Durable Transactions with Decoupling for Persistent Memory. In Proceedings of the Twenty-Second International Conference on Architectural Support for Programming Languages and Operating Systems. 329--343.
[13]
Amirsaman Memaripour, Anirudh Badam, Amar Phanishayee, Yanqi Zhou, Ramnatthan Alagappan, Karin Strauss, and Steven Swanson. 2017. Atomic In-place Updates for Non-volatile Main Memories with Kamino-Tx. In Proceedings of the Twelfth European Conference on Computer Systems. 499--512.
[14]
Faisal Nawab, Dhruva R. Chakrabarti, Terence Kelly, and Charles B. Morrey III. 2015. Procrastination Beats Prevention: Timely Sufficient Persistence for Efficient Crash Resilience. In Proceedings of the 18th International Conference on Extending Database Technology, EDBT 2015. 689--694.
[15]
James Reinders. 2012. Transactional Synchronization in Haswell. https://software.intel.com/en-us/blogs/2012/02/07/transactional-synchronizationin-haswell.
[16]
Haris Volos, Andres Jaan Tack, and Michael M. Swift. 2011. Mnemosyne: lightweight persistent memory. In Proceedings of the 16th International Conference on Architectural Support for Programming Languages and Operating Systems. 91--104.
[17]
Tianzheng Wang, Justin Levandoski, and Per-Ake Larson. 2018. Easy Lock-Free Indexing in Non-Volatile Memory. In 34th IEEE International Conference on Data Engineering

Cited By

View all
  • (2023)lfbench: a lock-free microbenchmark suite2023 IEEE International Symposium on Performance Analysis of Systems and Software (ISPASS)10.1109/ISPASS57527.2023.00040(322-324)Online publication date: Apr-2023
  • (2022)Detectable recovery of lock-free data structuresProceedings of the 27th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming10.1145/3503221.3508444(262-277)Online publication date: 2-Apr-2022
  • (2021)A Fast, General System for Buffered Persistent Data StructuresProceedings of the 50th International Conference on Parallel Processing10.1145/3472456.3472458(1-11)Online publication date: 9-Aug-2021
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Other conferences
PODC '18: Proceedings of the 2018 ACM Symposium on Principles of Distributed Computing
July 2018
512 pages
ISBN:9781450357951
DOI:10.1145/3212734
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.

In-Cooperation

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 23 July 2018

Check for updates

Author Tags

  1. compare-and-swap
  2. persistent memory

Qualifiers

  • Announcement

Conference

PODC '18

Acceptance Rates

PODC '18 Paper Acceptance Rate 41 of 163 submissions, 25%;
Overall Acceptance Rate 740 of 2,477 submissions, 30%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)4
  • Downloads (Last 6 weeks)0
Reflects downloads up to 22 Feb 2025

Other Metrics

Citations

Cited By

View all
  • (2023)lfbench: a lock-free microbenchmark suite2023 IEEE International Symposium on Performance Analysis of Systems and Software (ISPASS)10.1109/ISPASS57527.2023.00040(322-324)Online publication date: Apr-2023
  • (2022)Detectable recovery of lock-free data structuresProceedings of the 27th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming10.1145/3503221.3508444(262-277)Online publication date: 2-Apr-2022
  • (2021)A Fast, General System for Buffered Persistent Data StructuresProceedings of the 50th International Conference on Parallel Processing10.1145/3472456.3472458(1-11)Online publication date: 9-Aug-2021
  • (2021)BBB: Simplifying Persistent Programming using Battery-Backed Buffers2021 IEEE International Symposium on High-Performance Computer Architecture (HPCA)10.1109/HPCA51647.2021.00019(111-124)Online publication date: Feb-2021
  • (2020)Nonblocking Persistent Software Transactional Memory2020 IEEE 27th International Conference on High Performance Computing, Data, and Analytics (HiPC)10.1109/HiPC50609.2020.00042(283-293)Online publication date: Dec-2020
  • (2019)Persistent Atomics for Implementing Durable Lock-Free Data Structures for Non-Volatile Memory (Brief Announcement)The 31st ACM Symposium on Parallelism in Algorithms and Architectures10.1145/3323165.3323166(309-311)Online publication date: 17-Jun-2019
  • (2019)OneFile: A Wait-Free Persistent Transactional Memory2019 49th Annual IEEE/IFIP International Conference on Dependable Systems and Networks (DSN)10.1109/DSN.2019.00028(151-163)Online publication date: Jun-2019
  • (2019)Verifying Correctness of Persistent Concurrent Data StructuresFormal Methods – The Next 30 Years10.1007/978-3-030-30942-8_12(179-195)Online publication date: 23-Sep-2019

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media