DISC 1999: Distributed Computing pp 166-179 | Cite as
Fair and Efficient Mutual Exclusion Algorithms
Abstract
Peterson’s n-process mutual exclusion algorithm [P81] has been widely touted for elegance and simplicity. It has been analyzed ex- tensively, and yet certain properties have eluded the researchers. This paper illustrates, and expands on, several properties of Peterson’s algo- rithm: (1) We reiterate that the number of processes that can overtake a process, called unfairness index, is unbounded in Peterson’s algorithm; (2) With a slight modification of the algorithm, we obtain the unfair- ness index of n(n - 1)/2; (3) We identify an inherent characteristic of that algorithm that sets the lower bound of n(n - 1)/2 for the unfair- ness index; (4) By modifying the characteristic, we obtain algorithms with unfairness index (n - 1); (5) We show that the new algorithms are amenable to reducing shared space requirement, and to improving time efficiency (where the number of steps executed is proportional to the current contention); and (6) We also extend the algorithms to solve l- exclusion problem in a simple and straightforward way.
Keywords
Critical Section Mutual Exclusion Concurrent Programming Fairness Index Mutual Exclusion AlgorithmPreview
Unable to display preview. Download preview PDF.
References
- ADGMS94.Y. Afek, D. Dolev, E. Gafni, M. Merrit and N. Shavit, A bounded First-In, First-Enabled Solution to the l-exclusion Problem, ACM TOPLAS, 16(3): 939–953, 1994.CrossRefGoogle Scholar
- AM94.J. H. Anderson and M. Moir, Using k-exclusion to implement Resilient, Scalable Shared Objects, PODC’ 94, 141–150, 1994.Google Scholar
- BD93.A. Burns and G. Davies, Concurrent Programming, Addison Wesley, 1993.Google Scholar
- CS94.M. Choy and A. K. Singh, Adaptive Solutions to the Mutual Exclusion Problem, Distributed Computing, 8:1–17, 1994.CrossRefGoogle Scholar
- DS97.D. Delov and N. Shavit, Bounded Concurrent Time-stamping, SIAM Journal of Computing, 26(2):418–455, 1997.CrossRefGoogle Scholar
- D65.E.W. Dijkstra, Solution of a Problem in Concurrent Programming Control, CACM, 8(9):569, 1965.Google Scholar
- D81.E.W. Dijkstra, An assertional proof of a program by G.L. Peterson, EWD 779, 1981.Google Scholar
- FLBB79.M. Fischer, N. Lynch, J. Burns, and A. Borodin, Resource Allocation with immunity to Process Failure, Proc. of the 20th Annual IEEE symposium on FOCS, 78–92, 1979.Google Scholar
- H90.M. Hofri, Proof of a mutual exclusion algorithm–A ‘class’ic example, ACM SIGOSR 24(1):18–22, 1990.Google Scholar
- KP84.T. Kowaltowski and A. Palma, Another Solution of the Mutual Exclusion Problem, IPL 19(3):145–146, 1984.CrossRefMathSciNetGoogle Scholar
- L87.L. Lamport, A Fast Mutual Exclusion Algorithm, ACM TOCS, 5(1), 1–11, 1987.CrossRefGoogle Scholar
- L96.N. Lynch, Distributed Algorithms, Morgan Kaufmann Publishers, Inc., 1996.Google Scholar
- P81.G.L. Peterson, Myths about the mutual exclusion problem, IPL 12(3):115–116, 1981.MATHCrossRefGoogle Scholar
- R86.M. Raynal, Algorithms for Mutual Exclusion, MIT Press, 1986.Google Scholar
- S97.F.B. Schneider, On Concurrent Programming, Graduate texts in computer science series, Springer 1997.Google Scholar
- T98.Y. Tsay, Deriving Scalable Algorithms for Mutual Exclusion, DISC’ 98, 1998.Google Scholar
- VFG97.F.W. van der Sommen, W.H.J. Feijen and A.J.M. van Gasterm, Peterson’s Mutual Exclusion Algorithm Revisited, SCP 29:327–334, 1997.MATHGoogle Scholar