From 9772a79c937d1e85c361b52b5baa17ac38d086ae Mon Sep 17 00:00:00 2001 From: Marco Realacci Date: Mon, 17 Mar 2025 10:24:23 +0100 Subject: [PATCH] vault backup: 2025-03-17 10:24:23 --- .obsidian/workspace.json | 24 +++++++++---------- .../notes/4c - Dining Philosophers.md | 3 ++- .../5 - Software Transactional Memory.md | 6 +++++ 3 files changed, 20 insertions(+), 13 deletions(-) create mode 100644 Concurrent Systems/notes/5 - Software Transactional Memory.md diff --git a/.obsidian/workspace.json b/.obsidian/workspace.json index 352734c..40dca75 100644 --- a/.obsidian/workspace.json +++ b/.obsidian/workspace.json @@ -13,12 +13,12 @@ "state": { "type": "markdown", "state": { - "file": "Concurrent Systems/notes/4c - Dining Philosophers.md", + "file": "Concurrent Systems/notes/5 - Software Transactional Memory.md", "mode": "source", "source": false }, "icon": "lucide-file", - "title": "4c - Dining Philosophers" + "title": "5 - Software Transactional Memory" } } ] @@ -28,19 +28,19 @@ "type": "tabs", "children": [ { - "id": "071b6cd23e4b1e9d", + "id": "3d13408a0af8bc82", "type": "leaf", "state": { "type": "pdf", "state": { - "file": "Concurrent Systems/slides/class 4.pdf", - "page": 24, - "left": -26, - "top": 340, - "zoom": 0.57541567695962 + "file": "Concurrent Systems/slides/class 5.pdf", + "page": 1, + "left": -27, + "top": 10, + "zoom": 0.5754156769596199 }, "icon": "lucide-file-text", - "title": "class 4" + "title": "class 5" } } ] @@ -218,11 +218,12 @@ }, "active": "6edd4157a160e462", "lastOpenFiles": [ - "Concurrent Systems/slides/class 4.pdf", + "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", - "Concurrent Systems/slides/class 5.pdf", "HCIW/slides/4 HUI2016-6-forcefeedback.pdf", "HCIW/slides/3b Haptic slides.pdf", "HCIW/slides/3Haptic interaction.pdf", @@ -262,7 +263,6 @@ "Foundation of data science/notes/4 L1 and L2 normalization - Lasso and Ridge.md", "Foundation of data science/notes/3.2 LLM generated from notes.md", "Foundation of data science/notes/2 Linear Regression.md", - "Biometric Systems/notes/6. Face recognition 2D.md", "Senza nome.canvas" ] } \ No newline at end of file diff --git a/Concurrent Systems/notes/4c - Dining Philosophers.md b/Concurrent Systems/notes/4c - Dining Philosophers.md index 52dcacb..9e11dae 100644 --- a/Concurrent Systems/notes/4c - Dining Philosophers.md +++ b/Concurrent Systems/notes/4c - Dining Philosophers.md @@ -95,4 +95,5 @@ test(i) := && state[i] == hungry) then state[i] = eating; self[i].signal(); -``` \ No newline at end of file +``` +N.B.: pickup picks both forks simultaneously \ No newline at end of file diff --git a/Concurrent Systems/notes/5 - Software Transactional Memory.md b/Concurrent Systems/notes/5 - Software Transactional Memory.md new file mode 100644 index 0000000..42d8ad1 --- /dev/null +++ b/Concurrent Systems/notes/5 - Software Transactional Memory.md @@ -0,0 +1,6 @@ +- Group together parts of the code that must look like atomic, in a way that is transparent, scalable and easy-to-use for the programmer +- Differently from monitors, the part of the code to group is not part of the definition of the objects, but is application dependent +- Differently from transactions in databases, the code can be any code, not just queries on the DB + +**Transaction:** an atomic unit of computation (look like instantaneous and without overlap with any other transaction), that can access atomic objects. + when executed alone, every transaction success \ No newline at end of file