Some myths about famous mutual exclusion algorithms

  title={Some myths about famous mutual exclusion algorithms},
  author={K. Alagarsamy},
  journal={SIGACT News},
  • K. Alagarsamy
  • Published 1 September 2003
  • Computer Science
  • SIGACT News
Dekker's algorithm[9] is the historically first software solution to mutual exclusion problem for 2-process case. The first software solution for n-process case was subsequently proposed by Dijkstra[8]. These two algorithms have become de facto examples of mutual exclusion algorithms, for their historical importance. Since the publication of Dijkstra's algorithm, there have been many solutions proposed in the literature [24, 1, 2]. In that, Peterson's algorithm [21] is one among the very… 

Figures and Tables from this paper

Model Checking Mutual Exclusion Algorithms Using Uppaal
An approach to modelling and exhaustive verification of mutual exclusion algorithms which is based on Timed Automata in the context of the popular Uppaal toolbox is proposed, making it possible to study the properties of a mutual exclusion algorithm also in the presence of the time dimension.
Streamlining progress-based derivations of concurrent programs
This work explores derivation techniques of concurrent programs using progress-based reasoning and presents a derivation of Dekker’s mutual exclusion algorithm, leading to the discovery of some new and simpler variants of this famous algorithm.
Simulation of Self-Stabilizing Distributed Algorithms to Determine Fault Tolerance Measures
This work provides insights as to how to improve the fault tolerance metrics of a given self-stabilizing algorithm based on the results from the simulations and fine tuning of the analysis procedure based on feedback from the simulator is available.
Towards a Toolkit for Flexible and Efficient Verification under Fairness
A Process Analysis Toolkit (PAT) is presented for flexible and efficient system analysis under fairness constraints and it is reported that previously unknown bugs have been revealed against systems functioning under strong global fairness.
Model checking with fairness assumptions using PAT
This work supports model checking of distributed systems in the toolkit PAT (process analysis toolkit), with a variety of fairness constraints, and shows through empirical evaluation that PAT has advantage in model checking with fairness.
Proof of Peterson’s algorithm for mutual exclusion∗
The model shows freedom from starvation, liveness, and mutual exclusion, and results show how the model can be modified to better reflect the real-time environment.
Specifying and Verifying Event-Based Fairness Enhanced Systems
It is shown that state-of-the-art verification algorithms can be extended to verify models under fairness assumptions, with little computational overhead, and a toolset named Pat has been developed to verify fairness enhanced event-based systems.
Nueva propuesta para la administración de recursos y procesos en sistemas distribuidos
En los sistemas de procesamiento distribuido es necesario que los procesos que actúan en grupos deban tomar decisiones basados en acuerdos respecto del acceso a recursos; las decisiones pueden estar


Another Solution of the Mutual Exclusion Problem
Algorithms for mutual exclusion
All of the algorithms in this book have been rewritten in a single language and restructured so that they are easy to understand and compare, and the principles guiding their design are stressed.
Go to statement considered harmful
In form and content, Dijkstra's letter is similar to his 1965 paper, and the last few paragraphs underscore once again why the subject of structured programming stayed out of the mainstream of the data processing industry for so long.
Letters to the editor: go to statement considered harmful
My considerations are that, although the programmer's activity ends when he has constructed a correct program, the process taking place under control of his program is the true subject matter of his activity, and that his intellectual powers are rather geared to master static relations and his powers to visualize processes evolving in time are relatively poorly developed.
Hierarchical ordering of sequential processes
A “director-secretary” relationship will be introduced to reflect a possible discipline in the use of sequencing primitives and an analysis of the requirements of the correctness proofs will give an insight into the logical issues at hand.
Concurrent programming - principles and practice
Language Overviews, Programming Notation, Formal Semantics and Program Proofs, Synchronization Techniques, and Implementation: Synchronous Message Passing.
Foundations of Multithreaded, Parallel, and Distributed Programming
The Concurrent Computing Landscape, The Essence of Concurrent Programming, and Applications and Programming Styles: A Synopsis of Axiomatic Semantics are presented.
Shared-memory mutual exclusion: major research trends since 1986
This paper surveys major research trends since 1986 in work on shared-memory mutual exclusion with a focus on algorithms for mutual exclusion.
Operating Systems: Internals and Design Principles
This book presents the nature and characteristics of modern-day operating systems clearly and completely, and serves as both a basic reference and an up-to-date survey of the state of the art.
Solution of a problem in concurrent programming control
A number of mainly independent sequential-cyclic processes with restricted means of communication with each other can be made in such a way that at any moment one and only one of them is engaged in