From f3f26b703dab73546cc7096fd65f15d9ea990f85 Mon Sep 17 00:00:00 2001 From: Marco Realacci Date: Tue, 18 Mar 2025 08:19:12 +0100 Subject: [PATCH] vault backup: 2025-03-18 08:19:12 --- .obsidian/workspace.json | 6 +----- .../notes/5 - Software Transactional Memory.md | 5 +++-- 2 files changed, 4 insertions(+), 7 deletions(-) diff --git a/.obsidian/workspace.json b/.obsidian/workspace.json index 973d459..3b3c189 100644 --- a/.obsidian/workspace.json +++ b/.obsidian/workspace.json @@ -33,11 +33,7 @@ "state": { "type": "pdf", "state": { - "file": "Concurrent Systems/slides/class 5.pdf", - "page": 8, - "left": -23, - "top": 450, - "zoom": 0.652019002375297 + "file": "Concurrent Systems/slides/class 5.pdf" }, "icon": "lucide-file-text", "title": "class 5" diff --git a/Concurrent Systems/notes/5 - Software Transactional Memory.md b/Concurrent Systems/notes/5 - Software Transactional Memory.md index 47bc50c..096d7b1 100644 --- a/Concurrent Systems/notes/5 - Software Transactional Memory.md +++ b/Concurrent Systems/notes/5 - Software Transactional Memory.md @@ -147,7 +147,8 @@ X.read_T(i) := t_depend_T[Y] <- max{t_depend_T[Y], lc(XX).depend[Y]} # aggiorno la dipendenza da Y della transazione # perché solo per quelli NON nel read_set? - # perch´ + # perché se dovessi farlo con un Y nel read_set dovrei abortire + # per i motivi di sopra! (e quindi in caso avrei già abortito) return lc(XX).val @@ -163,7 +164,7 @@ try_to_commit_T(i) := if ∃ Y ∈ read_set(T) s.t. t_dependT[Y] < YY.depend[Y] then release all locks ABORT - # abortisco se ho letto un Y che è stato modificato dopo che io l'ho letto, giusto? + # abortisco se ho letto un Y che è stato modificato dopo che io l'ho letto ∀ X ∈ write_set(T) do t_dependT[X] <- XX.depend[X]+1