1 / 12

# Raymond Mutual Exclusion

Raymond Mutual Exclusion. Actions. &lt;Upon request&gt;  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}. Actions. h.j = j  Access critical section. Slight modification. h.j = k / h.k = k / j Request.k /

Télécharger la présentation

## Raymond Mutual Exclusion

E N D

### Presentation Transcript

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) • 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)  h.j = P.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

More Related