Simple Mutual Exclusion Algorithms Based on Bounded Tickets on the Asynchronous Shared Memory Model

We propose two simple algorithms based on bounded tickets for the mutual exclusion problem. These are modifications of the Bakery algorithm. An unattractive property of the Bakery algorithm is that the shared memory size is unbounded. The first algorithm based on bounded tickets uses one extra process that does not correspond to any user. It is lockout-free and mutual exclusion on the asynchronous single-writer/multi-reader shared memory model. We then modify it to reduce the shared memory size with the cost of another extra process. The maximum waiting time using each of them is bounded by (n - 1)c + O(nl), where n is the number of users, l is an upper bound on the time between two successive atomic steps, and c is an upper bound on the time that any user spends using the resource. The shared memory size needed by the first algorithm and the second algorithm are (n+1)(1+?log(2n+1)?) bits and n(2 + ?log n?) + 2 bits, respectively.

[1]  Leslie Lamport,et al.  A fast mutual exclusion algorithm , 1987, TOCS.

[2]  Nancy A. Lynch,et al.  Bounds on Shared Memory for Mutual Exclusion , 1993, Inf. Comput..

[3]  Nancy A. Lynch,et al.  Distributed Algorithms , 1992, Lecture Notes in Computer Science.

[4]  Yasuaki Nishitani,et al.  Speedup of the n-Process Mutual Exclusion Algorithm , 1999, Parallel Process. Lett..

[5]  Hagit Attiya,et al.  Distributed Computing: Fundamentals, Simulations and Advanced Topics , 1998 .

[6]  Prasad Jayanti,et al.  Bounding Lamport's Bakery Algorithm , 2001, SOFSEM.

[7]  Leslie Lamport,et al.  The mutual exclusion problem: partII—statement and solutions , 1986, JACM.

[8]  Gary L. Peterson,et al.  Myths About the Mutual Exclusion Problem , 1981, Inf. Process. Lett..

[9]  Nir Shavit,et al.  Bounded Concurrent Time-Stamping , 1997, SIAM J. Comput..

[10]  Edsger W. Dijkstra,et al.  Solution of a problem in concurrent programming control , 1965, CACM.

[11]  Nancy A. Lynch,et al.  Data Requirements for Implementation of N-Process Mutual Exclusion Using a Single Shared Variable , 1982, JACM.

[12]  Armin B. Cremers,et al.  Mutual Exclusion of N Processors Using an O(N)-Valued Message Variable (Extended Abstract) , 1978, ICALP.

[13]  Allan Borodin,et al.  Distributed FIFO allocation of identical resources using small shared space , 1985, TOPL.

[14]  J. Burns Mutual exclusion with linear waiting using binary shared variables , 1978, SIGA.

[15]  Yoshihide Igarashi,et al.  Some Modifications of the Tournament Algorithm for the Mutual Exclusion Problem , 1999 .

[16]  Michael J. Fischer,et al.  Economical solutions for the critical section problem in a distributed system (Extended Abstract) , 1977, STOC '77.

[17]  James H. Anderson Lamport on mutual exclusion: 27 years of planting seeds , 2001, PODC '01.

[18]  Leslie Lamport,et al.  A new solution of Dijkstra's concurrent programming problem , 1974, Commun. ACM.