diff --git a/.obsidian/workspace.json b/.obsidian/workspace.json index 3fc7901..192a8a8 100644 --- a/.obsidian/workspace.json +++ b/.obsidian/workspace.json @@ -211,11 +211,11 @@ "companion:Toggle completion": false } }, - "active": "cff9c2a2f72efce8", + "active": "483215723737b6f7", "lastOpenFiles": [ + "Concurrent Systems/slides/class 10.pdf", "Concurrent Systems/notes/10 - Consensus Implementation.md", "Pasted image 20250401083747.png", - "Concurrent Systems/slides/class 10.pdf", "Concurrent Systems/notes/3a - Hardware primitives & Lamport Bakery algorithm.md", "Concurrent Systems/notes/3b - Aravind's algorithm and improvements.md", "Concurrent Systems/notes/2b - Round Robin algorithm.md", diff --git a/Concurrent Systems/notes/10 - Consensus Implementation.md b/Concurrent Systems/notes/10 - Consensus Implementation.md index cef0a9d..90c2049 100644 --- a/Concurrent Systems/notes/10 - Consensus Implementation.md +++ b/Concurrent Systems/notes/10 - Consensus Implementation.md @@ -32,3 +32,11 @@ If A wait-free implements binary consensus for n processes, then there exists a *Proof:* ![[Pasted image 20250401083747.png]] +### CN(Atomic R/W registers) = 1 +**Thm:** There exists no wait-free implementation of binary consensus for 2 processes that uses atomic R/W registers. + +*Proof:* +Assume by contradiction A wait-free, with processes p and q. + +By the previous result, it has an initial bivalent configuration C +- let S be a sequence of operations s.t. C’ = S(C) is maximally bivalent (i.e., p(S(C)) is 0-valent and q(S(C)) is 1-valent, or viceversa)