diff --git a/Concurrent Systems/notes/7- MUTEX-free concurrency.md b/Concurrent Systems/notes/7- MUTEX-free concurrency.md index 15b7688..6628f12 100644 --- a/Concurrent Systems/notes/7- MUTEX-free concurrency.md +++ b/Concurrent Systems/notes/7- MUTEX-free concurrency.md @@ -13,7 +13,13 @@ We have four new liveness properties - reminds deadlock-freedom in MUTEX-based concurrency 3. **Wait freedom:** whenever an operation is invoked on an object, it eventually terminates - reminds starvation-freedom in MUTEX-based concurrency -4. **Bounded wait freedom:** W.F. plus a bound on the number of steps needed to terminate +4. **Bounded wait freedom:** wait freedom + a bound on the number of steps needed to terminate - reminds bounded bypass in MUTEX-based concurrency -*REMARK:* these notions naturally cope with (crash) failures. Fail stop is another way of terminating, there is no way of distinguishing a failure from an arbitrary long sleep (because of asynchrony). \ No newline at end of file +*REMARK:* these notions naturally cope with (crash) failures. Fail stop is another way of terminating, there is no way of distinguishing a failure from an arbitrary long sleep (because of asynchrony). + +### A wait-free Splitter +Assume we have atomic R/W registers. + +A **splitter** is a concurrent object that provides a single operation dir such that: +1. (*validity*) \ No newline at end of file