vault backup: 2025-03-25 08:28:01

This commit is contained in:
Marco Realacci 2025-03-25 08:28:01 +01:00
parent 2f1ed71b87
commit 1fe3d87c62
2 changed files with 9 additions and 2 deletions

View file

@ -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",

View file

@ -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.