diff --git a/Concurrent Systems/notes/8 - Enhancing Liveness Properties.md b/Concurrent Systems/notes/8 - Enhancing Liveness Properties.md index 8e941e4..4ef5b68 100644 --- a/Concurrent Systems/notes/8 - Enhancing Liveness Properties.md +++ b/Concurrent Systems/notes/8 - Enhancing Liveness Properties.md @@ -75,4 +75,13 @@ Guessing the time duration for suspecting a process: #### From obstruction-freedom to wait-freedom **Eventually perfect:** failure detector ♢P provides each process $p_i$ a local variable $suspected_i$ such that 1. *(Eventual completeness)* eventually, $suspended_{i}$ contains all the indexes of crashed processes, for all correct $p_i$ -2. (*Eventual accuracy*) \ No newline at end of file +2. (*Eventual accuracy*) eventually, $suspected_{i}$ contains only indexes of crashed processes, for all correct $p_{i}$. + +**Definition:** A failure detector FD1 is **stronger** than a failure detector FD2 if there exists an algorithm that builds FD2 from instances of FD1 and atomic R/W registers. + +**Proposition:** ♢P is stronger than $\Omega_{X}$ +*Proof:* +Forall i +- i ∉ X $\to$ `ev_leader_i(X)` is any ID (and may change in time) +- $i \in X \to$ `ev_leader_i(X)` $= min\left( suspected_{i} \cap X \right)$ where $Π$ denotes the set of all proc. IDs. +