Partial mutual exclusion for infinitely many processes
Wim H. Hesselink

TL;DR
This paper introduces a starvation-free partial mutual exclusion algorithm for infinitely many processes with finite memory, using asynchronous messaging, verified with formal proof tools.
Contribution
It presents the first known solution for partial mutual exclusion among infinitely many processes with formal correctness guarantees.
Findings
Requires between three and six messages per critical section entry.
Guarantees first-come first-served property within asynchronous communication constraints.
Verified correctness using invariants, temporal logic, and the PVS proof assistant.
Abstract
Partial mutual exclusion is the drinking philosophers problem for complete graphs. It is the problem that a process may enter a critical section CS of its code only when some finite set nbh of other processes are not in their critical sections. For each execution of CS, the set nbh can be given by the environment. We present a starvation free solution of this problem in a setting with infinitely many processes, each with finite memory, that communicate by asynchronous messages. The solution has the property of first-come first-served, in so far as this can be guaranteed by asynchronous messages. For every execution of CS and every process in nbh, between three and six messages are needed. The correctness of the solution is argued with invariants and temporal logic. It has been verified with the proof assistant PVS.
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 · Parallel Computing and Optimization Techniques · Interconnection Networks and Systems
