N-Process mutual exclusion with bounded waiting by 4 · Log2 N-valued shared variable

作者:

Highlights:

摘要

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.

论文关键词:

论文评审过程:Received 10 July 1981, Available online 2 December 2003.

论文官网地址:https://doi.org/10.1016/0022-0000(82)90010-1