Download presentation
Presentation is loading. Please wait.
Published byVivian Montgomery Modified over 9 years ago
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
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.