9 lines
No EOL
763 B
Markdown
9 lines
No EOL
763 B
Markdown
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. |