diff --git a/.obsidian/workspace.json b/.obsidian/workspace.json index 7f3db92..071d4a4 100644 --- a/.obsidian/workspace.json +++ b/.obsidian/workspace.json @@ -13,12 +13,12 @@ "state": { "type": "markdown", "state": { - "file": "Concurrent Systems/notes/1b - Peterson algorithm.md", + "file": "Concurrent Systems/notes/5 - Software Transactional Memory.md", "mode": "source", "source": false }, "icon": "lucide-file", - "title": "1b - Peterson algorithm" + "title": "5 - Software Transactional Memory" } } ] @@ -195,11 +195,13 @@ }, "active": "6edd4157a160e462", "lastOpenFiles": [ - "Concurrent Systems/notes/5 - Software Transactional Memory.md", "Concurrent Systems/notes/4c - Dining Philosophers.md", - "Concurrent Systems/notes/4b - Monitors.md", + "Concurrent Systems/notes/5 - Software Transactional Memory.md", "Concurrent Systems/notes/3a - Hardware primitives & Lamport Bakery algorithm.md", + "Concurrent Systems/notes/2b - Round Robin algorithm.md", "Concurrent Systems/notes/2 - Fast mutex by Lamport.md", + "Concurrent Systems/notes/1b - Peterson algorithm.md", + "Concurrent Systems/notes/4b - Monitors.md", "Concurrent Systems/notes/1 - CS Basics.md", "Concurrent Systems/slides/class 5.pdf", "Concurrent Systems/notes/images/Pasted image 20250317105355.png", @@ -217,10 +219,8 @@ "Concurrent Systems/notes/images/Pasted image 20250312121828.png", "Concurrent Systems/notes/3b - Aravind's algorithm and improvements.md", "Concurrent Systems/notes/images/Pasted image 20250310172134.png", - "Concurrent Systems/notes/1b - Peterson algorithm.md", "Concurrent Systems/slides/class 3.pdf", "Concurrent Systems/notes/images/Pasted image 20250310103703.png", - "Concurrent Systems/notes/2b - Round Robin algorithm.md", "Concurrent Systems/notes/1 - CS Basics2.md", "Pasted image 20250305182542.png", "HCIW/notes/1 - UX for IoT.md", diff --git a/Concurrent Systems/notes/5 - Software Transactional Memory.md b/Concurrent Systems/notes/5 - Software Transactional Memory.md index 4948621..33b591e 100644 --- a/Concurrent Systems/notes/5 - Software Transactional Memory.md +++ b/Concurrent Systems/notes/5 - Software Transactional Memory.md @@ -33,8 +33,11 @@ Implementation: every transaction uses a local working space #### A Logical Clock based STM system All the READs perform if no inconsistencies arise, or before any inconsistency -Let T be a transaction; its read prefix is formed by all its successful READ before its possible abortion. -An execution is **opaque** if all committed transactions and all the read prefixes of all aborted transactions appear if executed one after the other, by following their real-time occurrence order. +>[!def] +>Let T be a transaction; its read prefix is formed by all its successful READ before its possible abortion. + +>[!def] +>An execution is **opaque** if all committed transactions and all the read prefixes of all aborted transactions appear if executed one after the other, by following their real-time occurrence order. We now present an atomic STM system, called *Transactional Locking 2*: - CLOCK is an atomic READ/FETCH&ADD register initialized at 0