1 / 26

Maekawa: Quorum Size Research

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

honey
Download Presentation

Maekawa: Quorum Size Research

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

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

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

  4. 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

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

  6. 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

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

  8. 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

  9. 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

  10. 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

  11. 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]= { }

  12. 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]= { }

  13. 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]= { }

  14. 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]= { }

  15. 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}

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

  17. 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

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

  19. Results

  20. Results (Cont.)

  21. 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.

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

  23. 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.

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

  25. 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

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

More Related