vault backup: 2025-03-17 10:34:23

This commit is contained in:
Marco Realacci 2025-03-17 10:34:23 +01:00
parent 483a72be5c
commit 6a92adebf0
2 changed files with 11 additions and 3 deletions

View file

@ -34,9 +34,9 @@
"type": "pdf", "type": "pdf",
"state": { "state": {
"file": "Concurrent Systems/slides/class 5.pdf", "file": "Concurrent Systems/slides/class 5.pdf",
"page": 2, "page": 4,
"left": -27, "left": -27,
"top": 266, "top": 379,
"zoom": 0.5754156769596199 "zoom": 0.5754156769596199
}, },
"icon": "lucide-file-text", "icon": "lucide-file-text",

View file

@ -23,4 +23,12 @@ The key issue is ensuring consistency of the shared memory
Implementation: every transaction uses a local working space Implementation: every transaction uses a local working space
- For every shared register: the first READ copies the value of the reg. in the local copy; successive READs will then read from the local copy - For every shared register: the first READ copies the value of the reg. in the local copy; successive READs will then read from the local copy
- Every WRITE modifies the local copy and puts the final - Every WRITE modifies the local copy and puts the final value in the shared memory only at the end of the transaction (if it has not been aborted)
4 operations:
- `begin_T()`: initializes the local control variables
- `X.read_T(), X.write_T()`: described above
- `try_to_commit_T()`: decides whether a transaction (non-aborted) can commit
#### A Logical Clock based STM system
All the READs perform if no inconsistencies arise, or before any inconsistency