TY - JOUR
T1 - Symmetric and economical solutions to the mutual exclusion problem in a distributed system
AU - Cohen, Shimon
AU - Lehmann, Daniel
AU - Pnueli, Amir
PY - 1984
Y1 - 1984
N2 - The mutual exclusion problem in a distributed system, in which each process has a memory of its own, into which it has exclusive write privileges but from which others may read, is reconsidered. Symmetric solutions are looked for. It is shown that, though no such solution may be deterministic, there are probabilistic solutions. Different solutions are provided for two processes, and then a solution is proposed for any number of processes. The solutions offered are amenable to a formal proof of their correctness with a small effort. The solutions are correct even against a very well informed scheduler, unlike Rabin's probabilistic solution to the mutual exclusion problem in a centralized system. Some of the solutions are correct even against an evil scheduler the knows in advance the results of the future random draws, in sharp contrast with the algorithms of Lehmann and Rabin (1981). The solutions are economical: mutual exclusion between two processes may be achieved with variables capable of holding four different values (to be compared with Peterson and Fischer's three), mutual exclusion between n processes may be achieved with variables capable of holding ten different values (to be compared with Peterson and Fischer's fourteen). All solutions have been attained by careful reasoning and not by an exhaustive computer search: they exhibit general principles of design that may be useful in solving other similar problems.
AB - The mutual exclusion problem in a distributed system, in which each process has a memory of its own, into which it has exclusive write privileges but from which others may read, is reconsidered. Symmetric solutions are looked for. It is shown that, though no such solution may be deterministic, there are probabilistic solutions. Different solutions are provided for two processes, and then a solution is proposed for any number of processes. The solutions offered are amenable to a formal proof of their correctness with a small effort. The solutions are correct even against a very well informed scheduler, unlike Rabin's probabilistic solution to the mutual exclusion problem in a centralized system. Some of the solutions are correct even against an evil scheduler the knows in advance the results of the future random draws, in sharp contrast with the algorithms of Lehmann and Rabin (1981). The solutions are economical: mutual exclusion between two processes may be achieved with variables capable of holding four different values (to be compared with Peterson and Fischer's three), mutual exclusion between n processes may be achieved with variables capable of holding ten different values (to be compared with Peterson and Fischer's fourteen). All solutions have been attained by careful reasoning and not by an exhaustive computer search: they exhibit general principles of design that may be useful in solving other similar problems.
UR - http://www.scopus.com/inward/record.url?scp=0020845645&partnerID=8YFLogxK
U2 - 10.1016/0304-3975(84)90118-X
DO - 10.1016/0304-3975(84)90118-X
M3 - ???researchoutput.researchoutputtypes.contributiontojournal.article???
AN - SCOPUS:0020845645
SN - 0304-3975
VL - 34
SP - 215
EP - 225
JO - Theoretical Computer Science
JF - Theoretical Computer Science
IS - 1-2
ER -