Advertisement

Enhancing Readers-Writers Exclusion with Upgrade/Downgrade Primitives

  • Michael Diamond
  • Prasad JayantiEmail author
  • Jake Leichtling
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 9466)

Abstract

We design an algorithm for readers-writers exclusion that allows a writer to downgrade to a reader and a reader to attempt to upgrade to a writer. The highlights of our algorithm are: (i) the upgrade and downgrade methods are linearizable and wait-free, and (ii) all properties deemed desirable, such as concurrent entering, FCFS for writers, FIFE for readers, are satisfied, and (iii) RMR complexity is constant.

Notes

Acknowledgment

We thank Vibhor Bhatt whose conversations with the second author sparked off this research. We also thank the reviewers for pointing us to the earlier work on upgrade and downgrade.

References

  1. 1.
    Courtois, P.J., Heymans, F., Parnas, D.L.: Concurrent control with “readers” and “writers”. Commun. ACM 14(10), 667–668 (1971)CrossRefGoogle Scholar
  2. 2.
  3. 3.
    .NET Framework 4.5 Reader-Writer Lock Description, howpublished. https://msdn.microsoft.com/en-us/library/bz6sth95 note = Accessed: 8 April 2015
  4. 4.
    java.util.concurrent.locks description. http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/locks/ReentrantReadWriteLock.html. Accessed: 8 April 2015
  5. 5.
    Lamport, L.: A new solution of Dijkstra’s concurrent programming problem. CACM 17(8), 453–455 (1974)MathSciNetCrossRefzbMATHGoogle Scholar
  6. 6.
    Bhatt, V., Jayanti, P.: Constant RMR solutions to reader writer synchronization. In: Submitted to the Proceedings of the Twenty-Ninth Annual Symposium on Principles of Distributed Computing (PODC 2010) (2010)Google Scholar
  7. 7.
    Dijkstra, E.W.: Solution of a problem in concurrent programming control. Commun. ACM 8(9), 569 (1965)CrossRefGoogle Scholar
  8. 8.
    Joung, Y.-J.: Asynchronous group mutual exclusion (extended abstract). In: Proceedings of the Seventeenth Annual ACM Symposium on Principles of Distributed Computing, PODC 1998, pp. 51–60, New York. ACM (1998)Google Scholar
  9. 9.
    Hadzilacos, V.: A note on group mutual exclusion. In: Proceedings of the Twentieth Annual ACM Symposium on Principles of Distributed Computing, pp. 100–106, New York. ACM (2001)Google Scholar
  10. 10.
    Fischer, M.J., Lynch, N.A., Burns, J.E., Borodin, A.: Resource allocation with immunity to limited process failure. In: Proceedings of the 20th Annual Symposium on Foundations of Computer Science, SFCS 1979, pp. 234–254, Washington. IEEE Computer Society (1979)Google Scholar
  11. 11.
    Herlihy, M.P., Wing, J.M.: Linearizability: a correctness condition for concurrent objects. ACM TOPLAS 12(3), 463–492 (1990)CrossRefGoogle Scholar
  12. 12.
    Herlihy, M.P.: Wait-free synchronization. ACM TOPLAS 13(1), 124–149 (1991)CrossRefGoogle Scholar

Copyright information

© Springer International Publishing Switzerland 2015

Authors and Affiliations

  • Michael Diamond
    • 1
  • Prasad Jayanti
    • 2
    Email author
  • Jake Leichtling
    • 1
  1. 1.GoogleMountain ViewUSA
  2. 2.Dartmouth CollegeHanoverUSA

Personalised recommendations