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

This commit is contained in:
Marco Realacci 2025-03-25 08:53:01 +01:00
parent 32ee969e6a
commit 304e5d401c
2 changed files with 12 additions and 2 deletions

View file

@ -229,10 +229,10 @@
"companion:Toggle completion": false "companion:Toggle completion": false
} }
}, },
"active": "879210c00db77468", "active": "0d64f519fd7f9420",
"lastOpenFiles": [ "lastOpenFiles": [
"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/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",

View file

@ -29,3 +29,13 @@ stop_help(i) :=
NEED_HELP[i] <- false NEED_HELP[i] <- false
``` ```
**Theorem:** the contention manager just seen transforms an obstr.-free implementation into a non-blocking enriched implementation.
*Proof:*
By contr., $\exists \tau$ s.t. $\exists$ many (> 0) op.'s invoked concurrently that never terminate.
Let Q be the set of proc.'s that performed these invocations.
- by enrichment, eventually `NEED_HELP[i]=T` ($\forall i\in Q$) forever
- since crashed are fail-stop, eventually `NEED_HELP[j]` is no longer modified ($\forall j \not \in Q$)
- $\exists \tau' \geq \tau$ where all proc.'s in Q compute the same X
**Observation:**