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