260 likes | 434 Views
Maekawa: Quorum Size Research. Jeremy Miller Kent State University November 28 th , 2011. Outline. Overview of Maekawa Quorum Creation Experimental Setup Results Future Work Conclusions. Outline. Overview of Maekawa Quorum Creation Experimental Setup Results Future Work
E N D
Maekawa: Quorum Size Research Jeremy Miller Kent State University November 28th, 2011
Outline • Overview of Maekawa • Quorum Creation • Experimental Setup • Results • Future Work • Conclusions
Outline • Overview of Maekawa • Quorum Creation • Experimental Setup • Results • Future Work • Conclusions
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
Outline • Overview of Maekawa • Quorum Creation • Experimental Setup • Results • Future Work • Conclusions
Billiards Algorithm Where to start 1st Path 2nd Path 3rd Path Quorums: Quorum[0]= { } Quorum[1]= { } Quorum[2]= { } Quorum[3]= { } Where to start 1st Path 2nd Path 3rd Path
Billiards Algorithm Where to start 1st Path 2nd Path 3rd Path Quorums: Quorum[0]= {0, 1, 2} Quorum[1]= { } Quorum[2]= { } Quorum[3]= { } Where to start 1st Path 2nd Path 3rd Path
Billiards Algorithm Where to start 1st Path 2nd Path 3rd Path Quorums: Quorum[0]= {0, 1, 2} Quorum[1]= {1, 2, 3} Quorum[2]= { } Quorum[3]= { } Where to start 1st Path 2nd Path 3rd Path
Billiards Algorithm Where to start 1st Path 2nd Path 3rd Path Quorums: Quorum[0]= {0, 1, 2} Quorum[1]= {1, 2, 3} Quorum[2]= {0, 2, 3} Quorum[3]= { } Where to start 1st Path 2nd Path 3rd Path
Billiards Algorithm Where to start 1st Path 2nd Path 3rd Path Quorums: Quorum[0]= {0, 1, 2} Quorum[1]= {1, 2, 3} Quorum[2]= {0, 2, 3} Quorum[3]= {0, 1, 3} Where to start 1st Path 2nd Path 3rd Path
Non-Billiards Algorithm 0 1 2 3 • 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]= { }
Non-Billiards Algorithm 0 1 2 3 • 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]= { }
Non-Billiards Algorithm 0 1 2 3 • 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]= { }
Non-Billiards Algorithm 0 1 2 3 • 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]= { }
Non-Billiards Algorithm 0 1 2 3 • 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}
Outline • Overview of Maekawa • Quorum Creation • Experimental Setup • Results • Future Work • Conclusions
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
Outline • Overview of Maekawa • Quorum Creation • Experimental Setup • Results • Future Work • Conclusions
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.
Outline • Overview of Maekawa • Quorum Creation • Experimental Setup • Results • Future Work • Conclusions
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.
Outline • Overview of Maekawa • Quorum Creation • Experimental Setup • Results • Future Work • Conclusions
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
References • Agrawal, D. "Billiard Quorums on the Grid." Information Processing Letters 64.1 (1997): 9-16. Print. • Code Defense Link: Code Defense • Thank you. • Questions?