group communication
Skip this Video
Download Presentation
Group Communication

Loading in 2 Seconds...

play fullscreen
1 / 18

Group Communication - PowerPoint PPT Presentation

  • Uploaded on

Group Communication. Group oriented activities are steadily increasing. There are many types of groups:  Open and Closed groups  Peer-to-peer and hierarchical groups. We focus on how the members of a group communicate. Major issues. Different types of multicast Atomic multicast

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
Download Presentation

PowerPoint Slideshow about ' Group Communication' - amos-mcleod

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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
group communication
Group Communication

Group oriented activities are steadily increasing.

There are many types of groups:

 Open and Closed groups

 Peer-to-peer and hierarchical groups

We focus on how the members of a group communicate

major issues
Major issues
  • Different types of multicast
    • Atomic multicast
    • Ordered multicast
  • Dynamic groups
    • How to communicate when the membership constantly changes
  • Failure handling
    • Keeping track of membership and membership changes
atomic multicast
Atomic multicast

A multicast is called atomic, when the message is delivered to every correct member, or to no member at all.

How can we implement atomic multicast?

basic vs reliable multicast
Basic vs. reliable multicast

Basic multicast does not consider crash failures.

Reliable multicast does.

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
Reliable atomic multicast

Sender’s programReceiver’s program

i:=0; ifm is new 

do i ≠ n  accept it;

send message to i; multicast m;

i:= i+1 m is duplicate  discard m


Tolerates process crashes.

multicast support in networks
Multicast support in networks

Sometimes, certain features available in the infrastructure of a distributed system simplify the implementation of multicast. Examples are

  • Multicast on an ethernet LAN
  • IP multicast
ip multicast
IP Multicast

Although multicasts can be implemented using point-to-point communications, there are some practical forms of multicasts that make use of the inherent multicasting ability of the underlying medium. IP multicast is a bandwidth-conserving technology that reduces traffic by simultaneously delivering a single stream of information to multiple clients.

Applications that take advantage of multicast include distance learning, videoconferencing, and distribution of software, stock quotes, and news. The source sends only one copy, which is replicated by the routers.

distribution trees
Class D addresses are assigned to multicast groups.

Routers maintain and update distribution trees when members join / leave a group.

Concern: Too much load on routers. Application layer multicast overcomes this.

Distribution trees
ordered multicasts
Total order

Causal order

Local order

(a.k.a. Single source FIFO)



Total order multicast is useful in the consistent update of replicated servers

Causal order multicast is relevant in implementing bulletin boards

Local order multicast is useful in updating cache memories in multi-computers

Ordered multicasts
implementing total order multicast
Basic multicast using a sequencer

{The sequencer S}

define seq: integer (initially 0}

do receive m 

multicast (m, seq);

seq := seq+1;

deliver m


Implementing total order multicast


implementing basic total order multicast
Implementing basic total order multicast

Distributed implementation without a sequencer

Uses the idea of 2PC













implementing basic total order multicast1
Implementing basic 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 basic causal order multicast
Use vector clocks.The

recipient i delivers a

message from j iff

1. VCj(j) = LCj(i) +1

{LC = local vector clock}

2. k: k≠j :: VCk(j)≤ LCk(i)

VC = incoming vector clock

LC = Local vector clock

Implementing basic causal order multicast

Note the slight difference in the

implementation of the vector clocks

reliable multicast
Reliable multicast

Tolerates process crashes. The additional requirements are as follows:

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
A theorem on reliable multicast

In an asynchronous distributed system, total order reliable multicastscannot be implemented when even a single process undergoes a crash failure.

Why? Since it will violate the FLP impossibility result.

scalable reliable multicast
Scalable Reliable Multicast

IP multicast or application layer multicast has to detect the loss of messages and use retransmission for achieving reliability. For large groups (like distance learning applications) scalability is a major problem.

scalable reliable multicast1
Difficult to scale:

Sender state explosion

Message implosion

Scalable Reliable Multicast

State:receiver 1,

receiver 2,

receiver n

scalable reliable multicast2
Scalable Reliable Multicast
  • If omission failures are rare, then receivers will only report the non-receipt of messages using NACK, This has the potential to trigger selective point-to-point retransmission The reduction of acknowledgements is the underlying principle of Scalable Reliable Multicasts (SRM).
  • 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.