N-Process mutual exclusion with bounded waiting by 4 · Log2 N-valued shared variable
Generate an AI Snapshot to get a quick, structured summary of this paper.
A concise AI-generated summary of the paper will appear here once you click Generate AI Snapshot.
TL;DR
This work introduces the idea of employing randomization in the mutual exclusion protocol and achieve a mutual exclusion, and with probability 1 lockout-free and bounded-waiting, solution using just a 4 · log2 N-valued shared variable.
Abstract
The problem of implementing mutual exclusion of N asynchronous parallel processes in a model where the primitive communication mechanism is a test-and-set operation on a shared variable has been the subject of extensive research. While a two-valued variable suffices to insure mutual exclusion, it is shown in (Burns, et al., J. Assoc. Comput. Mach. 9 (1982)) that N/2 values are necessary to avoid lockout of any process, and N + 1 values are required to ensure bounded waiting time. We introduce the idea of employing randomization in the mutual exclusion protocol and achieve a mutual exclusion, and with probability 1 lockout-free and bounded-waiting, solution using just a 4 · log2 N-valued shared variable. The protocol is extremely simple, easy to implement, and avoids certain undesirable features present in some of the other solutions. The protocols of the processes are identical and this symmetry is preserved throughout the computation. In particular, unlike (Burns, et al., J. Assoc. Comput. Mach. 9 (1982); Cremers and Hibbard, "Mutual Exclusion of N Processors using O(N)-Valued Message Variable", Extended Abstract, University of Southern California, 1977), no single process ever becomes, even temporarily, controller of the computation, which would make everything depend on it.
