diff --git a/.obsidian/workspace.json b/.obsidian/workspace.json index 9bbcfe6..294334c 100644 --- a/.obsidian/workspace.json +++ b/.obsidian/workspace.json @@ -20,6 +20,18 @@ "icon": "lucide-file", "title": "5 - Software Transactional Memory" } + }, + { + "id": "6e3afe627f01d355", + "type": "leaf", + "state": { + "type": "pdf", + "state": { + "file": "Concurrent Systems/slides/class 5.pdf" + }, + "icon": "lucide-file-text", + "title": "class 5" + } } ] } @@ -192,6 +204,8 @@ }, "active": "383fb8ddbc7a9dc8", "lastOpenFiles": [ + "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 6.pdf", "Concurrent Systems/notes/6 - Atomicity.md", @@ -206,7 +220,6 @@ "Concurrent Systems/notes/3a - Hardware primitives & Lamport Bakery algorithm.md", "Pasted image 20250325090735.png", "Concurrent Systems/notes/images/Pasted image 20250324091452.png", - "Concurrent Systems/notes/5 - Software Transactional Memory.md", "Concurrent Systems/notes/images/Pasted image 20250324082534.png", "Concurrent Systems/notes/images/Pasted image 20250324082545.png", "Concurrent Systems/notes/images/Pasted image 20250324092633.png", @@ -224,7 +237,6 @@ "Concurrent Systems/notes/images/Pasted image 20250318090733.png", "Pasted image 20250318090909.png", "Pasted image 20250318090733.png", - "Concurrent Systems/slides/class 5.pdf", "HCIW/slides/4 HUI2016-6-forcefeedback.pdf", "HCIW/slides/3b Haptic slides.pdf", "HCIW/notes/2 - Interface and Interaction for IoT.md", diff --git a/Concurrent Systems/notes/5 - Software Transactional Memory.md b/Concurrent Systems/notes/5 - Software Transactional Memory.md index db87730..4cabc7f 100644 --- a/Concurrent Systems/notes/5 - Software Transactional Memory.md +++ b/Concurrent Systems/notes/5 - Software Transactional Memory.md @@ -84,11 +84,11 @@ try_to_commit_T() := if XX.date >= birthdate(T) then release all locks ABORT - tmp <- CLOCK.fetch&add(1)+1 - ∀ X ∈ write_set(T) - XX <- ⟨lc(XX).val, tmp⟩ - release all locks - COMMIT + tmp <- CLOCK.fetch&add(1)+1 + ∀ X ∈ write_set(T) + XX <- ⟨lc(XX).val, tmp⟩ + release all locks + COMMIT ``` ### Virtual World Consistency