Download presentation
Presentation is loading. Please wait.
1
Raymond Mutual Exclusion
2
Actions <Upon request> Request.(h.j) = Request.(h.j) {j}
h.j = k /\ h.k = k /\ j Request.k h.k = j, h.j = j, Request.k = Request.k – {j}
3
Actions h.j = j Access critical section
4
Slight modification h.j = k /\ h.k = k /\ j Request.k /\
(P.j = k \/ P.k = j) h.k = j, h.j = j, Request.k = Request.k – {j}
5
Fault-Tolerant Mutual Exclusion
What happens if the tree is broken due to faults? A tree correction algorithm could be used to fix the tree Example: we considered one such algorithm before
6
However, Even if the tree is fixed, the holder relation may not be accurate
7
Invariant for holder relation
What are the conditions that are always true about holder relation?
8
Invariant h.j {j, P.j} ch.j P.j j (h.j = P.j \/ h.(P.j) = j)
Plus all the predicates in the invariant of the tree program
9
Recovery from faults h.j {j, P.j} ch.j h.j = P.j
10
Recovery from faults P.j j /\ (h.j = P.j \/ h.(P.j) = j)
11
Recovery from Faults P.j j /\ (h.j = P.j /\ h.(P.j) = j)
h.(P.j) = P.(P.j)
12
Notion of Superposition
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.