Enhancing Readers-Writers Exclusion with Upgrade/Downgrade Primitives
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.
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.
- 2.Boost C++ Libraries description. http://www.boost.org/doc/libs/1_5_/doc/html/thread/synchronization.html#thread.synchronization.mutex_concepts.upgrade_lockable.try_unlock_shared_and_lock_upgrade. Accessed: 8 April 2015d
- 3..NET Framework 4.5 Reader-Writer Lock Description, howpublished. https://msdn.microsoft.com/en-us/library/bz6sth95 note = Accessed: 8 April 2015
- 4.java.util.concurrent.locks description. http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/locks/ReentrantReadWriteLock.html. Accessed: 8 April 2015
- 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
- 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.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.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