Skip to main content

Recycling Memory in Recoverable Mutex Locks

  • Conference paper
  • First Online:
Networked Systems (NETYS 2022)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 13464))

Included in the following conference series:

  • 291 Accesses

Abstract

Recoverable algorithms have blossomed recently in the distributed computing community in response to the commercial release of persistent main memory by Intel. In this context, recoverability refers to an algorithm’s capacity to meet its correctness guarantees despite crash failures, which affect the memory hierarchy in complex ways: any state written to the persistent memory medium is preserved, but any state held in DRAM and volatile CPU registers is lost, along with the volatile cache on some hardware platforms. Classic synchronization problems suddenly become more challenging and interesting to solve in this failure model. In this paper, we focus specifically on the recoverable variant of mutual exclusion, called recoverable mutual exclusion (RME), which was formalized recently by Golab and Ramaraju (PODC’16). Aiming to make RME locks more practical, we introduce a simple memory management scheme for an important class of RME locks, and discuss how to tune it.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

    The algorithm assumes that S[1..N] are unbounded integers, but 64-bit variables are sufficient in practice to prevent overflow.

  2. 2.

    In the amortized analysis, the cost of executing the code in Fig. 2 by thread \(t_i\) is charged to \(t_i\)’s most recent \(N-1\) passages if they were all failure-free, otherwise it is charged to \(t_i\)’s most recent passage where it is recovering from a failure.

References

  1. Anderson, T.E.: The performance of spin lock alternatives for shared-memory multiprocessors. IEEE Trans. Parallel Distrib. Syst. 1(1), 6–16 (1990)

    Article  Google Scholar 

  2. Chan, D., Woelfel, P.: A tight lower bound for the RMR complexity of recoverable mutual exclusion. In: Proceedings of the 40th ACM Symposium on Principles of Distributed Computing (PODC), pp. 533–543 (2021)

    Google Scholar 

  3. Chan, D.Y.C., Woelfel, P.: Recoverable mutual exclusion with constant amortized RMR complexity from standard primitives. In: Proceedings of the 39th ACM Symposium on Principles of Distributed Computing (PODC), pp. 181–190 (2020)

    Google Scholar 

  4. David, T., Guerraoui, R., Trigonakis, V.: Everything you always wanted to know about synchronization but were afraid to ask. In: Proceedings of the 25th ACM Symposium on Operating System Principles (SOSP), pp. 33–48 (2013)

    Google Scholar 

  5. Dhoked, S., Mittal, N.: An adaptive approach to recoverable mutual exclusion. In: Proceedings of the 39th ACM Symposium on Principles of Distributed Computing (PODC), pp. 1–10 (2020)

    Google Scholar 

  6. Dhoked, S., Mittal, N.: An adaptive approach to recoverable mutual exclusion. CoRR abs/2006.07086 (2020). https://arxiv.org/abs/2006.07086

  7. Dijkstra, E.W.: Solutions of a problem in concurrent programming control (reprint). Commun. ACM 26(1), 21–22 (1983)

    Article  Google Scholar 

  8. Golab, W., Hendler, D.: Recoverable mutual exclusion in sub-logarithmic time. In: Proceedings of the 36th ACM Symposium on Principles of Distributed Computing (PODC), pp. 211–220 (2017)

    Google Scholar 

  9. Golab, W., Hendler, D.: Recoverable mutual exclusion under system-wide failures. In: Proceedings of the 37th ACM Symposium on Principles of Distributed Computing (PODC), pp. 17–26 (2018)

    Google Scholar 

  10. Golab, W., Ramaraju, A.: Recoverable mutual exclusion. In: Proceedings of the 35th ACM Symposium on Principles of Distributed Computing (PODC), pp. 65–74 (2016)

    Google Scholar 

  11. Golab, W., Ramaraju, A.: Recoverable mutual exclusion. Distrib. Comput. 32(6), 535–564 (2019). https://doi.org/10.1007/s00446-019-00364-0

    Article  MathSciNet  MATH  Google Scholar 

  12. Jayanti, P., Jayanti, S., Joshi, A.: Optimal recoverable mutual exclusion using only FASAS. In: Podelski, A., Taïani, F. (eds.) NETYS 2018. LNCS, vol. 11028, pp. 191–206. Springer, Cham (2019). https://doi.org/10.1007/978-3-030-05529-5_13

    Chapter  Google Scholar 

  13. Jayanti, P., Jayanti, S., Joshi, A.: A recoverable mutex algorithm with sub-logarithmic RMR on both CC and DSM. In: Proceedings of the 38th ACM Symposium on Principles of Distributed Computing (PODC), pp. 177–186 (2019)

    Google Scholar 

  14. Jayanti, P., Joshi, A.: Recoverable FCFS mutual exclusion with wait-free recovery. In: Proceedings of the 31th International Symposium on Distributed Computing (DISC), pp. 30:1–30:15 (2017)

    Google Scholar 

  15. Jayanti, P., Joshi, A.: Recoverable mutual exclusion with abortability. In: Proceedings of the 7th International Conference on Networked Systems (NETYS), pp. 217–232 (2019)

    Google Scholar 

  16. Katzan, D., Morrison, A.: Recoverable, abortable, and adaptive mutual exclusion with sublogarithmic RMR complexity. In: Proceedings of the 24th International Conference on Principles of Distributed Systems (OPODIS), pp. 15:1–15:16 (2021)

    Google Scholar 

  17. Mellor-Crummey, J.M., Scott, M.L.: Algorithms for scalable synchronization on shared-memory multiprocessors. ACM Trans. Comput. Syst. 9(1), 21–65 (1991)

    Article  Google Scholar 

  18. Xiao, J., Zhang, Z., Golab, W.: Benchmarking recoverable mutex locks. In: Proceedings of the 32nd ACM Symposium on Parallel Algorithms and Architectures (SPAA), pp. 583–585 (2020)

    Google Scholar 

Download references

Acknowledgements

We thank Neeraj Mittal and Sahil Dhoked for stimulating technical discussions of the RME problem. This research was supported by an Ontario Early Researcher Award, a Google Faculty Research Award, as well as the Natural Sciences and Engineering Research Council (NSERC) of Canada.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Wojciech Golab .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2022 The Author(s), under exclusive license to Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Segu, A., Golab, W. (2022). Recycling Memory in Recoverable Mutex Locks. In: Koulali, MA., Mezini, M. (eds) Networked Systems. NETYS 2022. Lecture Notes in Computer Science, vol 13464. Springer, Cham. https://doi.org/10.1007/978-3-031-17436-0_3

Download citation

  • DOI: https://doi.org/10.1007/978-3-031-17436-0_3

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-031-17435-3

  • Online ISBN: 978-3-031-17436-0

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics