vault backup: 2025-03-25 17:17:22
This commit is contained in:
parent
10447c9ab9
commit
3276faf70d
2 changed files with 14 additions and 4 deletions
4
.obsidian/workspace.json
vendored
4
.obsidian/workspace.json
vendored
|
@ -229,9 +229,9 @@
|
||||||
},
|
},
|
||||||
"active": "0d64f519fd7f9420",
|
"active": "0d64f519fd7f9420",
|
||||||
"lastOpenFiles": [
|
"lastOpenFiles": [
|
||||||
"Concurrent Systems/slides/class 8.pdf",
|
|
||||||
"Concurrent Systems/notes/8 - Enhancing Liveness Properties.md",
|
|
||||||
"Concurrent Systems/notes/7- MUTEX-free concurrency.md",
|
"Concurrent Systems/notes/7- MUTEX-free concurrency.md",
|
||||||
|
"Concurrent Systems/notes/8 - Enhancing Liveness Properties.md",
|
||||||
|
"Concurrent Systems/slides/class 8.pdf",
|
||||||
"Concurrent Systems/slides/class 7.pdf",
|
"Concurrent Systems/slides/class 7.pdf",
|
||||||
"Concurrent Systems/notes/6a - Alternatives to Atomicity.md",
|
"Concurrent Systems/notes/6a - Alternatives to Atomicity.md",
|
||||||
"Concurrent Systems/notes/3a - Hardware primitives & Lamport Bakery algorithm.md",
|
"Concurrent Systems/notes/3a - Hardware primitives & Lamport Bakery algorithm.md",
|
||||||
|
|
|
@ -103,5 +103,15 @@ We assume a weak timestamp generator, i.e. a function such that, if it returns a
|
||||||
TS[1..n] : SWMR atomic R/W registers init at 0
|
TS[1..n] : SWMR atomic R/W registers init at 0
|
||||||
|
|
||||||
need_help(i) :=
|
need_help(i) :=
|
||||||
TS[i]
|
TS[i] <- weak_ts()
|
||||||
|
repeat
|
||||||
|
competing <- {j : TS[j] != 0 and j ∉ suspected_i}
|
||||||
|
⟨t,j⟩ <- min{⟨TS[x],x⟩ | x ∈ competing}
|
||||||
|
until j = i
|
||||||
|
|
||||||
|
stop_help(i) :=
|
||||||
|
TS[i] <- 0
|
||||||
```
|
```
|
||||||
|
|
||||||
|
##### Theorem:
|
||||||
|
the contention manager just seen transforms an obstruction-free implementation into a wait-free enriched implementation.
|
Loading…
Add table
Add a link
Reference in a new issue