Fair Mutual Exclusion for N Processes (extended version)
Yousra Hafidi, Jeroen J.A. Keiren, Jan Friso Groote

TL;DR
This paper investigates fairness in generalizing Peterson's mutual exclusion algorithm to N processes, proving limitations with existing methods and proposing a new fair algorithm verified through model checking for small N.
Contribution
The paper introduces a fair N-process generalization of Peterson's algorithm and provides a proof of its fairness properties for arbitrary N, addressing previous limitations.
Findings
The tournament tree-based generalization is not starvation free without fairness assumptions.
A new fair N-process algorithm is proposed and verified for small N.
For N ≥ 4, at most (N-1)(N-2) processes can enter the critical section before a requesting process.
Abstract
Peterson's mutual exclusion algorithm for two processes has been generalized to processes in various ways. As far as we know, no such generalization is starvation free without making any fairness assumptions. In this paper, we study the generalization of Peterson's algorithm to processes using a tournament tree. Using the mCRL2 language and toolset we prove that it is not starvation free unless weak fairness assumptions are incorporated. Inspired by the counterexample for starvation freedom, we propose a fair -process generalization of Peterson's algorithm. We use model checking to show that our new algorithm is correct for small . For arbitrary , model checking is infeasible due to the state space explosion problem, and instead, we present a general proof that, for , when a process requests access to the critical section, other processes can enter first at…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsDistributed systems and fault tolerance · Formal Methods in Verification · Cryptography and Data Security
