vault backup: 2025-04-04 23:58:09

This commit is contained in:
Marco Realacci 2025-04-04 23:58:09 +02:00
parent 8e517b1bd4
commit 1ce5aec8cd
13 changed files with 34 additions and 50 deletions

View file

@ -64,7 +64,7 @@ this implementation satisfies the three requirements for the splitter
- let us consider the last process that writes into LAST (this is an atomic register, so this is meaningful)
- if the door is closed, it receives R and √
3. let $p_i$ be the first process that receives $S \to LAST=i$ in its second if
![[/Concurrent Systems/notes/images/Pasted image 20250324091452.png]]
![](Concurrent%20Systems/notes/images/Pasted%20image%2020250324091452.png)
### An Obstruction-free Timestamp Generator
A **timestamp generator** is a concurrent object that provides a single operation get_ts such that:
@ -98,7 +98,7 @@ this implementation satisfies the three properties of the timestamp generator
- every process that starts after its termination will find NEXT to a greater value (NEXT never decreases!)
3. Obstruction freedom is trivial
**REMARK:** this implementation doesnt satisfy the non-blocking property:![[/Concurrent Systems/notes/images/Pasted image 20250324092633.png]]
**REMARK:** this implementation doesnt satisfy the non-blocking property:![](Concurrent%20Systems/notes/images/Pasted%20image%2020250324092633.png)
### A Wait-free Stack
REG is an unbounded array of atomic registers (the stack)
@ -149,7 +149,7 @@ This is needed for the so called ABA problem with compare&set:
- with the compare&set you mainly test that the sequence_number has not changed
TOP : a register that can be read or compare&setted
![[/Concurrent Systems/notes/images/Pasted image 20250324100652.png]]
![](Concurrent%20Systems/notes/images/Pasted%20image%2020250324100652.png)
```
push(w) :=