250 likes | 399 Views
Group Communication Specifications. Philip Jameson. Outline. What is a Group Communication System Membership Service Multicast Service Message Safety/Consistency Ordering and Reliability Liveness. Group Communication System (GCS). Group Players in an online game
E N D
Group Communication Specifications Philip Jameson
Outline What is a Group Communication System Membership Service Multicast Service Message Safety/Consistency Ordering and Reliability Liveness
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
Interaction with the CGS send(p, m) recv(p,m) safe_prefix(p,m) view_change(p,(id, members),T) crash(p) recover(p)
Outline What is a Group Communication System Membership Service Multicast Service Message Safety/Consistency Ordering and Reliability Liveness
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
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
Outline What is a Group Communication System Membership Service Multicast Service Message Safety/Consistency Ordering and Reliability Liveness
Multicast Service • Basic Properties • Every recv requires a send • No duplication of messages for a given process
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
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
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
Outline What is a Group Communication System Membership Service Multicast Service Message Safety/Consistency Ordering and Reliability Liveness
Safe Messages “All or nothing” message delivery ‘safe_prefix’ indicates a stabilized message Totally ordered delivery implies all previous messages in view were received
Outline What is a Group Communication System Membership Service Multicast Service Message Safety/Consistency Ordering and Reliability Liveness
Ordering Properties FIFO Causal Totally Ordered Multicast
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
Causal Ordering Similar to FIFO Works across multiple processes
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
Outline What is a Group Communication System Membership Service Multicast Service Message Safety/Consistency Ordering and Reliability Liveness
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)
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
Papers • Group Communication Specifications: A Comprehensive Study • Chockler, Keidar, and Vitenberg • http://www.cs.ucf.edu/~dcm/Teaching/COT4810-Spring2011/Literature/GroupCommunication.pdf