Priority mutual exclusion: Specification and algorithm
Paper i proceeding, 2016

Mutual exclusion is a fundamental problem in distributed computing. In one well known variant of this problem, which we call priority mutual exclusion, processes have priorities and the requirement is that, whenever the critical section becomes vacant, the next occupant should be the process that has the highest priority among the waiting processes. Instead of first capturing this vague, but intuitively appealing requirement by a rigorously specified condition, earlier research rushed into proposing algorithms. Consequently, as we explain in the paper, none of the existing algorithms meet the reasonable expectations we would have of an algorithm that claims to respect process priorities. This paper fixes this situation by rigorously specifying the priority mutual exclusion problem and designing an efficient algorithm for it. Our algorithm supports an arbitrary number of processes and, when configured to support m priority levels (m can be any natural number), the algorithm has O(m) RMR complexity on both DSM and CC machines.

Critical sections

Distributed computer systems

Artificial intelligence

Computer science

Natural number


Priority levels

Arbitrary number

Mutual exclusions

Process priority


Chien-Chung Huang

Chalmers, Data- och informationsteknik, Datavetenskap

P. Jayanti

Dartmouth College

Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)

03029743 (ISSN) 16113349 (eISSN)

Vol. 9888 385-398
978-366253425-0 (ISBN)


Mänsklig interaktion med IKT





Mer information