Download
group communication specifications n.
Skip this Video
Loading SlideShow in 5 Seconds..
Group Communication Specifications PowerPoint Presentation
Download Presentation
Group Communication Specifications

Group Communication Specifications

124 Views Download Presentation
Download Presentation

Group Communication Specifications

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

  1. Group Communication Specifications Philip Jameson

  2. Outline What is a Group Communication System Membership Service Multicast Service Message Safety/Consistency Ordering and Reliability Liveness

  3. Group Communication System (GCS) • Group • Players in an online game • Participants in a video conference • View • Managed by Membership Service • List of all connected processes • Messages • Delivered by Multicast Service • Process • A member of the group

  4. Interaction with the CGS send(p, m) recv(p,m) safe_prefix(p,m) view_change(p,(id, members),T) crash(p) recover(p)

  5. Process/GCS Interaction

  6. Outline What is a Group Communication System Membership Service Multicast Service Message Safety/Consistency Ordering and Reliability Liveness

  7. Membership Service • Responsible for alerting members of a change in topology • Help maintain ‘Local Monotonicity’ • Each new view must have an ID greater than the last • Helps crashed/joining nodes regain consistency • Prevents processes from installing same view twice

  8. Partitionable and Primary Component Services • Primary Component • Only one set of views exist in the system • Only primary view is updated, other views are read-only • PartitionableComponent • Multiple views can exist at the same time • Example might be many concurrent sections of virtual worlds

  9. Outline What is a Group Communication System Membership Service Multicast Service Message Safety/Consistency Ordering and Reliability Liveness

  10. Multicast Service • Basic Properties • Every recv requires a send • No duplication of messages for a given process

  11. Sending View Delivery • Every message received must be sent from the same view • Useful in state transfer mesages • Requires blocking to satisfy fully • More overhead, and more messages required

  12. Same View Delivery • Every message received must be received in the same view • Doesn’t require it to be the same view in which it was sent • Useful when you don’t need to know which view message was sent from

  13. Virtual Synchrony If process ‘p’ and process ‘q’ install view V in V’, and message m is delivered to p in V’ then it is delivered to q in V’ Allows processes that ‘continue together’ to not require state transitions

  14. Outline What is a Group Communication System Membership Service Multicast Service Message Safety/Consistency Ordering and Reliability Liveness

  15. Safe Messages “All or nothing” message delivery ‘safe_prefix’ indicates a stabilized message Totally ordered delivery implies all previous messages in view were received

  16. Outline What is a Group Communication System Membership Service Multicast Service Message Safety/Consistency Ordering and Reliability Liveness

  17. Ordering Properties FIFO Causal Totally Ordered Multicast

  18. FIFO If message m is sent from process p before message m’, process q will receive m before m’ Only guarantees ordering from one source

  19. Causal Ordering Similar to FIFO Works across multiple processes

  20. Totally Ordered Multicast • Strong and Weak Total Ordering • Uses ‘timestamp’ function to guarantee ordering • Strong • Guarantees global ordering between views • Used in replication to help regain consistency • Weak • Guarantees ordering of all messages within a view

  21. Outline What is a Group Communication System Membership Service Multicast Service Message Safety/Consistency Ordering and Reliability Liveness

  22. Liveness • Attempts to make sure view matches real network status • Requires additional external communication methods in the GCS • net_send(p,m) • net_recv(p,m) • net_reachable_set(p,S) • channel_up(p,q) • channel_down(p,q)

  23. GCS With Failure Detector

  24. Liveness • Assume ‘Live network’ • If the channel is up between p and q, messages will arrive eventually • Require an ‘eventually correct’ failure detector • Simple algorithm uses increasing timeouts

  25. Papers • Group Communication Specifications: A Comprehensive Study • Chockler, Keidar, and Vitenberg • http://www.cs.ucf.edu/~dcm/Teaching/COT4810-Spring2011/Literature/GroupCommunication.pdf