L-21 Multicast. L -15; 10-31-02© Srinivasan Seshan, 20022 Overview What/Why Multicast IP Multicast...

Post on 17-Dec-2015

214 views 0 download

Tags:

Transcript of L-21 Multicast. L -15; 10-31-02© Srinivasan Seshan, 20022 Overview What/Why Multicast IP Multicast...

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