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", "active": "0d64f519fd7f9420",
"lastOpenFiles": [ "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/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/notes/images/Pasted image 20250324091452.png",
"Concurrent Systems/slides/class 7.pdf", "Concurrent Systems/slides/class 7.pdf",
"Concurrent Systems/notes/6 - Atomicity.md", "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? 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.