118 Views

Download Presentation
## Maekawa: Quorum Size Research

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