Nothing Special   »   [go: up one dir, main page]

skip to main content
10.1145/3350755.3400257acmconferencesArticle/Chapter ViewAbstractPublication PagesspaaConference Proceedingsconference-collections
short-paper

Tracking in Order to Recover - Detectable Recovery of Lock-Free Data Structures

Published: 09 July 2020 Publication History

Abstract

We present the tracking approach for deriving detectable implementations of many widely-used concurrent data structures for systems with non-volatile main memory (NVRAM). Detectable recovery ensures that in the crash-recovery model, every operation executed during a crash, resumes its execution and returns a correct response, and that the state of the data structure is not corrupted.

References

[1]
Hagit Attiya, Ohad Ben-Baruch, Panagiota Fatourou, Danny Hendler, and Eleftherios Kosmas. 2019. Tracking in Order to Recover: Recoverable Lock-Free Data Structures. CoRR, Vol. abs/1905.13600 (2019). http://arxiv.org/abs/1905.13600
[2]
Hagit Attiya, Ohad Ben-Baruch, and Danny Hendler. 2018. Nesting-Safe Recoverable Linearizability: Modular Constructions for Non-Volatile Memory. In ACM Symp on Principles of Distributed Computing (PODC). 7--16.
[3]
Greg Barnes. 1993. A Method for Implementing Lock-Free Shared-Data Structures. In 5th ACM Symp on Parallel Algorithms and Architectures (SPAA). 261--270.
[4]
Naama Ben-David, Guy E Blelloch, Michal Friedman, and Yuanhao Wei. 2019. Delay-free concurrency on faulty persistent memory. In 31st ACM Symp on Parallelism in Algorithms and Architectures (SPAA). 253--264.
[5]
Shimin Chen and Qin Jin. 2015. Persistent B+-Trees in Non-Volatile Main Memory. Proceedings VLDB, Vol. 8, 7 (2015), 786--797.
[6]
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 16th International Conf on Architectural Support for Programming Languages and Operating Systems (ASPLOS) .
[7]
Faith Ellen, Panagiota Fatourou, Eric Ruppert, and Franck van Breugel. 2010. Non-blocking binary search trees. In 29th ACM Symp on Principles of Distributed Computing (PODC). 131--140.
[8]
Steven Feldman, Carlos Valera-Leon, and Damian Dechev. 2016. An efficient wait-free vector. IEEE Trans on Parallel and Distributed Systems, Vol. 27, 3 (2016), 654--667.
[9]
Mikhail Fomitchev and Eric Ruppert. 2004. Lock-free linked lists and skip lists. In 23rd ACM Symp on Principles of Distributed Computing, PODC. 50--59.
[10]
Michal Friedman, Maurice Herlihy, Virendra J. Marathe, and Erez Petrank. 2018. A persistent lock-free queue for non-volatile memory. In 23rd ACM SIGPLAN Symp on Principles and Practice of Parallel Programming (PPoPP). 28--40.
[11]
Timothy L. Harris. 2001. A Pragmatic Implementation of Non-blocking Linked-Lists. In Distributed Computing, 15th International Conf (DISC). 300--314.
[12]
Danny Hendler, Nir Shavit, and Lena Yerushalmi. 2010. A scalable lock-free stack algorithm. J. Parallel Distrib. Comput., Vol. 70, 1 (2010), 1--12.
[13]
Joseph Izraelevitz, Hammurabi Mendes, and Michael L. Scott. 2016. Linearizability of Persistent Memory Objects Under a Full-System-Crash Failure Model. In 30th International Symp on Distributed Computing DISC. 313--327.
[14]
Maged M. Michael and Michael L. Scott. 1996. Simple, Fast, and Practical Non-Blocking and Blocking Concurrent Queue Algorithms. In 15th ACM Symp on Principles of Distributed Computing (PODC). 267--275.
[15]
Shivaram Venkataraman, Niraj Tolia, Parthasarathy Ranganathan, and Roy H. Campbell. 2011. Consistent and Durable Data Structures for Non-Volatile Byte-Addressable Memory. In 9th USENIX Conf on File and Storage Technologies. 61--75.

Cited By

View all
  • (2023)Memento: A Framework for Detectable Recoverability in Persistent MemoryProceedings of the ACM on Programming Languages10.1145/35912327:PLDI(292-317)Online publication date: 6-Jun-2023
  • (2023)FreSh: A Lock-Free Data Series Index2023 42nd International Symposium on Reliable Distributed Systems (SRDS)10.1109/SRDS60354.2023.00029(209-220)Online publication date: 25-Sep-2023
  • (2022)A Closer Look at Detectable Objects for Persistent MemoryProceedings of the 2022 Workshop on Advanced tools, programming languages, and PLatforms for Implementing and Evaluating algorithms for Distributed systems10.1145/3524053.3542749(56-64)Online publication date: 25-Jul-2022
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Conferences
SPAA '20: Proceedings of the 32nd ACM Symposium on Parallelism in Algorithms and Architectures
July 2020
601 pages
ISBN:9781450369350
DOI:10.1145/3350755
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: 09 July 2020

Check for updates

Author Tags

  1. detectability
  2. non-volatile memory
  3. recoverable algorithms

Qualifiers

  • Short-paper

Funding Sources

  • ISF
  • ESF

Conference

SPAA '20
Sponsor:

Acceptance Rates

Overall Acceptance Rate 447 of 1,461 submissions, 31%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)5
  • Downloads (Last 6 weeks)0
Reflects downloads up to 26 Nov 2024

Other Metrics

Citations

Cited By

View all
  • (2023)Memento: A Framework for Detectable Recoverability in Persistent MemoryProceedings of the ACM on Programming Languages10.1145/35912327:PLDI(292-317)Online publication date: 6-Jun-2023
  • (2023)FreSh: A Lock-Free Data Series Index2023 42nd International Symposium on Reliable Distributed Systems (SRDS)10.1109/SRDS60354.2023.00029(209-220)Online publication date: 25-Sep-2023
  • (2022)A Closer Look at Detectable Objects for Persistent MemoryProceedings of the 2022 Workshop on Advanced tools, programming languages, and PLatforms for Implementing and Evaluating algorithms for Distributed systems10.1145/3524053.3542749(56-64)Online publication date: 25-Jul-2022
  • (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
  • (2022)FliTProceedings of the 27th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming10.1145/3503221.3508436(309-321)Online publication date: 2-Apr-2022
  • (2022)The performance power of software combining in persistenceProceedings of the 27th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming10.1145/3503221.3508426(337-352)Online publication date: 2-Apr-2022
  • (2022)Recovery of Distributed Iterative Solvers for Linear Systems Using Non-Volatile RAM2022 IEEE/ACM 12th Workshop on Fault Tolerance for HPC at eXtreme Scale (FTXS)10.1109/FTXS56515.2022.00007(11-23)Online publication date: Nov-2022
  • (2020)SageProceedings of the VLDB Endowment10.14778/3397230.339725113:9(1598-1613)Online publication date: 1-May-2020

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media