diff --git a/.obsidian/workspace.json b/.obsidian/workspace.json index 835ea2f..8d0d4b5 100644 --- a/.obsidian/workspace.json +++ b/.obsidian/workspace.json @@ -6,31 +6,39 @@ { "id": "e20232f4bbe0efa1", "type": "tabs", + "dimension": 41.54727793696275, "children": [ { - "id": "aa7ed62f1bcd712a", + "id": "483215723737b6f7", "type": "leaf", "state": { "type": "markdown", "state": { - "file": "Concurrent Systems/notes/3a - Hardware primitives & Lamport Bakery algorithm.md", + "file": "Concurrent Systems/notes/10 - Consensus Implementation.md", "mode": "source", "source": false }, "icon": "lucide-file", - "title": "3a - Hardware primitives & Lamport Bakery algorithm" + "title": "10 - Consensus Implementation" } - }, + } + ] + }, + { + "id": "e34c84c51f78c14c", + "type": "tabs", + "dimension": 58.45272206303726, + "children": [ { - "id": "f158d16483dc1627", + "id": "cff9c2a2f72efce8", "type": "leaf", "state": { "type": "pdf", "state": { - "file": "Concurrent Systems/slides/class 9.pdf" + "file": "Concurrent Systems/slides/class 10.pdf" }, "icon": "lucide-file-text", - "title": "class 9" + "title": "class 10" } } ] @@ -90,7 +98,8 @@ } ], "direction": "horizontal", - "width": 309.5 + "width": 309.5, + "collapsed": true }, "right": { "id": "bc4b945ded1926e3", @@ -202,10 +211,12 @@ "companion:Toggle completion": false } }, - "active": "aa7ed62f1bcd712a", + "active": "483215723737b6f7", "lastOpenFiles": [ - "Concurrent Systems/notes/3b - Aravind's algorithm and improvements.md", + "Concurrent Systems/slides/class 10.pdf", + "Concurrent Systems/notes/10 - Consensus Implementation.md", "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", "Concurrent Systems/notes/4c - Dining Philosophers.md", "Concurrent Systems/notes/7- MUTEX-free concurrency.md", @@ -239,7 +250,6 @@ "Concurrent Systems/notes/images/Pasted image 20250318090733.png", "Pasted image 20250318090909.png", "Pasted image 20250318090733.png", - "HCIW/slides/4 HUI2016-6-forcefeedback.pdf", "HCIW/notes/2 - Interface and Interaction for IoT.md", "HCIW/notes/3 - Beacons.md", "Concurrent Systems/notes/1 - CS Basics2.md", @@ -248,7 +258,6 @@ "Foundation of data science/notes/1 CV Basics.md", "Foundation of data science/notes/7 Autoencoders.md", "Foundation of data science/notes/6 PCA.md", - "Foundation of data science/notes/5 Neural Networks.md", "Senza nome.canvas" ] } \ No newline at end of file diff --git a/Concurrent Systems/notes/10 - Consensus Implementation.md b/Concurrent Systems/notes/10 - Consensus Implementation.md new file mode 100644 index 0000000..b8fd0c7 --- /dev/null +++ b/Concurrent Systems/notes/10 - Consensus Implementation.md @@ -0,0 +1,8 @@ +Which objects allow for a wait free implementation of (binary) consensus? The answer depends on the number of participants + +The **consensus number** of an object of type T is the greatest number n such that it is possible to wait free implement a consensus object in a system of n processes by only using objects of type T and atomic R/W registers. + +For all T, CN(T) > 0; if there is no sup, we let CN(T) := +∞ + +**Thm:** let CN(T1) < CN(T2), then there exists no wait free implementation of T2 that only uses objects of type T1 and atomic R/W registers for all n s.t. CN(T1) < n <= CN(T2). + diff --git a/Concurrent Systems/slides/class 10.pdf b/Concurrent Systems/slides/class 10.pdf new file mode 100644 index 0000000..9f54d93 Binary files /dev/null and b/Concurrent Systems/slides/class 10.pdf differ