Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 Contention Management and Obstruction-free Algorithms Niloufar Shafiei.

Similar presentations


Presentation on theme: "1 Contention Management and Obstruction-free Algorithms Niloufar Shafiei."— Presentation transcript:

1 1 Contention Management and Obstruction-free Algorithms Niloufar Shafiei

2 2 Agenda  Introduction  Non-blocking approaches  Contention management  Two obstruction-free shared deque algorithms

3 3 Distributed shared memory systems  Mutual exclusion (using locks)  Delay of processes  Not fault-tolerant (failure of processes)  Deadlock  Priority inversion  Non-blocking  Delay and failure of processes do not cause performance problems

4 4 Non-blocking  Wait-free All processes complete in a finite number of steps.  Lock-free Some processes complete in a finite number of steps.  Significant overhead  Complex and subtle

5 5 Non-blocking  Obstruction-free Each process completes if it runs without interference for sufficiently long.  Not guarantee the progress  Simpler  Easier to design

6 6 Contention management Decide which process can take steps at a time A simple method is back-off when they encounter interference. Contention management policy:  Guarantee the progress of all process

7 7 + = Contention Management Obstruction-free Algorithms Wait-free Algorithms

8 8 Contention Management Policies  Aggressive  Always abort  Polite  Exponential back-off  KillBlocked  Abort if an operation is blocked or waits for maximum waiting time  Karma  Set a priority (priority = amount of work + number of retries)

9 9 Contention Management Policies  Eruption  Set a priority and increase priority of running operation  Randomized  Flip a coin  Kindergarten  Keep a list  Timestamp  Abort earlier timestamp  QueueONBlock  Set a flag of waiting operation

10 10 Obstruction-free Deque on Linear Array 0 1 … MAX+1 LN … LN RN … RN value counter Invariant: array always consists of at least one LN, followed by zero or more data values, followed by at least one RN.

11 11 Rightpush(v)  Change the leftmost RN to v 1.Find index of leftmost RN LN … LN RN … RN k

12 12 2. Check if k=MAX+1 then deque is full 3. Increase the counter of A[k-1] LN … … … … RN K=MAX+1 LN … … RN … RN k A[k-1]

13 13 4. Change A[k] to v and increase its counter value LN … … v … RN k

14 14 Rightpop  Change the rightmost data value to RN. 1.Find index of leftmost RN LN LN RN RN k

15 15 2. Check if deque is empty 3. Increase the counter of A[k] LN LN LN LN RN RN k-1 k LN LN RN RN k A[k]

16 16 4. Change A[k-1] to RN and increase its counter value and return the popped value LN LN RN RN RN k

17 17 Problem:  push on one end and pop from the other end LN LN LN LN LN RN

18 18 Obstruction-free Deque on Circular Array LN RN DN RN LN Invariants: 1.All null values are in a contiguous sequence of locations. 2.The sequence consists of zero or more RN, followed by zero or one DN, followed by zero or more LN. 3.At least two different null values are in the sequence.

19 19 Rightpush(v)  Change the leftmost RN to v 1.Find index of leftmost RN v1v1 RN DN RN v2v2 LN k

20 20 2. Read A[k+1]  If A[k+1] = RN v1v1 RN DN RN v2v2 LN k k+1 1.Increase the counter value of A[k-1] 2.Change A[k] to v k-1

21 21  If A[k+1] = LN v1v1 LN RN v2v2 LN k k+1 1.Increase the counter value of A[k] 2.Change A[k+1] to DN k-1

22 22  If A[k+1] = DNand A[k+2]  Null v1v1 DN v6v6 RN v2v2 v3v3 v4v4 v5v5 k k+1 Return FULL k-1 k+2

23 23  If A[k+1] = DNand A[k+2] = LN v1v1 DN LN RN v2v2 v3v3 v4v4 v5v5 k k+1 k-1 k+2 1.Increase the counter value of A[k+2] 2.Change A[k+1] to RN

24 24 Conclusion  Obstruction-free weakens the progress property but it is simpler.  Contention management policies improve the progress of obstruction-free algorithms.  Obstruction-free algorithms with appropriate contention management policy can perform like wait-free algorithms in practice.


Download ppt "1 Contention Management and Obstruction-free Algorithms Niloufar Shafiei."

Similar presentations


Ads by Google