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

Slides:



Advertisements
Similar presentations
Dr. Kalpakis CMSC 621, Advanced Operating Systems. Distributed Mutual Exclusion.
Advertisements

CS542 Topics in Distributed Systems Diganta Goswami.
CAS3SH3 Midterm Review. The midterm 50 min, Friday, Feb 27 th Materials through CPU scheduling closed book, closed note Types of questions: True & False,
Token-Dased DMX Algorithms n LeLann’s token ring n Suzuki-Kasami’s broadcast n Raymond’s tree.
Previously… Processes –Process States –Context Switching –Process Queues Threads –Thread Mappings Scheduling –FCFS –SJF –Priority scheduling –Round Robin.
Silberschatz, Galvin and Gagne ©2013 Operating System Concepts – 9 th Edition Chapter 5: Process Synchronization.
Leader Election Let G = (V,E) define the network topology. Each process i has a variable L(i) that defines the leader.  i,j  V  i,j are non-faulty.
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Chapter 6: Process Synchronization.
Multiprocessor Synchronization Algorithms ( ) Lecturer: Danny Hendler The Mutual Exclusion problem.
Page 1 Mutual Exclusion* Distributed Systems *referred to slides by Prof. Paul Krzyzanowski at Rutgers University and Prof. Mary Ellen Weisskopf at University.
Synchronization in Distributed Systems
CS 582 / CMPE 481 Distributed Systems
Computer Science Lecture 12, page 1 CS677: Distributed OS Last Class Distributed Snapshots –Termination detection Election algorithms –Bully –Ring.
CS603 Process Synchronization February 11, Synchronization: Basics Problem: Shared Resources –Generally data –But could be others Approaches: –Model.
A Fault-Tolerant h-out of-k Mutual Exclusion Algorithm Using Cohorts Coteries for Distributed Systems Presented by Jehn-Ruey Jiang National Central University.
A Fault-Tolerant h-out of-k Mutual Exclusion Algorithm Using Cohorts Coteries for Distributed Systems Presented by Jehn-Ruey Jiang National Central University.
Coordination in Distributed Systems Lecture # 8. Coordination Anecdotes  Decentralized, no coordination  Aloha ~ 18%  Some coordinating Master  Slotted.
EEC-681/781 Distributed Computing Systems Lecture 11 Wenbing Zhao Cleveland State University.
Computer Science Lecture 12, page 1 CS677: Distributed OS Last Class Vector timestamps Global state –Distributed Snapshot Election algorithms.
Dr. Kalpakis CMSC 621, Advanced Operating Systems. Fall 2003 URL: Distributed Mutual Exclusion.
Distributed Mutex EE324 Lecture 11.
Distributed Mutual Exclusion
Performance of Token- based Distributed Mutual Exclusion Algorithms Scott J. McCallen Kent State University November
CSE 486/586, Spring 2013 CSE 486/586 Distributed Systems Mutual Exclusion Steve Ko Computer Sciences and Engineering University at Buffalo.
4.5 DISTRIBUTED MUTUAL EXCLUSION MOSES RENTAPALLI.
4.5 Distributed Mutual Exclusion Ranjitha Shivarudraiah.
CSE 486/586, Spring 2012 CSE 486/586 Distributed Systems Mutual Exclusion Steve Ko Computer Sciences and Engineering University at Buffalo.
MUTUAL EXCLUSION AND QUORUMS CS Distributed Mutual Exclusion Given a set of processes and a single resource, develop a protocol to ensure exclusive.
Computer Science Lecture 12, page 1 CS677: Distributed OS Last Class Vector timestamps Global state –Distributed Snapshot Election algorithms –Bully algorithm.
Chapter 2/6 –Critical Section Problem / Mutual exclusion progress, bounded wait –Hardware Solution disable interrupts –problems ? –Software Solution busy.
CS425 /CSE424/ECE428 – Distributed Systems – Fall 2011 Material derived from slides by I. Gupta, M. Harandi, J. Hou, S. Mitra, K. Nahrstedt, N. Vaidya.
Presenter: Long Ma Advisor: Dr. Zhang 4.5 DISTRIBUTED MUTUAL EXCLUSION.
Vector Clock Each process maintains an array of clocks –vc.j.k denotes the knowledge that j has about the clock of k –vc.j.j, thus, denotes the clock of.
Studying Different Problems from Distributed Computing Several of these problems are motivated by trying to use solutiions used in `centralized computing’
CS603 Fault Tolerance - Communication April 17, 2002.
CS510 Concurrent Systems Why the Grass May Not Be Greener on the Other Side: A Comparison of Locking and Transactional Memory.
CSE 486/586, Spring 2012 CSE 486/586 Distributed Systems Mutual Exclusion & Leader Election Steve Ko Computer Sciences and Engineering University.
Physical clock synchronization Question 1. Why is physical clock synchronization important? Question 2. With the price of atomic clocks or GPS coming down,
ITEC452 Distributed Computing Lecture 6 Mutual Exclusion Hwajung Lee.
1.Mutual Exclusion in Distributed Systems 2.Non-Token-Based Algorithms 3.Token-Based Algorithms 4.Distributed Election 5.The Bully and the Ring-Based Algorithms.
Hwajung Lee. Mutual Exclusion CS p0 p1 p2 p3 Some applications are: 1. Resource sharing 2. Avoiding concurrent update on shared data 3. Controlling the.
An Efficient and Fault-Tolerant Solution for Distributed Mutual Exclusion by D. Agrawal, A.E. Abbadi Presentation by Peter Tsui for COEN 317, F/03.
1 Lecture 19: Scalable Protocols & Synch Topics: coherence protocols for distributed shared-memory multiprocessors and synchronization (Sections )
Page 1 Mutual Exclusion & Election Algorithms Paul Krzyzanowski Distributed Systems Except as otherwise noted, the content.
Lecture 12-1 Computer Science 425 Distributed Systems CS 425 / CSE 424 / ECE 428 Fall 2012 Indranil Gupta (Indy) October 4, 2012 Lecture 12 Mutual Exclusion.
Synchronization in Distributed Systems Chapter 6.3.
CIS 825 Review session. P1: Assume that processes are arranged in a ring topology. Consider the following modification of the Lamport’s mutual exclusion.
Distributed Mutual Exclusion Synchronization in Distributed Systems Synchronization in distributed systems are often more difficult compared to synchronization.
Mutual Exclusion Algorithms. Topics r Defining mutual exclusion r A centralized approach r A distributed approach r An approach assuming an organization.
CS3771 Today: Distributed Coordination  Previous class: Distributed File Systems Issues: Naming Strategies: Absolute Names, Mount Points (logical connection.
CSC 8420 Advanced Operating Systems Georgia State University Yi Pan Transactions are communications with ACID property: Atomicity: all or nothing Consistency:
Revisiting Logical Clocks: Mutual Exclusion Problem statement: Given a set of n processes, and a shared resource, it is required that: –Mutual exclusion.
4.5 Distributed Mutual Exclusion
Implementation of Ricart Agrawala Algorithm
Mutual Exclusion Continued
Distributed Mutual Exclusion
Distributed Mutex EE324 Lecture 11.
Comparison between Suzuki Kasami’s and Raymond’s Tree Algorithm
Distributed Mutual Exclusion
Raymond Exclusive Algorithm
Outline Distributed Mutual Exclusion Introduction Performance measures
CSE 486/586 Distributed Systems Mutual Exclusion
Lecture 10: Coordination and Agreement
ITEC452 Distributed Computing Lecture 7 Mutual Exclusion
Prof. Leonardo Mostarda University of Camerino
Lecture 11: Coordination and Agreement
Lecture 18: Coherence and Synchronization
Distributed Systems and Concurrency: Synchronization in Distributed Systems Majeed Kassis.
Distributed Mutual eXclusion
CSE 486/586 Distributed Systems Mutual Exclusion
Presentation transcript:

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

Table of Contents Introduction Proposed Solution QoS Properties Performance Profile Conclusion

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

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)

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

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)

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)

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) 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

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)

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)

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)

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)

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)

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