Fair Mutual Exclusion for N Processes (extended version)

11/03/2021
by   Yousra Hafidi, et al.
0

Peterson's mutual exclusion algorithm for two processes has been generalized to N 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 N 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 N-process generalization of Peterson's algorithm. We use model checking to show that our new algorithm is correct for small N. For arbitrary N, model checking is infeasible due to the state space explosion problem, and instead, we present a general proof that, for N ≥ 4, when a process requests access to the critical section, other processes can enter first at most (N-1)(N-2) times.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
07/28/2023

User-Driven Abstraction for Model Checking

Model checking has found a role in the engineering of reactive systems. ...
research
07/14/2020

Model Checking Branching Properties on Petri Nets with Transits (Full Version)

To model check concurrent systems, it is convenient to distinguish betwe...
research
03/07/2019

Neighborhood Mutual Remainder: Self-Stabilizing Implementation of Look-Compute-Move Robots (Extended Abstract)

Local mutual exclusion guarantees that no two neighboring processes ente...
research
08/10/2021

Fast and Fair Lock-Free Locks

We present a randomized approach for lock-free locks with strong bounds ...
research
03/25/2019

Two Mutual Exclusion Algorithms for Shared Memory

In this paper, we introduce two algorithms that solve the mutual exclusi...
research
05/19/2021

Everything You Always Wanted to Know About Generalization of Proof Obligations in PDR

In this paper we revisit the topic of generalizing proof obligations in ...
research
12/21/2018

Verification of an industrial asynchronous leader election algorithm using abstractions and parametric model checking

The election of a leader in a network is a challenging task, especially ...

Please sign up or login with your details

Forgot password? Click here to reset