vault backup: 2025-04-04 23:58:09
This commit is contained in:
parent
8e517b1bd4
commit
1ce5aec8cd
13 changed files with 34 additions and 50 deletions
|
@ -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]]
|
||||

|
||||
|
||||
### 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 doesn’t satisfy the non-blocking property:![[/Concurrent Systems/notes/images/Pasted image 20250324092633.png]]
|
||||
**REMARK:** this implementation doesn’t satisfy the non-blocking property:
|
||||
|
||||
### 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]]
|
||||

|
||||
|
||||
```
|
||||
push(w) :=
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue