Title: Group Communication
1Group 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
2Major 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
3Atomic 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?
4Basic 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
5Reliable atomic multicast
- Senders program Receivers program
- i0 if m is new ?
- do i ? n ? accept it
- send message to i multicast m
- i i1 ? m is duplicate ? discard m
- od fi
Tolerates process crashes.
6Multicast 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
7 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.
8Distribution 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.
9Ordered multicasts
- Total order
- Causal order
- Local order
- (a.k.a. Single source FIFO)
- Definitions?
- Applications?
- 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
10Implementing total order multicast
- Basic multicast using a sequencer
- The sequencer S
- define seq integer (initially 0
- do receive m ?
- multicast (m, seq)
- seq seq1
- deliver m
- od
sequencer
11Implementing basic total order multicast
Distributed implementation without a sequencer
Uses the idea of 2PC
3
18
22
p
q
4
6
19
r
14
7
10
12Implementing 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?
13Implementing 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
Note the slight difference in the implementation
of the vector clocks
14Reliable 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.
15A theorem on reliable multicast
-
- In an asynchronous distributed system, total
order reliable multicasts cannot be implemented
when even a single process undergoes a crash
failure. - Why? Since it will violate the FLP impossibility
result.
16Scalable 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.
17Scalable Reliable Multicast
- Difficult to scale
- Sender state explosion
- Message implosion
Statereceiver 1, receiver 2, receiver n
18Scalable 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.