Successfully reported this slideshow.

Team7

444 views

Published on

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Team7

  1. 1. Reliable Distributed Systems & Group Membership Services (GMS) Group 7: Jimmy Truong Deepika Rajiand Ayman Khedr Mohamed Ahmed
  2. 2. What is a Distributed Computing System? <ul><li>A distributed computing system is a set of computer programs, executing on one or more computers, and coordinating actions by exchanging messages. </li></ul>
  3. 3. A distributed computing system can be: <ul><li>One which the components or computer programs execute on a single Multitasking computer, or </li></ul><ul><li>One which the components or computer programs execute on a collection of Computers, in which the flow of information between computers, occurs over a network. </li></ul>
  4. 4. Reliable Distributed Systems : <ul><li>Reliability has many meanings in Distributed systems: </li></ul><ul><ul><li>Fault tolerance </li></ul></ul><ul><ul><li>Consistency </li></ul></ul><ul><ul><li>High Availability </li></ul></ul><ul><ul><li>Security </li></ul></ul><ul><ul><li>Recoverability </li></ul></ul>
  5. 5. How do we achieve reliability in distributed systems? <ul><li>Replication </li></ul><ul><li>Group Membership service </li></ul>
  6. 6. a b c Client GMS Replicated Servers a requests: create Group S GMS responds : S = { a } b requests: join Group S GMS notifies: S = { a , b } Client contacts GMS to inquire about members of S GMS responds with: S = { a , b } Client sends update to S members i.e. a and b S = { a , b , c} S = { a , b} S = { a , c } b comes back: Re-join Group S GMS notifies: S = { a , c , b } a (oldest) : transfer state to new member b S = { a , c , b } b crashes or leaves GMS notifies: S = { a , c } S = { a} Use of GMS to Manage a Group
  7. 7. p q r GMS = { p , q , r } Propose: GMS = { p , r } Okay to exclude q ? P sends: Commit: GMS = { p , r } GMS = { p , r } q crashes Phase 1 Phase 2 <ul><li>2-Phase Commit when member fails </li></ul><ul><li>Initiated by leader p </li></ul>r responds: ok 2PC -> 2-Phase Commit
  8. 8. p q r GMS = { p , q , r } Propose: GMS = { q , r } Okay to exclude p ? P sends: Commit: GMS = { q , r } GMS = { q , r } p (leader) crashes Phase 1 Phase 2 - 3-Phase Commit when leader fails - Initiated by oldest member alive (becomes new leader) r responds: ok Inquire about p r responds: nothing pending Phase 3 q is new leader 3PC -> 3-Phase Commit
  9. 9. <ul><li>Thank You! </li></ul><ul><li>References: </li></ul><ul><li>Birman, Kenneth. Reliable Distributed Systems: Technologies, Web Services, and Applications. United States: Springer Science + Business Media, Inc. 2005. </li></ul>

×