A Receiver-driven Adaptive Mechanism Based on the Popularity of ...

0 downloads 0 Views 805KB Size Report
Evaluation: Convergence time. Stability. Fairness with TCP. A Receiver-driven Adaptive Mechanism Based on the Popularity of Scalable Sessions – p. 2/13 ...
Henning Schulzrinne

Edmundo Monteiro



Paulo Mendes





A Receiver-driven Adaptive Mechanism Based on the Popularity of Scalable Sessions

University of Coimbra

Columbia University

Coimbra, Portugal

New York,USA

International Workshop on Quality of Future Internet Services 2002 Zürich, Switzerland A Receiver-driven Adaptive Mechanism Based on the Popularity of Scalable Sessions – p. 1/13

Overview Motivation: How to control congestion in heterogeneous environments How to encourage receivers to adapt Problem: Unfair distribution of network resources Lack of punishment of mis-behaved users Solution: A receiver-driven adaptive mechanism based on fair allocation of resources in a multicast environemt Evaluation: Convergence time Stability Fairness with TCP

A Receiver-driven Adaptive Mechanism Based on the Popularity of Scalable Sessions – p. 2/13

Motivation, Problem and Solution Multi−Rate Encoding

Stream 500 Kb/s Stream 300 Kb/s Stream 50 Kb/s

A Receiver-driven Adaptive Mechanism Based on the Popularity of Scalable Sessions – p. 3/13

Motivation, Problem and Solution Multi−Rate Encoding

Stream 500 Kb/s Stream 300 Kb/s Stream 50 Kb/s

Scalabe Encoding

Stream 500 Kb/s Layer 300 Kb/s Layer 150 Kb/s Layer 50 Kb/s

A Receiver-driven Adaptive Mechanism Based on the Popularity of Scalable Sessions – p. 3/13

Motivation, Problem and Solution Multi−Rate Encoding

Stream 500 Kb/s Stream 300 Kb/s Stream 50 Kb/s

Scalabe Encoding

Stream 500 Kb/s Layer 300 Kb/s Layer 150 Kb/s Layer 50 Kb/s

A Receiver-driven Adaptive Mechanism Based on the Popularity of Scalable Sessions – p. 3/13

Motivation, Problem and Solution Multi−Rate Encoding

Edge Router

Stream 500 Kb/s





 



 





 







Stream 50 Kb/s







Stream 300 Kb/s

Edge Router

 

Edge Router

 

 

Edge Router

                  

Edge Router

Scalabe Encoding

Stream 500 Kb/s Layer 300 Kb/s Layer 150 Kb/s Layer 50 Kb/s

A Receiver-driven Adaptive Mechanism Based on the Popularity of Scalable Sessions – p. 3/13

Motivation, Problem and Solution Multi−Rate Encoding

Edge Router

Stream 500 Kb/s





 



 





 







Stream 50 Kb/s







Stream 300 Kb/s

Edge Router Edge Router

"

Session-Aware Popularity-based Resource Allocation protocol (SAPRA) Inter-session fairness Intra-session fairness Punishment of high-rate sessions Maximization of bandwidth utilization

Layer 300 Kb/s Layer 150 Kb/s Layer 50 Kb/s

%

Stream 500 Kb/s

%

%

%

Scalabe Encoding

 

 

Edge Router

    ! ! $# $# #$ $# #$ #      "! !

Edge Router

A Receiver-driven Adaptive Mechanism Based on the Popularity of Scalable Sessions – p. 3/13

Motivation, Problem and Solution Multi−Rate Encoding

Edge Router

Stream 500 Kb/s





 



 





 







Stream 50 Kb/s







Stream 300 Kb/s

Edge Router

Session-Aware Popularity-based Resource Allocation protocol (SAPRA) Inter-session fairness Intra-session fairness Punishment of high-rate sessions Maximization of bandwidth utilization %

SAPRA Adaptive Mechanism (SAM) Simple Control reception quality %

Layer 300 Kb/s Layer 150 Kb/s Layer 50 Kb/s

%

Stream 500 Kb/s

%

%

%

Scalabe Encoding

) +

Edge Router

' '

( (

Edge Router

& & & ( (* * -, -, ,- -, ,- , '& '& & () ( +* *

Edge Router

A Receiver-driven Adaptive Mechanism Based on the Popularity of Scalable Sessions – p. 3/13

Related Work Receiver-driven Layered Multicast mechanism (RLM) by Steven McCanne et al.: High instability with burst traffic, poor fairness and low bandwidth utilization Receiver-driven Layered Congestion control (RLC) by Vicisiano et al., complements RLM with TCP friendliness, but: Has slow convergence and provokes losses on other flows Packet pair receiver-driven cumulative Layered Multicast (PLM) by Legout et al., uses Packet Pair (PP) probing and Packet-level Generalized Processor Sharing (PGPS) scheduling to infer the available bandwidth, but: PP measurements can have large oscillations and require back-to-back packets Requires extra bit in the packet header to identify the start of a PP burst Is not suitable for DS scenarios, since all routers have to implement PGPS. PGPS uses max-min fairness: not suitable scalable sessions with different audience size, and does not punish high-rate sessions. A Receiver-driven Adaptive Mechanism Based on the Popularity of Scalable Sessions – p. 4/13

SAPRA A M

Ingress M

A Egress 3 M

A

A

Egress 1

Egress 2 M

M

M

A Receiver-driven Adaptive Mechanism Based on the Popularity of Scalable Sessions – p. 5/13

SAPRA A M

Ingress

UPDATE

M

< N ; UFR >

A Egress 3 M

A

A

Egress 1

Egress 2 M

M

M

A Receiver-driven Adaptive Mechanism Based on the Popularity of Scalable Sessions – p. 5/13

SAPRA < N ; DFR > LFR < N ; C > A Ingress M

M

A Egress 3 M

A

A

Egress 1

Egress 2 M

M

M

A Receiver-driven Adaptive Mechanism Based on the Popularity of Scalable Sessions – p. 5/13

SAPRA < N ; DFR > LFR < N ; C > A Ingress UFR < LFR ; DFR > M

M

A Egress 3 M

A

A

Egress 1

Egress 2 M

M

M

A Receiver-driven Adaptive Mechanism Based on the Popularity of Scalable Sessions – p. 5/13

SAPRA < N ; DFR > LFR < N ; C > A Ingress UFR < LFR ; DFR > M

M

SR < UFR; r; ba > A Egress 3 M

A

A

Egress 1

Egress 2 M

M

M

A Receiver-driven Adaptive Mechanism Based on the Popularity of Scalable Sessions – p. 5/13

SAPRA < N ; DFR > LFR < N ; C > A Ingress UFR < LFR ; DFR > M

M

SR < UFR; r; ba > < SR > S YNC

A Egress 3 M

A

A

Egress 1

Egress 2 M

M

M

A Receiver-driven Adaptive Mechanism Based on the Popularity of Scalable Sessions – p. 5/13

SAPRA < N ; DFR > LFR < N ; C > A Ingress UFR < LFR ; DFR > M

M

SR < UFR; r; ba > < SR > S YNC

A Egress 3 M

A

A

Egress 1

Egress 2 M

M

M

A Receiver-driven Adaptive Mechanism Based on the Popularity of Scalable Sessions – p. 5/13

SAPRA Adaptive Mechanism (SAM) Receiver-driven adaptive mechanism based on SAPRA Receivers subscribe a session, joining the most significant layer

Rate

Layer 4 Loss 5%

Layer 3 2.5 %

Layer 2 Layer 1 Time Session

layers A Receiver-driven Adaptive Mechanism Based on the Popularity of Scalable Sessions – p. 6/13

SAPRA Adaptive Mechanism (SAM) Receiver-driven adaptive mechanism based on SAPRA Receivers subscribe a session, joining the most significant layer Use SAM to join and leave enhanced layers Join based on the SR supplied by SAPRA Rate

Layer 4 SR

Loss 5%

Layer 3 2.5 %

Layer 2 Layer 1 Time Session

layers A Receiver-driven Adaptive Mechanism Based on the Popularity of Scalable Sessions – p. 6/13

SAPRA Adaptive Mechanism (SAM) Receiver-driven adaptive mechanism based on SAPRA Receivers subscribe a session, joining the most significant layer Use SAM to join and leave enhanced layers Join based on the SR supplied by SAPRA Rate

Layer 4 SR /. /. /. /.

/.

/.

/.

5%

/. /.

/.

/.

/. /. /. /. /. /. /. /. /.

/.

/.

/. /. /. /. /. /. /. /. /. /.

/.

. . . .

Layer 3

.

.

.

.

.

.

.

Loss

2.5 %

Layer 2 Layer 1 Time Session

layers A Receiver-driven Adaptive Mechanism Based on the Popularity of Scalable Sessions – p. 6/13

SAPRA Adaptive Mechanism (SAM) Receiver-driven adaptive mechanism based on SAPRA Receivers subscribe a session, joining the most significant layer Use SAM to join and leave enhanced layers Join based on the SR supplied by SAPRA Leave based on the path congestion Rate

Layer 4 SR

Loss

0 10 10 10 10 10

10

0 10 10 10 10 10

10

0 10 10 10 10 10

10

0 0 0

0

Layer 3

0

0

0

5%

2.5 %

Layer 2 Layer 1 Time Session

layers A Receiver-driven Adaptive Mechanism Based on the Popularity of Scalable Sessions – p. 6/13

SAPRA Adaptive Mechanism (SAM) Receiver-driven adaptive mechanism based on SAPRA Receivers subscribe a session, joining the most significant layer Use SAM to join and leave enhanced layers Join based on the SR supplied by SAPRA Leave based on the path congestion Rate

Layer 4 SR

Loss 5%

Layer 3 2.5 %

Layer 2 Layer 1 Time Session

layers A Receiver-driven Adaptive Mechanism Based on the Popularity of Scalable Sessions – p. 6/13

Operation States

STEADY

JOIN

LEAVE

A Receiver-driven Adaptive Mechanism Based on the Popularity of Scalable Sessions – p. 7/13

Operation States

STEADY

No Reports loss < 2.5%

JOIN

LEAVE

A Receiver-driven Adaptive Mechanism Based on the Popularity of Scalable Sessions – p. 7/13

Operation States

STEADY

Report with new SR

JOIN

LEAVE

A Receiver-driven Adaptive Mechanism Based on the Popularity of Scalable Sessions – p. 7/13

Operation States

STEADY

If SR > previous one ADD layers

JOIN

LEAVE

A Receiver-driven Adaptive Mechanism Based on the Popularity of Scalable Sessions – p. 7/13

Operation States

STEADY

Rate as close as possible to the new SR

JOIN

LEAVE

A Receiver-driven Adaptive Mechanism Based on the Popularity of Scalable Sessions – p. 7/13

Operation States

STEADY

Losses > 2.5%

JOIN

LEAVE

A Receiver-driven Adaptive Mechanism Based on the Popularity of Scalable Sessions – p. 7/13

Operation States

STEADY

Leave a layer every 500 ms while loss > 2.5%

JOIN

LEAVE

A Receiver-driven Adaptive Mechanism Based on the Popularity of Scalable Sessions – p. 7/13

Operation States

STEADY

New Report and Losses < 2.5%

JOIN

LEAVE

A Receiver-driven Adaptive Mechanism Based on the Popularity of Scalable Sessions – p. 7/13

Operation States

STEADY

NO New Report and Losses < 2.5%

JOIN

LEAVE

A Receiver-driven Adaptive Mechanism Based on the Popularity of Scalable Sessions – p. 7/13

Evaluation Goals: 1. Allow receivers to maintain a good reception quality 2. Small convergence time 3. Stable in an optimal quality level 4. Fair with TCP Method, metrics and parameters: 1. Method: Simulation with Network Simulator 2. Metric: Rate measured by receivers 3. Parameters: Type of traffic and granularity of layers

A Receiver-driven Adaptive Mechanism Based on the Popularity of Scalable Sessions – p. 8/13

Quality Level Management

G H

F A E

G A C

F A

F H

7 7

All sessions have 6 layers starting with rate that start at 32 kb/s and double for each layer : ;:

;:

8 98

98

=< =< >

<
U

U

K

K

S4 R1

1

N N N

N

NM NM NM

NM

M M

M

1.5

r3

M

1 ms 3 Mb/s

SR 1 Mb/s

2 Rates (Mb/s)

J

JI JI JI JI

I I

I

I

S1

RQ RQ >

TS

PO PO >

TS

S

0.5

R2

R3

R4

ADD 4

ADD 4

ADD 4

0 0

20

40

60

80

100

120

140

160

180

200

220

240

Time (s) R2 R3

R4 R1

R4 (+4 receivers)

A Receiver-driven Adaptive Mechanism Based on the Popularity of Scalable Sessions – p. 9/13

Quality Level Management S2 X

2.5

X

X

r1

S3 S4

\ \

\[

\

\[

[ [

dc dc

R1

\

\[ \[

r2

c

[

[

SR 500 kb/s

SR 1.5 Mb/s

1.5

1

Z

Z Z

ZY ZY ZY

Y Y

r3

Y

ADD 4

2 Rates (Mb/s)

1 ms 1 Mb/s

1 ms 3 Mb/s

3

X

XW XW

XW XW

W W

W

W

S1

R2 LEAVE 1

R3

`_ `_ >

^] ^] >

ba ba >

0.5

R4

0 0

20

40

60

80

100

120

140

160

180

200

220

240

Time (s) R2 R3

R4 R1

R4 (+4 receivers)

A Receiver-driven Adaptive Mechanism Based on the Popularity of Scalable Sessions – p. 9/13

Quality Level Management S2 f

3

2.5

f

f

r1

1 ms 1 Mb/s

S3

h h

h

hg hg hg

g

r

r2

r

rq rq > q

q

g

g

S4 R1

1

j j j

j

ji ji ji

ji

i i

i

1.5

r3

i

1 ms 3 Mb/s

SR 1 Mb/s

2 Rates (Mb/s)

f

fe fe fe fe

e e

e

e

S1

R2 ADD 1

R3

nm nm >

po

lk lk >

po

o

0.5

R4

0 0

20

40

60

80

100

120

140

160

180

200

220

240

Time (s) R2 R3

R4 R1

R4 (+4 receivers)

A Receiver-driven Adaptive Mechanism Based on the Popularity of Scalable Sessions – p. 9/13

Quality Level Management S2

S1

t t

r1 t

2.5

t

S3

vu € €

R1

1 ms 3 Mb/s

vu

2

1.5

1

xw

xw xw

xw

xw xw

r3

xw xw

SR 2 Mb/s

xw

SR 428 kb/s

vu

vu vu vu

vu vu

r2

€

vu

S4

Rates (Mb/s)

ts ts

ts ts

s

1 ms 1 Mb/s

s

s

s

3

R2

R3

| | |

|{ |{ |{

{

{ {

zy zy

~} ~} >

zy

0.5

R4

LEAVE 2 LEAVE 1 ADD 1 ADD 6

0 0

20

40

60

80

100

120

140

160

180

200

220

240

Time (s) R2 R3

R4 R1

R4 (+4 receivers)

A Receiver-driven Adaptive Mechanism Based on the Popularity of Scalable Sessions – p. 9/13

Quality Level Management S2 ‚

3

2.5

‚

‚

r1 ‚

‚ ‚ ‚ ‚

 

1 ms 1 Mb/s





S1

S3

„ „

„

„ƒ „ƒ

r2

„ƒ

ƒ

Ž Ž >

ƒ

ƒ

S4 R1

1.5

†

†… †

†…

†

†

r3

…

†…

†…

1

…

SR 760 kb/s

…

…

1 ms 3 Mb/s

Rates (Mb/s)

2

R2

R3

Š‰ Š‰ >

ˆ‡ ˆ‡ >

Œ‹

‹ Œ‹

‹ ‹

‹

0.5

R4

0 0

20

40

60

80

100

120

140

160

180

200

220

240

Time (s) R2 R3

R4 R1

R4 (+4 receivers)

A Receiver-driven Adaptive Mechanism Based on the Popularity of Scalable Sessions – p. 9/13

“

’  ‘

ž 

¡ ›œš

“

 



•

™•

’

ž  Ÿ

’  ‘

“

’

’

“

and , Burst time of 2s and Deviation of 0.5s •

%

› š œ

 ”

 ”

˜

H

H

—– H

’‘  

%

Quality Level Management 3

2.5

Rates (Mb/s)

2

1.5

1

0.5

0 0

20

40

60

80

100

120

140

160

180

200

220

240

Time (s) R2 R3

R4 R1

R4 (+4 receivers)

A Receiver-driven Adaptive Mechanism Based on the Popularity of Scalable Sessions – p. 9/13

Convergence Time and Stability

£¢

¹ ¹

· ³ ¸ · ³ º

³ ² ´ µ D ¶ ³ ² ´

£¢ £¢ £¢ ¥¤ ¥¤

bandwidth [500,1000] Kb/s delay [5,150] ms

¼

s

©¨

•

© ©

¨

r 50 ©¨

¨

§¦ §¦

§¦ ­¬

§¦

§¦

§¦ §¦

...

s

R2

©

©¨

¨

©

©¨ ¯® ¯® ¯®

­¬ ­¬

R1

¨

«

§¦

§¦ §¦

§¦

« «

r4

«

ǻ ǻ ǻ

r3

±°

±°

±°

ǻ

ª ª

ª

ª

§¦

”

½¼

•

s to

•

”

»¼

•

s

”

20 receivers at 1 every 5 s from 5 receivers at

¥¤

¥¤

¥¤

”



¥¤

¥¤

Links Links

r2

¥¤ ¥¤

¥¤ ¥¤

¥¤

20 ms 280 Kb/s

µ D ¶

£¢ £¢

With and without knowledge about rate of layers Thin layers of 50 kb/s

r1

£¢ £¢

£¢ £¢

£¢

£¢

S

R 50

A Receiver-driven Adaptive Mechanism Based on the Popularity of Scalable Sessions – p. 10/13

Convergence Time and Stability 6

5

3

2

6

1

5

4

0 10

20

30

40

50 60 Time (s)

70

80

90

100 Layers ¾

Layers ¾

4

3

2

With advance Knowledge about the rate of each layer

1

0 10

20

30

40

50 60 Time (s)

70

80

90

100

A Receiver-driven Adaptive Mechanism Based on the Popularity of Scalable Sessions – p. 10/13

Convergence Time and Stability 6

5

Without advance Knowledge about the rate of each layer

3

2

6

1

5

4

0 10

20

30

40

50 60 Time (s)

70

80

90

100 Layers ¾

Layers ¾

4

3

2

1

0 10

20

30

40

50 60 Time (s)

70

80

90

100

A Receiver-driven Adaptive Mechanism Based on the Popularity of Scalable Sessions – p. 10/13

ÒÑ ÒÑ >

Ì Ì Ì

ÌË

ÌË ÌË

Ë Ë

ÐÏ

Ê

ÊÉ

ÐÏ

Ê

ÊÉ

É

ÐÏ

Ê

ÊÉ

É

R T1

É

*

RS

300 Kb/s

R T2

Î

ÔÓ

Î

ÎÍ ÎÍ

ÔÓ

Î

ÎÍ

Ó

r8 Í

*

Í

*

Í

Ä

Ä Ä

ÄÃ ÄÃ

à à Ã

r7

È È È

ÈÇ ÈÇ ÈÇ

Ç

Æ

Ç Ç

Æ

ÆÅ ÆÅ

Å

Â

Å Å

Â

ÂÁ

Â

r5

ÂÁ

r3

ÄÃ

*

T2

20 ms

Á

Á

r4

*

Á

ÂÁ

r2

T1

Æ

À

À¿

*

ÆÅ

À

À¿

¿ ¿

Ë

¿

r6

À

r1

S

À¿

Fairness with TCP

* 10 Mb/s;5 ms

¼ ”

s

•

: TCP flow starting at starts at s : TCP flow starting at

Legout et al. RLC (Vicisiano)

Ú¼ •

”

Ù Ö ´

•

”

ؼ

Õ

× Ö ´

Õ

TCP flows are handle as scalable session with one layer and one receiver : Scalable session with one receiver Layers of 20 kb/s

s

showed that PLM behaves better than RLM (McCanne) or

A Receiver-driven Adaptive Mechanism Based on the Popularity of Scalable Sessions – p. 11/13

Fairness with TCP 300

250

Rates (Kb/s)

200

150

100

50

0 0

20

40

60

80

100

Time (s) S

T1

T2

A Receiver-driven Adaptive Mechanism Based on the Popularity of Scalable Sessions – p. 11/13

Fairness with TCP 300

250

Rates (Kb/s)

200

150

100

50

0 0

20

40

60

80

100

Time (s) S

T1

T2

60 s 63 s S 140 100 T1 160 120 T2 0 70 Total 300 290

66 s 100 80 100 280

69 s 120 90 80 290

72 s 120 110 70 300

75 s 120 80 100 300

78 s 120 70 110 300

81 s 90 110 90 290

84 s 100 100 100 300

A Receiver-driven Adaptive Mechanism Based on the Popularity of Scalable Sessions – p. 11/13

Fairness with TCP 300

250

Figure taken from Arnaud Legout’s 1999 PLM TR with author’s permission

150

100

PLM with TCP, bandwidth increment 2s 300

50

PLM TCP1 TCP2

250

0 0

20

40

60

80

100

Time (s) S

T1

T2

Throughput (Kbit/s)

Rates (Kb/s)

200

200 150 100 50 0 0

20

40 60 Time (s)

80

100

A Receiver-driven Adaptive Mechanism Based on the Popularity of Scalable Sessions – p. 11/13

Conclusions and Ongoing Work Conclusions Receiver-driven adaptive mechanisms and scalable encoding are suitable for heterogeneous networks Receivers are encourage to adapt if networks are fair and punish high-rate sessions SAPRA has the required fairness and punishment properties, encouraging the use of multicast SAM provides a receiver-driven adaptation with: Small convergence time Stability even with burst traffic Fairness to TCP, being fairer and requiring less changes in network devices than PLM Ongoing Work SAPRA extension to allocate costs for multicast traffic Relationship between SAM and SAPRA extension for cost allocation A Receiver-driven Adaptive Mechanism Based on the Popularity of Scalable Sessions – p. 12/13

SAPRA Information 1.

Paulo Mendes and Henning Schulzrinne and Edmundo Monteiro, “ Session-Aware Popularity Resource Allocation for Assured Differentiated Services”, Proc. of the Second IFIP-TC6 Networking Conference, Pisa, Italy, May 2002. Revised version in the IEEE Communications Magazine, September 2002.

2.

Paulo Mendes and Henning Schulzrinne and Edmundo Monteiro, “ Signaling Protocol for Session-Aware Popularity-based Resource Allocation”, Proc. of the IFIP/IEEE International Conference on Management of Multimedia Networks and Services, Santa Barbara, California, USA, October 2002.

3.

Paulo Mendes and Henning Schulzrinne and Edmundo Monteiro, " A Receiver-driven Adaptive Mechanism Based on the Popularity of Scalable Sessions ", Proc. Third COST 263 International Workshop on Quality of future Internet Services, Zürich, Switzerland, October 2002.

4.

Paulo Mendes and Henning Schulzrinne and Edmundo Monteiro, “ Allocation of Usagebased Costs for Multicast Traffic in Differentiated Services Networks”, In Submission.

5.

Web Site: www.cs.columbia.edu/~mendes/sapra.html

or

www.dei.uc.pt/~pmendes/sapra.html A Receiver-driven Adaptive Mechanism Based on the Popularity of Scalable Sessions – p. 13/13