l-21 multicast. l -15; 10-31-02© srinivasan seshan, 20022 overview what/why multicast ip multicast...
TRANSCRIPT
15-446 Distributed Systems
Spring 2009
L-21 Multicast
© Srinivasan Seshan, 2002 2L -15; 10-31-02
Overview
What/Why MulticastIP Multicast Service BasicsMulticast Routing BasicsDVMRPOverlay MulticastReliability
© Srinivasan Seshan, 2002 3L -15; 10-31-02
R1
Implosion
S
R3 R4
R2
21
R1
S
R3 R4
R2
Packet 1 is lost All 4 receivers request a resend
Resend request
© Srinivasan Seshan, 2002 4L -15; 10-31-02
Retransmission
Re-transmitter Options: sender, other receivers
How to retransmit Unicast, multicast, scoped multicast, retransmission
group, …Problem: Exposure
© Srinivasan Seshan, 2002 5L -15; 10-31-02
R1
Exposure
S
R3 R4
R2
21
R1
S
R3 R4
R2
Packet 1 does not reach R1;Receiver 1 requests a resend
Packet 1 resent to all 4 receivers
1
1
Resend request Resent packet
© Srinivasan Seshan, 2002 6L -15; 10-31-02
Ideal Recovery Model
S
R3 R4
R2
2
1
S
R3 R4
R2
Packet 1 reaches R1 but is lost before reaching other Receivers
Only one receiver sends NACK to the nearest S or R with packet
Resend request
1 1Resent packet
Repair sent only to those that need packet
R1 R1
© Srinivasan Seshan, 2002 7L -16; 11-5-02
Overview
Scalable Reliable Multicast
Congestion Control
© Srinivasan Seshan, 2002 8L -16; 11-5-02
SRM
Originally designed for wbReceiver-reliable
NACK-basedEvery member may multicast NACK or
retransmission
© Srinivasan Seshan, 2002 9L -16; 11-5-02
R1
SRM Request Suppression
S
R3
R2
21
R1
S
R3
R2
Packet 1 is lost; R1 requests resend to Source and Receivers
Packet 1 is resent; R2 and R3 no longer have to request a resend
1
X
XDelay varies by distance
X
Resend request Resent packet
© Srinivasan Seshan, 2002 10L -16; 11-5-02
Deterministic Suppression
d
d
d
d
3d
Time
data
nack repair
d
4d
d
2d
3d
= Sender
= Repairer
= Requestor
Delay = C1dS,R
© Srinivasan Seshan, 2002 11L -16; 11-5-02
SRM Star Topology
S
R2
21
R3
Packet 1 is lost; All Receivers request resends
Packet 1 is resent to all Receivers
X
R4
Delay is same length
S
R2
1
R3 R4
Resend request Resent packet
© Srinivasan Seshan, 2002 12L -16; 11-5-02
SRM: Stochastic Suppression
datad
d
d
d
Time
NACK
repair
2d
session msg
0
1
2
3
Delay = U[0,D2] dS,R
= Sender
= Repairer
= Requestor
© Srinivasan Seshan, 2002 13L -16; 11-5-02
SRM (Summary)
NACK/Retransmission suppression Delay before sending Delay based on RTT estimation Deterministic + Stochastic components
Periodic session messages Full reliability Estimation of distance matrix among members
© Srinivasan Seshan, 2002 14L -16; 11-5-02
What’s Missing?Losses at link (A,C)
causes retransmission to the whole group
Only retransmit to those members who lost the packet
[Only request from the nearest responder]
Sender Receiver
A B
E F
S
C D
0.99
0 0
0 0 0
© Srinivasan Seshan, 2002 15L -16; 11-5-02
Local Recovery
Different techniques in various systemsApplication-level hierarchy
Fixed v.s. dynamicTTL scoped multicastRouter supported
© Srinivasan Seshan, 2002 16L -16; 11-5-02
Overview
Scalable Reliable Multicast
Congestion Control
© Srinivasan Seshan, 2002 17L -16; 11-5-02
Multicast Congestion Control
What if receivers have very different bandwidths?
Send at max?Send at min?Send at avg?
R
R
R
S
???Mb/s
100Mb/s
100Mb/s
1Mb/s
1Mb/s
56Kb/s
R
© Srinivasan Seshan, 2002 18L -16; 11-5-02
Video Adaptation: RLM
Receiver-driven Layered MulticastLayered video encodingEach layer uses its own mcast groupOn spare capacity, receivers add a layerOn congestion, receivers drop a layerJoin experiments used for shared learning
© Srinivasan Seshan, 2002 19L -16; 11-5-02
Layered Media Streams
S R
R1R2
R3
R10Mbps
10Mbps
512Kbps
128Kbps
10Mbps
R3 joins layer 1, fails at layer 2
R2 join layer 1,join layer 2 fails at layer 3
R1 joins layer 1,joins layer 2 joins layer 3
© Srinivasan Seshan, 2002 20L -16; 11-5-02
Drop Policies for Layered Multicast
Priority Packets for low bandwidth layers are kept, drop
queued packets for higher layers Requires router support
Uniform (e.g., drop tail, RED) Packets arriving at congested router are dropped
regardless of their layerWhich is better?
Intuition vs. reality!
© Srinivasan Seshan, 2002 21L -16; 11-5-02
RLM Intuition
© Srinivasan Seshan, 2002 22L -16; 11-5-02
RLM Intuition
Uniform Better incentives to well-behaved users If oversend, performance rapidly degrades Clearer congestion signal Allows shared learning
Priority Can waste upstream resources Hard to deploy
RLM approaches optimal operating point Uniform is already deployed Assume no special router support
© Srinivasan Seshan, 2002 23L -16; 11-5-02
RLM Join Experiment
Receivers periodically try subscribing to higher layer
If enough capacity, no congestion, no drops Keep layer (& try next layer)
If not enough capacity, congestion, drops Drop layer (& increase time to next retry)
What about impact on other receivers?
© Srinivasan Seshan, 2002 24L -16; 11-5-02
Join Experiments
1
2
3
4
Time
Layer
© Srinivasan Seshan, 2002 25L -16; 11-5-02
RLM Scalability?
What happens with more receivers?Increased frequency of experiments?
More likely to conflict (false signals) Network spends more time congested
Reduce # of experiments per host? Takes longer to converge
Receivers coordinate to improve behavior