Analysis of some lockout avoidance algorithms for the k-exclusion problem

We analyze two algorithms for the k-exclusion problem on the asynchronous multi-writer/reader shared memory model and show their correctness. The first algorithm is a natural extension of the n-process algorithm by Peterson for the mutual exclusion algorithm to the k-exclusion problem, and the second algorithm is a combination of the first algorithm and the tournament algorithm by Peterson and Fischer for the mutual exclusion problem. These two algorithms satisfy k-exclusion, and can tolerate up to k-1 process failures of the stopping type. The running times by the first algorithm and by the second algorithm are bounded by (n-k)c+O(n(n-k)2)l and (n/k)kc+O((n/k)k+1k)l, respectively, even if there exist at most k-1 process failures of the stopping type, where n is the number of processes, l is an upper bound on the time between successive two atomic steps for any faultless process, and c is an upper bound on the time that any user spends in the critical region.

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

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

[3]  Kerry Raymond A Distributed Algorithm for Multiple Entries to a Critical Section , 1989, Inf. Process. Lett..

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

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

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

[7]  Nir Shavit,et al.  A bounded first-in, first-enabled solution to the l-exclusion problem , 1994, TOPL.

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

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

[10]  Cynthia Dwork,et al.  Simple and efficient bounded concurrent timestamping or bounded concurrent timestamp systems are comprehensible! , 1992, STOC '92.

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

[12]  Hagit Attiya,et al.  Atomic snapshots in O(n log n) operations , 1993, PODC '93.

[13]  Nir Shavit,et al.  Bounded concurrrent time-stamp systems are constructible , 1989, STOC '89.

[14]  Yoshihide Igarashi,et al.  A Lockout Avoidance Algorithm without Using Time-Stamps for the k-Exclusion Problem , 2001, COCOON.

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

[16]  Satoshi Fujita,et al.  A Distributed k-Mutual Exclusion Algorithm Using k-Coterie , 1994, Inf. Process. Lett..

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

[18]  Nancy A. Lynch,et al.  On Describing the Behavior and Implementation of Distributed Systems , 1979, Theor. Comput. Sci..

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

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

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

[22]  Paul M. B. Vitányi,et al.  Bounded concurrent timestamp systems using vector clocks , 2001, JACM.

[23]  Amos Israeli,et al.  A Concurrent Time-Stamp Scheme which is Linear in Time and Space , 1992, WDAG.

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