From 7f3061f05a80871289027ff2001cbac90f932efe Mon Sep 17 00:00:00 2001 From: Marco Realacci Date: Mon, 31 Mar 2025 09:05:43 +0200 Subject: [PATCH] vault backup: 2025-03-31 09:05:43 --- Concurrent Systems/notes/9 - Consensus.md | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/Concurrent Systems/notes/9 - Consensus.md b/Concurrent Systems/notes/9 - Consensus.md index 8f1c618..19faac0 100644 --- a/Concurrent Systems/notes/9 - Consensus.md +++ b/Concurrent Systems/notes/9 - Consensus.md @@ -74,3 +74,13 @@ This solution is non-blocking but not wait-free (can run forever). P.S. *invoc_i*, *result_i* e *z_i* sono variabili locali. ### A wait-free construction +- `LAST_OP[1..n]:` array of SWMR atomic R/W registers containing pairs init at ⟨⊥,0⟩ ∀i +- `last_sn_i[1..n]:` local array of the last op by $p_i$ executed by $p_i$ init at 0 ∀i,j + +Idea: instead of just proposing my proposal, at every moment I propose all the proposals of all the processes. + +```⟨⟩ +or(arg) by p_i on Z + result_i <- ⊥ + LAST_OP[i] <- ⟨op(args), last_sn_i[i]+1⟩ +``` \ No newline at end of file