diff --git a/.obsidian/workspace.json b/.obsidian/workspace.json index b9facb8..ec2ded0 100644 --- a/.obsidian/workspace.json +++ b/.obsidian/workspace.json @@ -34,9 +34,9 @@ "type": "pdf", "state": { "file": "Concurrent Systems/slides/class 5.pdf", - "page": 4, + "page": 6, "left": -27, - "top": 131, + "top": 172, "zoom": 0.5754156769596199 }, "icon": "lucide-file-text", @@ -218,9 +218,10 @@ }, "active": "6edd4157a160e462", "lastOpenFiles": [ - "Concurrent Systems/notes/4c - Dining Philosophers.md", - "Concurrent Systems/notes/5 - Software Transactional Memory.md", + "Concurrent Systems/notes/images/Pasted image 20250317105355.png", "Concurrent Systems/slides/class 5.pdf", + "Concurrent Systems/notes/5 - Software Transactional Memory.md", + "Concurrent Systems/notes/4c - Dining Philosophers.md", "Concurrent Systems/slides/class 4.pdf", "Concurrent Systems/notes/images/Pasted image 20250317100456.png", "Concurrent Systems/notes/4b - Monitors.md", diff --git a/Concurrent Systems/notes/5 - Software Transactional Memory.md b/Concurrent Systems/notes/5 - Software Transactional Memory.md index 9eb3feb..4948621 100644 --- a/Concurrent Systems/notes/5 - Software Transactional Memory.md +++ b/Concurrent Systems/notes/5 - Software Transactional Memory.md @@ -57,3 +57,19 @@ We now present an atomic STM system, called *Transactional Locking 2*: ``` poi la scrivo giuro ``` + +### Virtual World Consistency +Opacity requires a total order on all committed transactions and on all read prefixes of all aborted transactions + this latter requirement can be weakened by imposing that the read prefix of an aborted transaction is consistent only w.r.t its casual past (i.e. its virtual world). + +**Opacity:** total order both on all committed transactions and on read prefixes of aborted transactions + +**VWC:** total order on all committed transactions + partial order on committed transactions and the read prefixes of aborted transactions. + +The **casual past** of a transaction T is the set of all T' and T'' such that +- T reads a value written by T' +- T'' belongs to the casual past of T' + +VWC allows more transactions to commit -> it is a more liberal property than opacity. + +![[Pasted image 20250317105355.png]] diff --git a/Concurrent Systems/notes/images/Pasted image 20250317105355.png b/Concurrent Systems/notes/images/Pasted image 20250317105355.png new file mode 100644 index 0000000..ad5ea63 Binary files /dev/null and b/Concurrent Systems/notes/images/Pasted image 20250317105355.png differ