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 · log 2 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.

Full Text
Paper version not known

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call

Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.