A Torus Quorum Protocol for Distributed Mutual Exclusion A Torus Quorum Protocol for Distributed Mutual Exclusion S.D. Lang and L.J. Mao School of Computer.

Slides:



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

Mutual Exclusion – SW & HW By Oded Regev. Outline: Short review on the Bakery algorithm Short review on the Bakery algorithm Black & White Algorithm Black.
Scalable and Dynamic Quorum Systems Moni Naor & Udi Wieder The Weizmann Institute of Science.
1 EE5900 Advanced Embedded System For Smart Infrastructure RMS and EDF Scheduling.
CS3771 Today: deadlock detection and election algorithms  Previous class Event ordering in distributed systems Various approaches for Mutual Exclusion.
Token-Dased DMX Algorithms n LeLann’s token ring n Suzuki-Kasami’s broadcast n Raymond’s tree.
Copyright 2004 Koren & Krishna ECE655/DataRepl.1 Fall 2006 UNIVERSITY OF MASSACHUSETTS Dept. of Electrical & Computer Engineering Fault Tolerant Computing.
1 Algorithms and protocols for distributed systems We have defined process groups as having peer or hierarchical structure and have seen that a coordinator.
Parallel Scheduling of Complex DAGs under Uncertainty Grzegorz Malewicz.
QUORUMS By gil ben-zvi. definition Assume a universe U of servers, sized n. A quorum system S is a set of subsets of U, every pair of which intersect,
2.3 Multiplication and Division of Whole Numbers Remember to Silence Your Cell Phone and Put It In Your Bag!
Probability and Statistics Dr. Saeid Moloudzadeh Sample Space and Events 1 Contents Descriptive Statistics Axioms of Probability Combinatorial.
1 Sensor Relocation in Mobile Sensor Networks Guiling Wang, Guohong Cao, Tom La Porta, and Wensheng Zhang Department of Computer Science & Engineering.
CS 582 / CMPE 481 Distributed Systems
What we will cover…  Distributed Coordination 1-1.
Ordering and Consistent Cuts Presented By Biswanath Panda.
Highly Concurrent and Fault-Tolerant h-out of-k Mutual Exclusion Using Cohorts Coteries for Distributed Systems.
Polynomial Time Approximation Scheme for Euclidian Traveling Salesman
Bakery Algorithm - Proof
20101 Synchronization in distributed systems A collection of independent computers that appears to its users as a single coherent system.
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.
Chapter 18: Distributed Coordination (Chapter 18.1 – 18.5)
Orthogonality and Least Squares
CS 425 / ECE 428 Distributed Systems Fall 2014 Indranil Gupta (Indy) Lecture 12: Mutual Exclusion All slides © IG.
A Distributed Group k-Exclusion Algorithm Using k-Write-Read Coteries Presented by Jehn-Ruey Jiang National Central University Taiwan, R. O. C.
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
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved Chapter 6 Synchronization.
CSE 486/586, Spring 2013 CSE 486/586 Distributed Systems Mutual Exclusion Steve Ko Computer Sciences and Engineering University at Buffalo.
1 7. Two Random Variables In many experiments, the observations are expressible not as a single quantity, but as a family of quantities. For example to.
Chapter 1 Probability Spaces 主講人 : 虞台文. Content Sample Spaces and Events Event Operations Probability Spaces Conditional Probabilities Independence of.
Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Sets.
1 2. Independence and Bernoulli Trials Independence: Events A and B are independent if It is easy to show that A, B independent implies are all independent.
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.
Operating Systems Distributed Coordination. Topics –Event Ordering –Mutual Exclusion –Atomicity –Concurrency Control Topics –Event Ordering –Mutual Exclusion.
CS425 /CSE424/ECE428 – Distributed Systems – Fall 2011 Material derived from slides by I. Gupta, M. Harandi, J. Hou, S. Mitra, K. Nahrstedt, N. Vaidya.
Coordination and Agreement. Topics Distributed Mutual Exclusion Leader Election.
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’
1 Revisiting Hierarchical Quorum Systems Nuno Preguiça, J. Legatheaux Martins Henry Canivel.
CSE 486/586, Spring 2012 CSE 486/586 Distributed Systems Mutual Exclusion & Leader Election Steve Ko Computer Sciences and Engineering University.
Distributed Transaction Management, Fall 2002Lecture 2 / Distributed Locking Jyrki Nummenmaa
ITEC452 Distributed Computing Lecture 6 Mutual Exclusion Hwajung Lee.
1. 2 You should know by now… u The security level of a strategy for a player is the minimum payoff regardless of what strategy his opponent uses. u A.
Hwajung Lee. Mutual Exclusion CS p0 p1 p2 p3 Some applications are:  Resource sharing  Avoiding concurrent update on shared data  Controlling the.
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.
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.
Lecture 7- 1 CS 425/ECE 428/CSE424 Distributed Systems (Fall 2009) Lecture 7 Distributed Mutual Exclusion Section 12.2 Klara Nahrstedt.
Relations and Functions ORDERED PAIRS AND CARTESIAN PRODUCT An ordered pair consists of two elements, say a and b, in which one of them, say a is designated.
1 Distributed Vertex Coloring. 2 Vertex Coloring: each vertex is assigned a color.
CSC 8420 Advanced Operating Systems Georgia State University Yi Pan Transactions are communications with ACID property: Atomicity: all or nothing Consistency:
Lesson Runs Test for Randomness. Objectives Perform a runs test for randomness Runs tests are used to test whether it is reasonable to conclude.
Revisiting Logical Clocks: Mutual Exclusion Problem statement: Given a set of n processes, and a shared resource, it is required that: –Mutual exclusion.
CS 425 / ECE 428 Distributed Systems Fall 2015 Indranil Gupta (Indy) Oct 1, 2015 Lecture 12: Mutual Exclusion All slides © IG.
Fair K-Mutual Exclusion Algorithm for Peer to Peer Systems
Mutual Exclusion Continued
Decentralized solution 1
Mutual Exclusion Problem Specifications
Outline Distributed Mutual Exclusion Introduction Performance measures
Mutual Exclusion CS p0 CS p1 p2 CS CS p3.
CSE 486/586 Distributed Systems Mutual Exclusion
Distributed Systems and Concurrency: Synchronization in Distributed Systems Majeed Kassis.
Distributed Mutual eXclusion
CSE 486/586 Distributed Systems Mutual Exclusion
Locality In Distributed Graph Algorithms
Presentation transcript:

A Torus Quorum Protocol for Distributed Mutual Exclusion A Torus Quorum Protocol for Distributed Mutual Exclusion S.D. Lang and L.J. Mao School of Computer Science, University of Central Florida Presented by Jun Zhang

The Problem of Mutual Exclusion Exclusive access to a shared resource is sometimes essential for consistency. Exclusive access to a shared resource is sometimes essential for consistency. The problem of mutual exclusion involves granting exclusive access to shared resources whenever it is desired by a requestor. The problem of mutual exclusion involves granting exclusive access to shared resources whenever it is desired by a requestor.

Two Major Approaches Token-based Token-based The system uses a unique token to represent the privilege for the node possessing it to enter the critical section. The system uses a unique token to represent the privilege for the node possessing it to enter the critical section. Permission-based Permission-based A node wishing to enter the critical section needs to request permissions from a subset of other nodes, called a request set, also called quorum. A node wishing to enter the critical section needs to request permissions from a subset of other nodes, called a request set, also called quorum.

Intuition behind Quorums Any pair of mutual exclusion requests must be arbitrated and one of the requesting nodes may be given access. Any pair of mutual exclusion requests must be arbitrated and one of the requesting nodes may be given access. The system comprises entirely of identical nodes which must share the responsibility of mutual exclusion The system comprises entirely of identical nodes which must share the responsibility of mutual exclusion Thus, any pair of two requests must reach a certain common node. Thus, any pair of two requests must reach a certain common node. This implies that the quorums of any two nodes i and j, given by Q i and Q j, must have a non-empty intersection. This implies that the quorums of any two nodes i and j, given by Q i and Q j, must have a non-empty intersection.

Algorithm Intuition If node i can lock all members of its quorum, then no other node can capture all its members since the intersection of its quorum with that of i’s will have at least one node. If node i can lock all members of its quorum, then no other node can capture all its members since the intersection of its quorum with that of i’s will have at least one node. If a node fails to capture all its members, it waits till all of them are freed to lock them. If a node fails to capture all its members, it waits till all of them are freed to lock them. To prevent deadlocks, nodes get a priority based on the timestamp of their request. To prevent deadlocks, nodes get a priority based on the timestamp of their request.

Grid Quorum

Quorum size W + H - 1

Torus Grid Definition 1. A torus grid of size h x w consists of a rectangular array of h rows and w columns, in which for 1 ≤ i ≤ h -1, row i is followed by row i + 1, and row h is followed by row 1 using wraparound. Similarly, for 1 ≤j ≤ w - 1, column j is followed by column j + 1, and column w is followed by column 1 using wraparound.

Torus Quorum Definition 2. A torus quorum in an h x w torus grid is a set of w + floor( h / 2) nodes, consisting of one entire row (say, row j), plus one node out of each of the (h / 2) rows following row j using end wraparound. We call the row portion of a quorum its head, and the portion consisting of one node from each h / 2 succeeding rows the quorum's tail.

Properties of Torus Quorums (Non-empty intersection) Any two torus quorums have a non-empty intersection. (Non-empty intersection) Any two torus quorums have a non-empty intersection. (Minimality) No quorum is a proper subset of another quorum. (Minimality) No quorum is a proper subset of another quorum. (Equal-sized) All torus quorums have the same size w + floor (h / 2). (Equal-sized) All torus quorums have the same size w + floor (h / 2). (Equal-responsibility) Each node belongs to exactly (w+ floor (h / 2) ) w floor(h/2)-1 quorums. (Equal-responsibility) Each node belongs to exactly (w+ floor (h / 2) ) w floor(h/2)-1 quorums. (Optimal quorum size) The optimal (minimum) quorum size is approximately sqrt(2n), which is obtained by choosing h = 2w. (Optimal quorum size) The optimal (minimum) quorum size is approximately sqrt(2n), which is obtained by choosing h = 2w.

Analysis of Property 4 For any given node (i, j), 1 ≤ i ≤ h, 1 ≤ j ≤ w For any given node (i, j), 1 ≤ i ≤ h, 1 ≤ j ≤ w The number of quorums whose head is i (it must contains node (i, j)) = w floor( h / 2) (1) w floor( h / 2) (1) The number of quorums whose head is not i but contains node (i, j) = floor (h / 2) * w floor( h / 2) – 1 (2) floor (h / 2) * w floor( h / 2) – 1 (2) Add (1) and (2), we got w * w floor( h / 2) -1 + floor (h / 2) * w floor( h / 2) – 1 = ( w + floor (h / 2)) * w floor( h / 2) – 1

Reliability Definition 3. For a torus grid of size h x w with the node's reliability p, let T (h, w) denote the system's availability, i.e., the probability that a torus quorum exists. For a torus grid of size h x w with the node's reliability p, let T (h, w) denote the system's availability, i.e., the probability that a torus quorum exists. Similarly, for a non-wraparound rectangular grid of size h x w, let T1(h, w, j, k) denote the probability that there exists a non-wraparound torus quorum of head length w and tail length k, assuming the bottom j rows of the grid are all in a state of at least one up node per each row. Similarly, for a non-wraparound rectangular grid of size h x w, let T1(h, w, j, k) denote the probability that there exists a non-wraparound torus quorum of head length w and tail length k, assuming the bottom j rows of the grid are all in a state of at least one up node per each row.

Reliability (Cont.)

Availability Comparison

Conclusion Torus quorums provide an equal-sized and equal-responsibility coterie; thus, they have the potential to lead to a more balanced load in distributed system control. Torus quorums provide an equal-sized and equal-responsibility coterie; thus, they have the potential to lead to a more balanced load in distributed system control.

Thank you