Group Communication A group is a collection of users sharing some common interest.Group-based activities are steadily increasing. There are many types.

Slides:



Advertisements
Similar presentations
Fault Tolerance CSCI 4780/6780. Reliable Group Communication Reliable multicasting is important for several applications Transport layer protocols rarely.
Advertisements

COS 461 Fall 1997 Group Communication u communicate to a group of processes rather than point-to-point u uses –replicated service –efficient dissemination.
CS425/CSE424/ECE428 – Distributed Systems – Fall 2011 Material derived from slides by I. Gupta, M. Harandi, J. Hou, S. Mitra, K. Nahrstedt, N. Vaidya.
Reliable Communication in the Presence of Failures Kenneth Birman, Thomas Joseph Cornell University, 1987 Julia Campbell 19 November 2003.
1 CS 194: Distributed Systems Process resilience, Reliable Group Communication Scott Shenker and Ion Stoica Computer Science Division Department of Electrical.
DISTRIBUTED SYSTEMS II FAULT-TOLERANT BROADCAST Prof Philippas Tsigas Distributed Computing and Systems Research Group.
Winter, 2004CSS490 MPI1 CSS490 Group Communication and MPI Textbook Ch3 Instructor: Munehiro Fukuda These slides were compiled from the course textbook,
CS542 Topics in Distributed Systems Diganta Goswami.
Failure Detection The ping-ack failure detector in a synchronous system satisfies – A: completeness – B: accuracy – C: neither – D: both.
Sliding window protocol The sender continues the send action without receiving the acknowledgements of at most w messages (w > 0), w is called the window.
Reliable Group Communication Quanzeng You & Haoliang Wang.
Page 1 Introduction Paul Krzyzanowski Distributed Systems Except as otherwise noted, the content of this presentation is licensed.
UNIT-IV Computer Network Network Layer. Network Layer Prepared by - ROHIT KOSHTA In the seven-layer OSI model of computer networking, the network layer.
CS 582 / CMPE 481 Distributed Systems Fault Tolerance.
Group Communications Group communication: one source process sending a message to a group of processes: Destination is a group rather than a single process.
Group Communication Phuong Hoai Ha & Yi Zhang Introduction to Lab. assignments March 24 th, 2004.
Chapter 4 IP Multicast Professor Rick Han University of Colorado at Boulder
Copyright © George Coulouris, Jean Dollimore, Tim Kindberg This material is made available for private study and for direct.
1 Principles of Reliable Distributed Systems Lecture 5: Failure Models, Fault-Tolerant Broadcasts and State-Machine Replication Spring 2005 Dr. Idit Keidar.
Network Multicast Prakash Linga. Last Class COReL: Algorithm for totally-ordered multicast in an asynchronous environment, in face of network partitions.
Distributed Systems Fall 2009 Replication Fall 20095DV0203 Outline Group communication Fault-tolerant services –Passive and active replication Highly.
Wolfgang EffelsbergUniversity of Mannheim1 Multicast IP Wolfgang Effelsberg University of Mannheim September 2001.
Department of Electronic Engineering City University of Hong Kong EE3900 Computer Networks Transport Protocols Slide 1 Transport Protocols.
TCP: Software for Reliable Communication. Spring 2002Computer Networks Applications Internet: a Collection of Disparate Networks Different goals: Speed,
Multicast and Anycast Mike Freedman COS 461: Computer Networks
Group Communication A group is a collection of users sharing some common interest.Group-based activities are steadily increasing. There are many types.
Multicast Routing Protocols NETE0514 Presented by Dr.Apichan Kanjanavapastit.
Dec 4, 2007 Reliable Multicast Group Neelofer T. CMSC 621.
Multicasting. References r Note: Some slides come from the slides associated with this book: “Mastering Computer Networks: An Internet Lab Manual”, J.
Group Communication A group is a collection of users sharing some common interest.Group-based activities are steadily increasing. There are many types.
CSE 486/586, Spring 2013 CSE 486/586 Distributed Systems Replication with View Synchronous Group Communication Steve Ko Computer Sciences and Engineering.
7/26/ Design and Implementation of a Simple Totally-Ordered Reliable Multicast Protocol in Java.
Group Communication Group oriented activities are steadily increasing. There are many types of groups:  Open and Closed groups  Peer-to-peer and hierarchical.
Dealing with open groups The view of a process is its current knowledge of the membership. It is important that all processes have identical views. Inconsistent.
Dealing with open groups The view of a process is its current knowledge of the membership. It is important that all processes have identical views. Inconsistent.
Replication (1). Topics r Why Replication? r System Model r Consistency Models – How do we reason about the consistency of the “global state”? m Data-centric.
Group Communication A group is a collection of users sharing some common interest.Group-based activities are steadily increasing. There are many types.
Hwajung Lee. A group is a collection of users sharing some common interest.Group-based activities are steadily increasing. There are many types of groups:
EEC 688/788 Secure and Dependable Computing Lecture 10 Wenbing Zhao Department of Electrical and Computer Engineering Cleveland State University
Sliding window protocol The sender continues the send action without receiving the acknowledgements of at most w messages (w > 0), w is called the window.
Fault Tolerance. Basic Concepts Availability The system is ready to work immediately Reliability The system can run continuously Safety When the system.
The Totem Single-Ring Ordering and Membership Protocol Y. Amir, L. E. Moser, P. M Melliar-Smith, D. A. Agarwal, P. Ciarfella.
Reliable Communication Smita Hiremath CSC Reliable Client-Server Communication Point-to-Point communication Established by TCP Masks omission failure,
V1.7Fault Tolerance1. V1.7Fault Tolerance2 A characteristic of Distributed Systems is that they are tolerant of partial failures within the distributed.
Building Dependable Distributed Systems, Copyright Wenbing Zhao
Replication and Group Communication. Management of Replicated Data FE Requests and replies C Replica C Service Clients Front ends managers RM FE RM Instructor’s.
4: Network Layer4-1 Chapter 4: Network Layer Last time: r Internet routing protocols m RIP m OSPF m IGRP m BGP r Router architectures r IPv6 Today: r IPv6.
Revisiting failure detectors Some of you asked questions about implementing consensus using S - how does it differ from reaching consensus using P. Here.
Lecture 10: Coordination and Agreement (Chap 12) Haibin Zhu, PhD. Assistant Professor Department of Computer Science Nipissing University © 2002.
Multicast Communications
Failure detection The design of fault-tolerant systems will be easier if failures can be detected. Depends on the 1. System model, and 2. The type of failures.
Fault Tolerance (2). Topics r Reliable Group Communication.
Classifying fault-tolerance Masking tolerance. Application runs as it is. The failure does not have a visible impact. All properties (both liveness & safety)
Distributed Systems Lecture 7 Multicast 1. Previous lecture Global states – Cuts – Collecting state – Algorithms 2.
1 Group Communications: Host Group and IGMP Dr. Rocky K. C. Chang 19 March, 2002.
EEC 688/788 Secure and Dependable Computing Lecture 10 Wenbing Zhao Department of Electrical and Computer Engineering Cleveland State University
Reliable multicast Tolerates process crashes. The additional requirements are: Only correct processes will receive multicasts from all correct processes.
Advanced Operating System
DC7: More Coordination Chapter 11 and 14.2
Reliable group communication
Advanced Operating System
Group Communication A group is a collection of users sharing some common interest.Group-based activities are steadily increasing. There are many types.
EEC 688/788 Secure and Dependable Computing
Indirect Communication Paradigms (or Messaging Methods)
Indirect Communication Paradigms (or Messaging Methods)
Seminar Mobilkommunikation Reliable Multicast in Wireless Networks
EEC 688/788 Secure and Dependable Computing
EEC 688/788 Secure and Dependable Computing
EE 122: Lecture 13 (IP Multicast Routing)
Implementing Multicast
Presentation transcript:

Group Communication A group is a collection of users sharing some common interest.Group-based activities are steadily increasing. There are many types of groups:  Open group (anyone can join, customers of Walmart )  Closed groups (membership is closed, class of 2000 )  Peer-to-peer group (all have equal status, graduate students of CS department, members in a videoconferencing / netmeeting )  Hierarchical groups (one or more members are distinguished from the rest. President and the employees of a company, distance learning ).

Major issues Various forms of multicast to communicate with the members. Two different examples are  Atomic multicast  Ordered multicast Dynamic groups  How to correctly communicate when the membership constantly changes?  Keeping track of membership changes

Atomic multicast A multicast is atomic, when the message is delivered to every correct member, or to no member at all. In general, processes may crash, yet the atomicity of multicast is to be guaranteed. How can we implement atomic multicast?

Basic vs. reliable multicast Basic multicast does not consider failures. Reliable multicast handles failures. Three criteria for basic multicast : Liveness. Each process must receive every message Integrity. No spurious message received No duplicate. Accepts exactly one copy of a message

Reliable atomic multicast Sender’s programReceiver’s program i:=0; if m is new  do i ≠ n  accept it; send message to member[i];multicast m ; i:= i+1  m is duplicate  discard m od fi Tolerates process crashes. Why does it work?

Multicast support in networks Sometimes, certain features available in the infrastructure of a network simplify the implementation of multicast. Examples are Multicast on an ethernet LAN IP multicast for wide area networks

IP Multicast IP multicast is a bandwidth-conserving technology where the router reduces traffic by replicating a single stream of information and forwarding them to multiple clients. It is a form of pruned broadcast. Sender sends a single copy to a special multicast IP address (Class D) that represents a group, where other members register.

Distribution trees Source is the root of a spanning tree Routers maintain & update distribution trees whenever members join / leave a group All multicasts are Routed via a Rendezvous point Too much load on routers. Application layer multicast overcomes this.

Ordered multicasts Total order multicast. Every member must receive all updates in the same order. Example: consistent update of replicated data on servers Causal order multicast. If a, b are two updates and a happened before b, then every member must accept a before accepting b. Example: implementation of a bulletin board. Local order (a.k.a. S ingle source FIFO ). Example: video distribution, distance learning using “push technology.”

Implementing total order multicast First method. Basic multicast using a sequencer { The sequencer S} define seq: integer (initially 0} do receive m  multicast (m, seq); seq := seq+1; deliver m od sequencer

Implementing total order multicast Second method. Basic multicast without a sequencer. Uses the idea of 2PC (two-phase commit) p q r

Implementing total order multicast Step 1. Sender i sends (m, ts) to all Step 2. Receiver j saves it in a holdback queue, and sends an ack (a, ts) Step 3. Receive all acks, and pick the largest ts. Then send (m, ts, commit) to all. Step 4. Receiver removes it from the holdback queue and delivers m in the ascending order of timestamps. Why does it work?

Implementing causal order multicast Basic multicast only. Use vector clocks. Recipient i will deliver a message from j iff 1. VC j (j) = LC j (i) + 1 {LC = local vector clock} 2.  k: k≠j :: VC k (j) ≤ LC k (i) VC = incoming vector clock LC = Local vector clock Note the slight difference in the implementation of the vector clocks

Reliable multicast Tolerates process crashes. The additional requirements are: Only correct processes are required to receive the messages from all correct processes in the group. Multicasts by faulty processes will either be received by every correct process, or by none at all.

A theorem on reliable multicast Theorem. In an asynchronous distributed system, total order reliable multicasts cannot be implemented when even a single process undergoes a crash failure. (Hint) The implementation will violate the FLP impossibility result. Complete the arguments!

Scalable Reliable Multicast IP multicast or application layer multicast provides unreliable datagram service. Reliability requires the detection of the message omission followed by retransmission. This can be done using ack. However, for large groups (as in distance learning applications or software distribution) scalability is a major problem.

Scalable Reliable Multicast If omission failures are rare, then receivers will only report the non-receipt of messages using NACK. The reduction of acknowledgements is the underlying principle of Scalable Reliable Multicasts (SRM).

Scalable Reliable Multicast If several members of a group fail to receive a message, then each such member waits for a random period of time before sending its NACK. This helps to suppress redundant NACKs. Sender multicasts the missing copy only once. Use of cached copies in the network and selective point-to-point retransmission further reduces the traffic.

Scalable Reliable Multicast Source sending m[0], m[1], m[2] … Missed m[7] and sent NACK Missed m[7] and sent NACK Missed m[7] and sent NACK m[7] cached here m[7] cached here m[7]