NUS.SOC.CS5248 Ooi Wei Tsang Previously, on CS5248

Preview:

Citation preview

NUS.SOC.CS5248Ooi Wei Tsang

Previously, on CS5248..

NUS.SOC.CS5248Ooi Wei Tsang

IP Multicast

NUS.SOC.CS5248Ooi Wei Tsang

New Model: IP Multicast

sender

receivers

NUS.SOC.CS5248Ooi Wei Tsang

Question 1

Router

G?

should I forward this packet to my

subnet?

NUS.SOC.CS5248Ooi Wei Tsang

IGMP v2.0

JOIN messageA : “I want to join group G.”

QUERY messageR : “Which group have you joined ?”

NUS.SOC.CS5248Ooi Wei Tsang

IGMP v2.0

LEAVE message“I want to leave group G”

Group-Specific Query“Anybody else belongs to group G ?”

NUS.SOC.CS5248Ooi Wei Tsang

Rate Adaptations

NUS.SOC.CS5248Ooi Wei Tsang

Layered Video

Layer 1 Layer 2 Layer 3

NUS.SOC.CS5248Ooi Wei Tsang

TCP-Equation

Window size behavior in TCP/IP with constant loss probability T. Ott, J. Kemperman, and M. MathisJune 1997, HPCS 1997

NUS.SOC.CS5248Ooi Wei Tsang

Heterogeneity

NUS.SOC.CS5248Ooi Wei Tsang

Internet Heterogeneity

2 Mbps

40kbps

56kbps

NUS.SOC.CS5248Ooi Wei Tsang

Two Simple Solutions

one stream to fit them all

send multiple streams

NUS.SOC.CS5248Ooi Wei Tsang

Network

Encoder

Sender

Middlebox

Receiver

Decoder

NUS.SOC.CS5248Ooi Wei Tsang

Receiver-Driven Layered Multicast

Steve McCanne, Van Jacobson, Martin VetterliSIGCOMM 1996

NUS.SOC.CS5248Ooi Wei Tsang

Layered Multicast

1 Layer : 1 Multicast Group

Receiver subscribes to as many layers as desired

NUS.SOC.CS5248Ooi Wei Tsang

RLM Example

S R1

R2

R3R4

NUS.SOC.CS5248Ooi Wei Tsang

Questions

How many layers are enough?

NUS.SOC.CS5248Ooi Wei Tsang

Solution: Join Experimenthighest layer = 1join layer 1while no packet loss

highest layer ++join next layer

leave highest layerhighest layer --

NUS.SOC.CS5248Ooi Wei Tsang

Details

Tjoin

Time between join experiments

Tdetect

Time taken to detect packet loss

NUS.SOC.CS5248Ooi Wei Tsang

Effects of Tjoin

Need to converge to the right level quickly Tjoin should be small

Repeated failed experiments congest networks Tjoin should be large

NUS.SOC.CS5248Ooi Wei Tsang

Adapting Tjoin(i)

One Tjoin per layer

if join experiment for layer k fails

Tjoin(k) = Tjoin(k)*2

NUS.SOC.CS5248Ooi Wei Tsang

Example

1

2

3

4

NUS.SOC.CS5248Ooi Wei Tsang

Adapting Tdetect

Set Tdetect to large initial value

Estimate Tdetect with mean and deviationMeasure time between join and packet loss occur

NUS.SOC.CS5248Ooi Wei Tsang

Two Problems

Interference Scalability

NUS.SOC.CS5248Ooi Wei Tsang

Problem 1: Interference

NUS.SOC.CS5248Ooi Wei Tsang

Problem 1: Interference

I see, layer 2 is bad for me..

I see, layer 2 is bad for me..

NUS.SOC.CS5248Ooi Wei Tsang

Problem 2: Scalability

Lots of receivers Lots of experimentsLots of congestions

NUS.SOC.CS5248Ooi Wei Tsang

Solution: Shared Learning

I am joining

layer 2, do not

disturb!

I am joining

layer 2, do not

disturb!

NUS.SOC.CS5248Ooi Wei Tsang

Solution: Shared Learning

NUS.SOC.CS5248Ooi Wei Tsang

Solution: Shared Learning

I am joining

layer 3, do not

disturb!

I am joining

layer 3, do not

disturb!

NUS.SOC.CS5248Ooi Wei Tsang

Solution: Shared Learning

I see, layer 3 is bad for me..

I see, layer 3 is bad for me..

NUS.SOC.CS5248Ooi Wei Tsang

Solution: Shared Learning

I see, layer 3 is bad for me..

I see, layer 3 is bad for me..

NUS.SOC.CS5248Ooi Wei Tsang

Problem

Reducing interference decrease convergence time

Solution:

NUS.SOC.CS5248Ooi Wei Tsang

Evaluation

Session Size

Convergence Time (s)

20

100

2 100

40

60

NUS.SOC.CS5248Ooi Wei Tsang

EvaluationLoss Rate (%)

Session Size

1

100

NUS.SOC.CS5248Ooi Wei Tsang

Problems with RLM

Not TCP Friendly

Share learning is “clumsy”

Failed join experiments is bad for the network

NUS.SOC.CS5248Ooi Wei Tsang

Thin Streams: An Architecture for Multicasting Layered Video

L. Wu, R. Sharma., B. SmithNOSSDAV 97

NUS.SOC.CS5248Ooi Wei Tsang

How bad is failed experiment?

R : sending rate of a layerTj : IGMP join latency

Tl : IGMP leave latency

Tdetect: time before drop

Buffer space at the router =

NUS.SOC.CS5248Ooi Wei Tsang

How big is IGMP Leave Latency?

NUS.SOC.CS5248Ooi Wei Tsang

What To Do?

Buffer space at the router = R(Tj + Tl + Tdetect)

Proposal of ThinStreamReduce RReduce Tdetect

NUS.SOC.CS5248Ooi Wei Tsang

Reducing Tdetect

Detect congestion before it happens

NUS.SOC.CS5248Ooi Wei Tsang

Calculating A & E

R : bandwidth of one layer I : measurement interval N : number of bytes received in I

G : number of layers joined

A =

E =

NUS.SOC.CS5248Ooi Wei Tsang

ThinStreams Algorithm

if (E - A > leave_threshold)leave

else if (at least Tjoin since last join)

and (E - A < join_threshold)

join

NUS.SOC.CS5248Ooi Wei Tsang

Fairness

Improve fairnessleave_threshold as a function of G

NUS.SOC.CS5248Ooi Wei Tsang

Problems with ThinStreamSmall R

Still not TCP friendly

NUS.SOC.CS5248Ooi Wei Tsang

TCP-Like Congestion Control for Layered Multicast Data Transfer

L. Vicisano, J. Crowcroft, L. RizzoINFOCOM 98

NUS.SOC.CS5248Ooi Wei Tsang

The RLC Protocol

1. Try to emulate TCP2. Synchronize join3. “Probe” before join

NUS.SOC.CS5248Ooi Wei Tsang

Recall TCP’s Behavior

AIMD

NUS.SOC.CS5248Ooi Wei Tsang

Recall Layered Multicast

1

2

3

4

NUS.SOC.CS5248Ooi Wei Tsang

1. Emulating TCP

Idea: By finding appropriate Bi and Tjoin(i)

NUS.SOC.CS5248Ooi Wei Tsang

Idea

12

3

4

NUS.SOC.CS5248Ooi Wei Tsang

2. Synchronizing Join

Idea: send special packets in data stream to signal join

Distance between synchronization point for layer i is Tjoin(i)

NUS.SOC.CS5248Ooi Wei Tsang

Sync Point

1

2

3

4

NUS.SOC.CS5248Ooi Wei Tsang

3. Probe before Join

Emulate joining the next layer

If this causes packet drop, don’t join

NUS.SOC.CS5248Ooi Wei Tsang

Sender-Based Probing

baselayer

layeri

NUS.SOC.CS5248Ooi Wei Tsang

Sender-Based Probing

baselayer

layeri

NUS.SOC.CS5248Ooi Wei Tsang

Problems with RLC

Burst too short

No fine grain increment

NUS.SOC.CS5248Ooi Wei Tsang

Summary

Receiver Driven Layered Multicast

Lots of ProblemsNo Perfect Solutions

Recommended