Maekawa: Quorum Size Research Jeremy Miller Kent State University November 28 th, 2011 1.

Slides:



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

Ricart and Agrawala’s Algorithm
Token-Dased DMX Algorithms n LeLann’s token ring n Suzuki-Kasami’s broadcast n Raymond’s tree.
CMSC 104, Version 9/011 Arithmetic Operators Topics Arithmetic Operators Operator Precedence Evaluating Arithmetic Expressions In-class Project Incremental.
Discussion #33 Adjacency Matrices. Topics Adjacency matrix for a directed graph Reachability Algorithmic Complexity and Correctness –Big Oh –Proofs of.
CS 240: Data Structures Tuesday, July 24 th Searching, Hashing Graphs.
Highly Concurrent and Fault-Tolerant h-out of-k Mutual Exclusion Using Cohorts Coteries for Distributed Systems.
Estimation from Samples Find a likely range of values for a population parameter (e.g. average, %) Find a likely range of values for a population parameter.
A General approach to MPLS Path Protection using Segments Ashish Gupta Ashish Gupta.
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.
A Distributed Group k-Exclusion Algorithm Using k-Write-Read Coteries Presented by Jehn-Ruey Jiang National Central University Taiwan, R. O. C.
A General approach to MPLS Path Protection using Segments Ashish Gupta Ashish Gupta.
Consecutive Numbers Algebra I.
Dr. Kalpakis CMSC 621, Advanced Operating Systems. Fall 2003 URL: Distributed Mutual Exclusion.
Mobility Limited Flip-Based Sensor Networks Deployment Reporter: Po-Chung Shih Computer Science and Information Engineering Department Fu-Jen Catholic.
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.
Maekawa’s algorithm Divide the set of processes into subsets that satisfy the following two conditions: i  S i  i,j :  i,j  n-1 :: S i  S j.
Arithmetic Operators Topics Arithmetic Operators Operator Precedence
MUTUAL EXCLUSION AND QUORUMS CS Distributed Mutual Exclusion Given a set of processes and a single resource, develop a protocol to ensure exclusive.
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.
The Scientific Method. The Basic Steps l State the problem l Form a hypothesis l Test the hypothesis l Draw conclusions.
Studying Different Problems from Distributed Computing Several of these problems are motivated by trying to use solutiions used in `centralized computing’
+ Selection Sort Method Joon Hee Lee August 12, 2012.
1 Permission-based Distributed Mutual Exclusion : Ricart-Agrawala & Maekawa Algorithms By: Sherenaz W. Al-Haj Baddar.
CSE 486/586, Spring 2012 CSE 486/586 Distributed Systems Mutual Exclusion & Leader Election Steve Ko Computer Sciences and Engineering University.
CMSC 104, Version 8/061L10ArithmeticOps.ppt Arithmetic Operators Topics Arithmetic Operators Operator Precedence Evaluating Arithmetic Expressions In-class.
Comparison of Tarry’s Algorithm and Awerbuch’s Algorithm CS 6/73201 Advanced Operating System Presentation by: Sanjitkumar Patel.
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.
Fall 2008CS 334: Computer SecuritySlide #1 Design Principles Thanks to Matt Bishop.
Science Fair Project Type your project title here Your name Your teacher’s name Your school.
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.
Using Ant Agents to Combine Reactive and Proactive strategies for Routing in Mobile Ad Hoc Networks Fredrick Ducatelle, Gianni di caro, and Luca Maria.
Distributed Mutual Exclusion Synchronization in Distributed Systems Synchronization in distributed systems are often more difficult compared to synchronization.
By Purva Gawde For Advanced Operating Systems Instructor: Mikhail Nesterenko.
Patterns and Sequences Sequence: Numbers in a specific order that form a pattern are called a sequence. An example is 2, 4, 6, 8, 10 and 12. Polygon:
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.
Testing i. explain the importance of system testing and installation planning;
The Scientific Method. What is the scientific method? Collection of steps Attempt to solve a problem or answer a question Minimize the influence of bias.
Implementation of Ricart Agrawala Algorithm
Consecutive Numbers Algebra I.
Mutual Exclusion Continued
Distributed Mutual Exclusion
Arithmetic Operators Topics Arithmetic Operators Operator Precedence
Comparison between Suzuki Kasami’s and Raymond’s Tree Algorithm
Software testing strategies 2
Arithmetic Operators Topics Arithmetic Operators Operator Precedence
Raymond'S Tree DMX Algorithm
The Derivative as a Function
Ho-Ramammorthy 2 phase snapshot algorithm PRESENTATION
Raymond Exclusive Algorithm
Do now activity #1 Take out a new sheet of lined paper.
ECE 544 Software Project 3: Description and Timeline
Outline Distributed Mutual Exclusion Introduction Performance measures
Overview of features for new and returning users
CSE 486/586 Distributed Systems Mutual Exclusion
Boolean Expressions to Make Comparisons
Synchronization (2) – Mutual Exclusion
Science Fair Project Type your project title here Your name
Do now activity What is the difference between a control and a variable? How come water (H2O) is not an element? List 10 examples of the word “organism”.
Distributed Systems and Concurrency: Synchronization in Distributed Systems Majeed Kassis.
Distributed Mutual eXclusion
Advanced Operating System Maekawa vs. Ricart-Agrawala By Rizal M Nor
CSE 486/586 Distributed Systems Mutual Exclusion
Arezo Ghiam IME 301 Project Winter 2010
Design Principles Thanks to Matt Bishop 2006 CS 395: Computer Security.
Do now activity #1 What is the difference between a control and a variable? How come water (H2O) is not an element? List 10 examples of the word “organism”.
Presentation transcript:

Maekawa: Quorum Size Research Jeremy Miller Kent State University November 28 th,

Outline Overview of Maekawa Quorum Creation Experimental Setup Results Future Work Conclusions 2

Outline Overview of Maekawa Quorum Creation Experimental Setup Results Future Work Conclusions 3

Overview of Maekawa Permission based DMX solution Each process has a quorum Each process only has one permission to give Process is granted access to the critical section if it receives permission from its entire quorum 6 Message types: ▫Request, Permission, Release  Message Complexity: 3√N ▫Failure, Inquire, Yield (Deadlock Messages)  Message Complexity: 6√N 4

Outline Overview of Maekawa Quorum Creation Experimental Setup Results Future Work Conclusions 5

Billiards Algorithm 1 st Path 2 nd Path 3 rd Path 1 st Path 2 nd Path 3 rd Path Where to start Quorums: Quorum[0]= { } Quorum[1]= { } Quorum[2]= { } Quorum[3]= { } 6

Billiards Algorithm 1 st Path 2 nd Path 3 rd Path 1 st Path 2 nd Path 3 rd Path Where to start Quorums: Quorum[0]= {0, 1, 2} Quorum[1]= { } Quorum[2]= { } Quorum[3]= { } 7

Billiards Algorithm 1 st Path 2 nd Path 3 rd Path 1 st Path 2 nd Path 3 rd Path Where to start Quorums: Quorum[0]= {0, 1, 2} Quorum[1]= {1, 2, 3} Quorum[2]= { } Quorum[3]= { } 8

Billiards Algorithm 1 st Path 2 nd Path 3 rd Path 1 st Path 2 nd Path 3 rd Path Where to start Quorums: Quorum[0]= {0, 1, 2} Quorum[1]= {1, 2, 3} Quorum[2]= {0, 2, 3} Quorum[3]= { } 9

Billiards Algorithm 1 st Path 2 nd Path 3 rd Path 1 st Path 2 nd Path 3 rd Path Where to start Quorums: Quorum[0]= {0, 1, 2} Quorum[1]= {1, 2, 3} Quorum[2]= {0, 2, 3} Quorum[3]= {0, 1, 3} 10

Non-Billiards Algorithm Make a matrix counting upwards Find the process Draw two lines, add all of the processes hit to the quorum Quorums: Quorum[0]= { } Quorum[1]= { } Quorum[2]= { } Quorum[3]= { } 11

Non-Billiards Algorithm Make a matrix counting upwards Find the process Draw two lines, add all of the processes hit to the quorum Quorums: Quorum[0]= {0, 1, 2} Quorum[1]= { } Quorum[2]= { } Quorum[3]= { } 12

Non-Billiards Algorithm Make a matrix counting upwards Find the process Draw two lines, add all of the processes hit to the quorum Quorums: Quorum[0]= {0, 1, 2} Quorum[1]= {0, 1, 3} Quorum[2]= { } Quorum[3]= { } 13

Non-Billiards Algorithm Make a matrix counting upwards Find the process Draw two lines, add all of the processes hit to the quorum Quorums: Quorum[0]= {0, 1, 2} Quorum[1]= {0, 1, 3} Quorum[2]= {0, 2, 3} Quorum[3]= { } 14

Non-Billiards Algorithm Make a matrix counting upwards Find the process Draw two lines, add all of the processes hit to the quorum Quorums: Quorum[0]= {0, 1, 2} Quorum[1]= {0, 1, 3} Quorum[2]= {0, 2, 3} Quorum[3]= {1, 2, 3} 15

Outline Overview of Maekawa Quorum Creation Experimental Setup Results Future Work Conclusions 16

Billiards vs. Non-Billiards Testing 2 parameters: Message Complexity and Correctness in critical section entry. Hypothesis: Billiards will have smaller message complexity but a worse correctness in CS entry. Methods: ▫Set up 2 fixed quorums for each type. Run increasingly large sample sizes of CS entry. Run each test 10 times and average the results. ▫Billiards: 24 Processes, 7 Quorum Size. ▫Non-Billiards: 25 Processes, 9 Quorum Size 17

Outline Overview of Maekawa Quorum Creation Experimental Setup Results Future Work Conclusions 18

Results 19

Results (Cont.) 20

Results (Cont.) On all tests done the correctness of CS entry was 100% for both Billiards and Non-Billiards Not once was there incorrect order in entry. Expected a wrong entry in the first 1-3 entries every once in a while. 21

Outline Overview of Maekawa Quorum Creation Experimental Setup Results Future Work Conclusions 22

Future Work Test different sizes of quorums, not only 2 fixed sizes. Force the algorithms into out-of-order situations initially and see if there is any difference in correctness between the two algorithms. 23

Outline Overview of Maekawa Quorum Creation Experimental Setup Results Future Work Conclusions 24

Conclusions Billiards algorithm is the all-around best algorithm for quorum creation Both algorithms level off in messages sent around 500 critical section entries No advantage to use anything other than billiards quorum creation 25

References Agrawal, D. "Billiard Quorums on the Grid." Information Processing Letters 64.1 (1997): Print. Code Defense Link: Code DefenseCode Defense Thank you. Questions? 26