Some Modifications of the Tournament Algorithm for the Mutual Exclusion Problem

We propose two lockout-free (starvation-free) mutual exclusion algorithms for the asynchronous multiwriter/reader shared memory model. The first algorithm is a modification of the well-known tournament algorithm for the mutual exclusion problem. By the modification we can speed up the original algorithm. The running time of the modified algorithm from the entrance of the trying region to the entrance of the critical region is at most (n − 1)c + O(nl), where n is the number of processes, l is an upper bound on the time between successive two steps of each process, and c is is an upper bound on the time that any user spends in the critical region. The second algorithm is a further modification of the first algorithm. It is designed so that some processes have an advantage of access to the resource over other processes. key words: asynchronous processes, concurrency, distributed systems, lockout-freedom, mutual exclusion, shared memory

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

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

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

[4]  Adaptive solutions to the mutual exclusion problem , 2005, Distributed Computing.

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

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

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

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

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

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

[11]  Seif Haridi,et al.  Distributed Algorithms , 1992, Lecture Notes in Computer Science.

[12]  Allan Borodin,et al.  Resource allocation with immunity to limited process failure , 1979, 20th Annual Symposium on Foundations of Computer Science (sfcs 1979).

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

[14]  Nancy A. Lynch,et al.  On Describing the Behavior and Implementation of Distributed Systems , 1979, Semantics of Concurrent Computation.

[15]  Eugene Styer Improving fast mutual exclusion , 1992, PODC '92.

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

[17]  Michael Merritt,et al.  Speeding Lamport's Fast Mutual Exclusion Algorithm , 1993, Inf. Process. Lett..