Abstract
Lamport observed that in practical systems processes rarely compete for the entry into the Critical Section [1]. This led to research on fast mutual exclusion algorithms that, in the absence of contention, allow a process to enter and exit the Critical Section in O(1) steps. Anderson and Kim designed a general transformation that can turn any mutual exclusion algorithm \(\mathcal{A}\) into a new algorithm \(\mathcal{A'}\) that is fast [2]. Their transformation, however, does not preserve the fairness property FCFS. The main result of this paper is the design of a new transformation which works similarly as Anderson and Kim’s, but additionally preserves FCFS. Our transformation, like theirs, requires only read/write registers.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Lamport, L.: A fast mutual exclusion algorithm. ACM Transactions on Computer Systems 5, 1–11 (1987)
Anderson, J., Kim, Y.J.: A new fast-path mechanism for mutual exclusion. Distributed Computing 14, 17–29 (2001)
Dijkstra, E.: Solution of a problem in concurrent programming control. Communications of the ACM 8, 569 (1965)
Lamport, L.: A new solution of Dijkstra’s concurrent programming problem. Communications of the ACM 17, 453–455 (1974)
Culler, D., Singh, J., Gupta, A.: Parallel Computer Architecture: A Hardware/Software Approach. Morgan-Kaufmann, San Francisco (1998)
Afek, Y., Stupp, G., Touitou, D.: Long-lived and adaptive collect with applications. In: Proceedings of the 40th Annual IEEE Symposium on Foundations of Computer Science, pp. 262–272 (1999)
Anderson, J., Kim, Y.J.: Adaptive mutual exclusion with local spinning. In: Herlihy, M.P. (ed.) DISC 2000. LNCS, vol. 1914, pp. 29–43. Springer, Heidelberg (2000)
Anderson, J., Kim, Y.J.: Local-spin mutual exclusion using fetch-and-φ primitives (2002) (unpublished manuscript)
Anderson, T.: The performance of spin lock alternatives for shared memory multiprocessors. IEEE Transactions on Parallel and Distributed Systems 1, 6–16 (1990)
Attiya, H., Bortnikov, V.: Adaptive and efficient mutual exclusion. In: Proceedings of the 19th Annual Symposium on Principles of Distributed Computing (2000)
Craig, T.S.: Queuing spin-lock algorithms to support timing predictability. In: Proceedings of the Real Time Systems Symposium, pp. 148–157 (1993)
Jayanti, P.: F-arrays: implementation and applications. In: Proceedings of the 21st Annual Symposium on Principles of Distributed Computing, pp. 270–279 (2002)
Mellor-Crummey, J.M., Scott, M.L.: Algorithms for scalable synchronization on shared-memory multiprocessors. ACM Transactions on Computer Systems 9, 21–65 (1991)
Scott, M.L.: Non-blocking timeout in scalable queue-based spin locks. In: Proceedings of the 21st Annual Symposium on Principles of Distributed Computing (2002)
Lycklama, E., Hadzilacos, V.: A first-come-first-served mutual-exclusion algorithm with small communication variables. ACM Transactions on Programming Languages and Systems 13, 558–576 (1991)
Bershad, B.N.: Practical considerations for non-blocking concurrent objects. In: Proceedings of the 13th IEEE International Conference on Distributed Computing Systems, pp. 264–273 (1993)
Jayanti, P., Petrovic, S., Narula, N.: Read/write based fast-path transformation for FCFS mutual exclusion. Technical Report TR 2004 522, Dartmouth College Computer Science Department (2004)
Yang, J.H., Anderson, J.: A fast, scalable mutual exclusion algorithm. Distributed Computing 9, 51–60 (1995)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2005 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Jayanti, P., Petrovic, S., Narula, N. (2005). Read/Write Based Fast-Path Transformation for FCFS Mutual Exclusion. In: Vojtáš, P., Bieliková, M., Charron-Bost, B., Sýkora, O. (eds) SOFSEM 2005: Theory and Practice of Computer Science. SOFSEM 2005. Lecture Notes in Computer Science, vol 3381. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-30577-4_24
Download citation
DOI: https://doi.org/10.1007/978-3-540-30577-4_24
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-24302-1
Online ISBN: 978-3-540-30577-4
eBook Packages: Computer ScienceComputer Science (R0)