Consistency Requirements of Distributed Shared Memory for Dijkstra's Mutual Exclusion Algorithm

  • Authors:
  • Jerzy Brzezinski;Dariusz Wawrzyniak

  • Affiliations:
  • -;-

  • Venue:
  • ICDCS '00 Proceedings of the The 20th International Conference on Distributed Computing Systems ( ICDCS 2000)
  • Year:
  • 2000

Quantified Score

Hi-index 0.00

Visualization

Abstract

As is well known any algorithm correct in asynchronous shared memory setting (physically shared memory) can be directly applied in distributed shared memory (DSM) systems if the latter guarantees strong consistency (atomic or sequential) of replicas. Generally, however, in DSM systems, weaker consistency models (causal, processor, PRAM, etc.) are often considered to improve the performance. Weakening consistency model may however imply the incorrectness of the algorithm. Therefore, we face a consistency requirement problem, the problem of finding the weakest consistency model of DSM that is sufficient and necessary for algorithm correctness.In the paper, we consider a reliable DSM environment and present a complex consistency model comprising three elementary models: sequential consistency, coherence and PRAM consistency. This complex model is then applied to Dijsktra's algorithm for mutual exclusion of n processes; one of the first solutions to a fundamental problem in both centralized and distributed operating systems.In the resulting algorithm, coherence and PRAM consistency are associated with some write operations performed at shared memory locations. As concurrent execution of write operations with weaker consistency models is more efficient when compared to the execution of strongly consistent operations, the proposed solution reduces synchronization delay (mutual exclusion over-head) and thereby increases system throughput.The presented model is proven sufficient for algorithm correctness. Moreover, the algorithm is shown to be optimal in the sense that further relaxation of any write operations semantics violates progress (liveness) or safety of the algorithm.