Presentation is loading. Please wait.

Presentation is loading. Please wait.

QoS-enabled Tree-based Distributed Mutexes James Edmondson Brian Sulcer.

Similar presentations


Presentation on theme: "QoS-enabled Tree-based Distributed Mutexes James Edmondson Brian Sulcer."— Presentation transcript:

1 QoS-enabled Tree-based Distributed Mutexes James Edmondson Brian Sulcer

2 Table of Contents Introduction Proposed Solution QoS Properties Performance Profile Conclusion

3 Introduction Mutual exclusion is the acquisition of a resource by competing threads or processes In distributed systems, most mutual exclusion techniques are only interested in proper execution ◦ No QoS guarantees ◦ Priority inversions are common ◦ Fault tolerance is a side note or rarely considered

4 Introduction Lamport technique A C B ED F R(1,D)G(1,D) R(1,D) G(1,D) 1.Broadcast to all processes 2.Wait for replies from all 3.Enter critical section G(1,D)

5 Introduction Agarwal-El Abbadi,Tree-based quorum A CB EDF R(1,D) G(1,D) 1.Each process requests CS from log n processes in its quorum 2.Each process in the quorum must grant access

6 Introduction Raymond Spanning Tree A CB EDF R(1,D) G(1,D) 1.Token is passed along a spanning tree 2.If a process has a token, it is free to enter its critical section R(1,D) G(1,D)

7 Proposed Solution Tree-based scheme ◦ Each process only requests from its parent ◦ Root process grants based on some priority mechanism ◦ Reply percolates down to requester ◦ Release percolates back up to root A CB EDF R(1,D) G(1,D) L(D)

8 QoS Properties Fine-grained priority control ◦ Higher priority processes can be placed at higher levels  Faster access for higher priority processes ◦ Multiple priority mechanisms available  Weighted Level and Fair are of note A CB EDF R(2,1,D) R(2,1,E)R(2,1,F) G(1,D) 4 33 2 2 2 FormatTypeComparison (id,t)Identifierid1 < id2 || id1 == id2 && t1 < t2 (p,t)Weightedp1 < p2 || p1 == p2 && t1 < t2 (p,t)Fairt1 < t2 || t1 == t2 && p1 < p2

9 QoS Properties To combat priority inversions, we can add enhancements ◦ Before forwarding a reply to a child, if we have a request pending, go ahead and enter our CS before forwarding ◦ Before forwarding a release to a parent, if we have a request pending, go ahead and enter CS before forwarding A CB EDF R(1,D) G(1,D) L(D,B) L(D)

10 QoS Properties Fault tolerance ◦ Presume process will be replaced or restarted on failure ◦ Maintain queue of requests, remove requests on release ◦ Most faults do not require any specialized changes A CB EDF R(1,D) G(1,D) L(D) Process Cloud ◦ Introduce sync message to cover special failures ◦ Executed by parent of a failed process C B S(1,D)

11 Performance Profile (no faults) Worst case message complexity 3d (d = depth of tree = log n in complete b-tree) A CB EDF R(1,D) G(1,D) L(D) Best case message complexity 0 – root process 3 – child process of root R(1,B)G(1,B) L(B)

12 Performance Profile (no faults) Heavy load – weighted/level priority – no root requests Message complexity - 3d (d = highest depth of tree where recurring requests are occurring) Synchronization delay – 2 x t x d (t = message time) A CB EDF R(3,1,D) R(2,1,B)G(B)L(B) d = 1 R(2,1,C) G(C)L(C)R(2,2,C) R(2,2,B)

13 Performance Profile (no faults) Averages for heavy load – fair priority – root request every d/t Message complexity – O(3d) (d = maximum depth of tree) Synchronization delay – O(t) to O(2 t d), t = message transmit time A CB EDF R(1,D) G(1,D) L(D,B) L(D)

14 Conclusion QoS-enabled tree-based mutexes offer many benefits over traditional distributed mutexes ◦ Reduced priority inversions ◦ Robust fault tolerance ◦ Excellent scalability and throughput Easy to implement for distributed programmers ◦ Shared memory implementation took ~3 hours to code for authors


Download ppt "QoS-enabled Tree-based Distributed Mutexes James Edmondson Brian Sulcer."

Similar presentations


Ads by Google