vault backup: 2025-03-25 09:13:01
This commit is contained in:
parent
176ea31a74
commit
599ce7e99f
2 changed files with 20 additions and 3 deletions
3
.obsidian/workspace.json
vendored
3
.obsidian/workspace.json
vendored
|
@ -231,9 +231,9 @@
|
||||||
},
|
},
|
||||||
"active": "0d64f519fd7f9420",
|
"active": "0d64f519fd7f9420",
|
||||||
"lastOpenFiles": [
|
"lastOpenFiles": [
|
||||||
"Pasted image 20250325090735.png",
|
|
||||||
"Concurrent Systems/slides/class 8.pdf",
|
"Concurrent Systems/slides/class 8.pdf",
|
||||||
"Concurrent Systems/notes/8 - Enhancing Liveness Properties.md",
|
"Concurrent Systems/notes/8 - Enhancing Liveness Properties.md",
|
||||||
|
"Pasted image 20250325090735.png",
|
||||||
"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",
|
||||||
|
@ -264,7 +264,6 @@
|
||||||
"Pasted image 20250318090909.png",
|
"Pasted image 20250318090909.png",
|
||||||
"Pasted image 20250318090733.png",
|
"Pasted image 20250318090733.png",
|
||||||
"Concurrent Systems/slides/class 5.pdf",
|
"Concurrent Systems/slides/class 5.pdf",
|
||||||
"Concurrent Systems/notes/images/Pasted image 20250317105355.png",
|
|
||||||
"HCIW/slides/4 HUI2016-6-forcefeedback.pdf",
|
"HCIW/slides/4 HUI2016-6-forcefeedback.pdf",
|
||||||
"HCIW/slides/3b Haptic slides.pdf",
|
"HCIW/slides/3b Haptic slides.pdf",
|
||||||
"HCIW/notes/2 - Interface and Interaction for IoT.md",
|
"HCIW/notes/2 - Interface and Interaction for IoT.md",
|
||||||
|
|
|
@ -16,6 +16,8 @@ Can we take the most basic protocol that satisfies the most basic liveness prope
|
||||||
|
|
||||||
REMARK: the moment in which all variables contain the same leader is unknown
|
REMARK: the moment in which all variables contain the same leader is unknown
|
||||||
|
|
||||||
|
#### From obstruction-freedom to non-blocking
|
||||||
|
|
||||||
```
|
```
|
||||||
NEED_HELP[1..n] : SWMR atomic R/W boolean registers init at false
|
NEED_HELP[1..n] : SWMR atomic R/W boolean registers init at false
|
||||||
|
|
||||||
|
@ -57,4 +59,20 @@ It can be proved that there exists no wait-free implementation of $\Omega$ in an
|
||||||
|
|
||||||
REMARK: $\tau_{1}, \tau_{2}, \nabla$ and $p_L$ are all unknown.
|
REMARK: $\tau_{1}, \tau_{2}, \nabla$ and $p_L$ are all unknown.
|
||||||
|
|
||||||
![[Pasted image 20250325090735.png]]
|
IDEA:
|
||||||
|
- `PROGRESS[1..n]` is an array of SWMR atomic registers used by proc’s to signal that they’re alive
|
||||||
|
- pi suspects pj if pi doesn’t see any progress of pj after a proper time interval (to be guessed) set in its timer
|
||||||
|
- the leader is the least suspected process, or the one with smallest/biggest ID among the least suspected ones (if there are more than one)
|
||||||
|
- this changes in time, but not forever
|
||||||
|
|
||||||
|
Guessing the time duration for suspecting a process:
|
||||||
|
- SUSPECT[i,j] = #times pi has suspected pj
|
||||||
|
- For all k, take the t+1 minimum values in SUSPECT[1..n , k]
|
||||||
|
- Sum them, to obtain Sk
|
||||||
|
- The interval to use in the timers is the minimum Sk
|
||||||
|
- it can be proved that this eventually becomes ≥ $\nabla$
|
||||||
|
|
||||||
|
#### From obstruction-freedom to wait-freedom
|
||||||
|
**Eventually perfect:** failure detector ♢P provides each process $p_i$ a local variable $suspected_i$ such that
|
||||||
|
1. *(Eventual completeness)* eventually, $suspended_{i}$ contains all the indexes of crashed processes, for all correct $p_i$
|
||||||
|
2. (*Eventual accuracy*)
|
Loading…
Add table
Add a link
Reference in a new issue