diff --git a/Concurrent Systems/notes/9 - Consensus.md b/Concurrent Systems/notes/9 - Consensus.md index b166f49..d550ca1 100644 --- a/Concurrent Systems/notes/9 - Consensus.md +++ b/Concurrent Systems/notes/9 - Consensus.md @@ -160,4 +160,8 @@ If the specifications of Z’s operations are non-deterministic, then 𝛿 does How to force every process to run the very same sequence of operations on their local simulations? Three possible ways! -1. Brute forc \ No newline at end of file +1. **Brute force solution:** for every pair ⟨s , op(args)⟩, fix a priori one element of 𝛿(⟨s , op(args)⟩) to be chosen + - literally cancelling non-determinism, but this is not something we want... +2. additional consensus objects, one for every element of every list +3. reuse the same consensus object: for all k, `CONS[k]` not only chooses the list of invocations, but also the final state of every invocation + - the proposals should also pre-calculate the next state and propose one \ No newline at end of file