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

This commit is contained in:
Marco Realacci 2025-03-17 10:44:23 +01:00
parent c1c145bbb3
commit 41b6879460
2 changed files with 13 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": 3, "page": 4,
"left": -27, "left": -27,
"top": 70, "top": 123,
"zoom": 0.5754156769596199 "zoom": 0.5754156769596199
}, },
"icon": "lucide-file-text", "icon": "lucide-file-text",

View file

@ -46,4 +46,14 @@ We now present an atomic STM system, called *Transactional Locking 2*:
- `lc(XX)`: a local copy of the implementation of reg. X - `lc(XX)`: a local copy of the implementation of reg. X
- `read_set(T)`: the set of names of all the registers read by T up to that moment - `read_set(T)`: the set of names of all the registers read by T up to that moment
- `write_set(T)`: the set of names of all the registers written by T up to that moment - `write_set(T)`: the set of names of all the registers written by T up to that moment
- `birthdate(T)`: the value of CLOCK(+1) at the starting of - `birthdate(T)`: the value of CLOCK(+1) at the starting of T
**Idea:** commit a transaction if and only if (iff) it could appear as executed at its birthdate time
**Consistency:**
- if T reads X, then it must be that `XX.date < birthdate(T)`
- to commit, all registers accessed by T cannot have been modified after T's birthdate (again, `XX.date < birthdate(T)`)
###### Implementation:
```
poi la scrivo giuro
```