Nonatomic dual bakery algorithm with bounded tokens

  • Authors:
  • Alex A. Aravind;Wim H. Hesselink

  • Affiliations:
  • Computer Science Program, University of Northern British Columbia, V2N4Z9, Prince George, BC, Canada;University of Groningen, Department of Computing Science, P.O. Box 407, 9700 AK, Groningen, The Netherlands

  • Venue:
  • Acta Informatica
  • Year:
  • 2011

Quantified Score

Hi-index 0.01

Visualization

Abstract

A simple mutual exclusion algorithm is presented that only uses nonatomic shared variables of bounded size, and that satisfies bounded overtaking. When the shared variables behave atomically, it has the first-come-first-served property (FCFS). Nonatomic access makes information vulnerable. The effects of this can be mitigated by minimizing the information and by spreading it over more variables. The design approach adopted here begins with such mitigating efforts. These resulted in an algorithm with a proof of correctness, first for atomic variables. This proof is then used as a blueprint for the simultaneous development of the algorithm for nonatomic variables and its proof. Mutual exclusion is proved by means of invariants. Bounded overtaking and liveness under weak fairness are proved with invariants and variant functions. Liveness under weak fairness is formalized and proved in a set-theoretic version of temporal logic. All these assertions are verified with the proof assistant PVS. We heavily rely on the possibility offered by a proof assistant like PVS to reuse proofs developed for one context in a different context.