Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Skip to main content

Optimal Recoverable Mutual Exclusion Using only FASAS

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

Part of the book series: Lecture Notes in Computer Science ((LNCCN,volume 11028))

Included in the following conference series:

Abstract

Recent research has focused on designing concurrent algorithms that are resilient to process crashes. The idea is to leverage non-volatile memory so that processes can recover from crashes with as little disruption to the normal behavior of the system as possible. We present the first Recoverable Mutual Exclusion algorithm whose Remote Memory Reference (RMR) complexity is optimal for both Cache-Coherent (CC) and Distributed Shared Memory (DSM) machines. If a process fails f times during its attempt to acquire the Critical Section, our algorithm ensures that the process incurs O(1) RMRs on a DSM machine and O(f) RMRs on a CC machine, which we prove is an optimal bound. Our algorithm improves on a recent algorithm by Golab and Hendler in three ways: It has a provably optimal RMR complexity, has a wait-free Exit section, and less reliance on instructions that are not commonly supported on multiprocessors. In particular, Golab and Hendler’s algorithm relies on hardware support for both Fetch-And-Store-And-Store (FASAS) and Double-Word Compare-And-Swap (DCAS), while our algorithm relies only on FASAS. (If X and Y are shared variables and v is a value, FASAS(XYv) writes X’s value in Y and writes v in X, all in a single atomic action.)

The first author is grateful to the Frank family and Dartmouth College for their support through James Frank Family Professorship of Computer Science.

The second author is grateful for the support of Department of Defense (DoD) through the National Defense Science & Engineering Graduate Fellowship (NDSEG) Program.

The third author is grateful for the support of Dartmouth Fellowship.

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

Access this chapter

Subscribe and save

Springer+ Basic
$34.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

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

Similar content being viewed by others

References

  1. Dijkstra, E.W.: Solution of a problem in concurrent programming control. Commun. ACM 8(9), 569 (1965)

    Article  Google Scholar 

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

    Google Scholar 

  3. Golab, W., Ramaraju, A.: Recoverable mutual exclusion: [extended abstract]. In: Proceedings of the 2016 ACM Symposium on Principles of Distributed Computing. PODC 2016, pp. 65–74. ACM, New York (2016)

    Google Scholar 

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

    Google Scholar 

  5. Ramaraju, A.: RGLock: Recoverable mutual exclusion for non-volatile main memory systems. Master’s thesis. University of Waterloo (2015)

    Google Scholar 

  6. Craig, T.S.: Building FIFO and Priority-Queuing Spin Locks from Atomic Swap. Technical report TR-93-02-02, Department of Computer Science, University of Washington, February 1993

    Google Scholar 

  7. Dvir, R., Taubenfeld, G.: Mutual exclusion algorithms with constant RMR complexity and wait-free exit code. In: Proceedings of The 21st International Conference on Principles of Distributed Systems, OPODIS 2017 (2017)

    Google Scholar 

  8. Lamport, L.: A new solution of Dijkstra’s concurrent programming problem. Commun. ACM 17(8), 453–455 (1974)

    Article  MathSciNet  Google Scholar 

  9. 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 

Download references

Acknowledgment

We are grateful to the anonymous reviewers for their careful and detailed reviews.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Anup Joshi .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2019 Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Jayanti, P., Jayanti, S., Joshi, A. (2019). Optimal Recoverable Mutual Exclusion Using only FASAS. In: Podelski, A., Taïani, F. (eds) Networked Systems. NETYS 2018. Lecture Notes in Computer Science(), vol 11028. Springer, Cham. https://doi.org/10.1007/978-3-030-05529-5_13

Download citation

  • DOI: https://doi.org/10.1007/978-3-030-05529-5_13

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-030-05528-8

  • Online ISBN: 978-3-030-05529-5

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics