vault backup: 2025-03-25 08:28:01
This commit is contained in:
parent
2f1ed71b87
commit
1fe3d87c62
2 changed files with 9 additions and 2 deletions
4
.obsidian/workspace.json
vendored
4
.obsidian/workspace.json
vendored
|
@ -231,9 +231,9 @@
|
|||
},
|
||||
"active": "0d64f519fd7f9420",
|
||||
"lastOpenFiles": [
|
||||
"Concurrent Systems/notes/7- MUTEX-free concurrency.md",
|
||||
"Concurrent Systems/notes/8 - Enhancing Liveness Properties.md",
|
||||
"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/images/Pasted image 20250324091452.png",
|
||||
"Concurrent Systems/slides/class 7.pdf",
|
||||
"Concurrent Systems/notes/6 - Atomicity.md",
|
||||
|
|
|
@ -1,2 +1,9 @@
|
|||
Can we take the most basic protocol that satisfies the most basic liveness property (obstruction freedom) and "upgrade" it to bounded wait freedom?
|
||||
|
||||
**Contention manager:** is an object that allows progress of processes by providing contention-free periods for completing their invocations. It provides 2 operations:
|
||||
- `need_help(i)`: invoked by $p_i$ when it discovers that there is contention
|
||||
- `stop_help(i)`: invoked by $p_{i}$ when it terminates its current invocation
|
||||
|
||||
**Enriched implementation:** when a process realizes that there is contention, it invokes need_help; when it completes its current operation, it invokes stop_help.
|
||||
|
||||
Why is it different from lock/unlock? Because this allows failures, and they can also happen in the contention-free period.
|
Loading…
Add table
Add a link
Reference in a new issue