diff --git a/.obsidian/workspace.json b/.obsidian/workspace.json index a35d5fe..681a3d7 100644 --- a/.obsidian/workspace.json +++ b/.obsidian/workspace.json @@ -14,12 +14,12 @@ "state": { "type": "markdown", "state": { - "file": "Concurrent Systems/notes/9 - Universal Object.md", + "file": "Concurrent Systems/notes/9 - Consensus.md", "mode": "source", "source": false }, "icon": "lucide-file", - "title": "9 - Universal Object" + "title": "9 - Consensus" } } ] @@ -214,7 +214,7 @@ "active": "aa7ed62f1bcd712a", "lastOpenFiles": [ "Concurrent Systems/slides/class 9.pdf", - "Concurrent Systems/notes/9 - Universal Object.md", + "Concurrent Systems/notes/9 - Consensus.md", "Concurrent Systems/notes/8 - Enhancing Liveness Properties.md", "Concurrent Systems/notes/3b - Aravind's algorithm and improvements.md", "Concurrent Systems/notes/4 - Semaphores.md", diff --git a/Concurrent Systems/notes/9 - Universal Object.md b/Concurrent Systems/notes/9 - Consensus.md similarity index 75% rename from Concurrent Systems/notes/9 - Universal Object.md rename to Concurrent Systems/notes/9 - Consensus.md index 4061611..fe4c083 100644 --- a/Concurrent Systems/notes/9 - Universal Object.md +++ b/Concurrent Systems/notes/9 - Consensus.md @@ -16,4 +16,8 @@ We focus on types whose operations are: An object of type $T_{U}$ is **universal** if every other object can be wait-free implemented using only objects of type $T_U$ and atomic R/W registers. -This object is a **consensus object**: a *one-shot object* (every process c) \ No newline at end of file +This object is a **consensus object**: a *one-shot object* (every process can access it at most once) that provides only one operation `propose(v)` such that: +- **Validity:** the returned value (or *decided value*) is one of the arguments of the propose (*proposed value*) in one invocation done by a process (*participant*) +- **Integrity:** every process decides at most once +- **Agreement:** the decided value is the same for all processes +- **Wait-freedom:** every invocation of propose by a correct process terminates \ No newline at end of file