Coupled ¡Conges,on ¡Control ¡for ¡ RTP ¡Media ¡
Safiqul ¡Islam, ¡Michael ¡Welzl, ¡Stein ¡Gjessing ¡and ¡Naeem ¡Khademi ¡ Department ¡of ¡Informa,cs ¡ University ¡of ¡Oslo ¡
Coupled Conges,on Control for RTP Media Safiqul Islam, - - PowerPoint PPT Presentation
Coupled Conges,on Control for RTP Media Safiqul Islam, Michael Welzl, Stein Gjessing and Naeem Khademi Department of Informa,cs University of Oslo Problem
Safiqul ¡Islam, ¡Michael ¡Welzl, ¡Stein ¡Gjessing ¡and ¡Naeem ¡Khademi ¡ Department ¡of ¡Informa,cs ¡ University ¡of ¡Oslo ¡
Flow 1 Flow 2 Flow 3 Flow n
CC ¡ CC ¡ CC ¡
Each ¡Flow ¡has ¡its ¡own ¡Conges@on ¡ Control ¡module ¡
Compe,,on ¡ leads ¡to: ¡
e ¡ q u e u e ¡ g r
t h ¡
e ¡ p a c k e t ¡ d r
s ¡
e ¡ d e l a y ¡
a i r n e s s ¡ p r
l e m s ¡ i n ¡ c a s e ¡
¡ h e t e r
e n e
s ¡ R T T s ¡
2 ¡
Flow 1 Flow 2 Flow 3 Flow n
CC ¡ CC ¡ CC ¡ Single ¡ Conges,on ¡ Controller ¡ 3 ¡
Flow 1 Flow 2 Flow 3 Flow n
CC ¡ CC ¡ CC ¡ Single ¡ Conges,on ¡ Controller ¡
Conges,on ¡ Manager ¡– ¡ RFC ¡3124 ¡
Ensemble ¡TCP ¡-‑ ¡ ETCP ¡ Ensemble ¡Flow ¡ Conges,on ¡ Management ¡
Best ¡known, ¡perhaps ¡the ¡oldest ¡related ¡
framework ¡
available ¡bandwidth. ¡
Block ¡(TCB) ¡informa,on ¡sharing ¡from ¡
4 ¡
¡David ¡Hayes, ¡Simone ¡Ferlin-‑Oliveira, ¡Michael ¡Welzl: ¡"Prac=cal ¡Passive ¡Shared ¡
Bo?leneck ¡Detec=on ¡Using ¡Shape ¡Summary ¡Sta=s=cs", ¡accepted ¡for ¡publica=on, ¡IEEE ¡ LCN ¡2014, ¡8-‑11 ¡September ¡2014 ¡
5 ¡
Flow 1 Flow 2 Flow 3 Flow n
Single ¡ Conges,on ¡ Controller ¡
This ¡might ¡work ¡well ¡for ¡ flows ¡having ¡same ¡tuple ¡but ¡ what ¡happens ¡when ¡ boUleneck ¡changes? ¡
6 ¡
Flow 1 Flow 2 Flow 3 Flow n
Single ¡ Conges,on ¡ Controller ¡ Single ¡ Conges,on ¡ Controller ¡
¡
¡ What ¡we ¡think: ¡
algorithm ¡that ¡loosely ¡ couples ¡exis,ng ¡cc ¡with ¡ minimal ¡changes. ¡ ¡
7 ¡
Flow 1 Flow 2 Flow 3 Flow n
CC ¡ CC ¡ CC ¡ Flow ¡State ¡ Exchange ¡(FSE) ¡ 8 ¡
Sender ¡Host ¡ ¡
9 ¡
¡Update_Rate ¡() ¡ New_Rate ¡
Sender ¡Host ¡ ¡
10 ¡
¡Update_Rate ¡() ¡ New_Rate ¡
Sender ¡Host ¡ ¡
11 ¡
rates, ¡calculates ¡the ¡sending ¡ rates ¡for ¡all ¡the ¡flows ¡and ¡ distributes ¡them ¡
for ¡all ¡flows ¡i ¡in ¡FG ¡do ¡ ¡FSE_R(i) ¡= ¡(P(i)*ΣCR)/ΣP ¡ ¡send ¡FSE_R(i) ¡to ¡the ¡flow ¡I ¡ end ¡for ¡
12 ¡
13 ¡
– Rate ¡Adapta,on ¡Protocol ¡(RAP) ¡ ¡ – TCP ¡Friendly ¡Transport ¡Protocol ¡(TFRC) ¡ ¡ ¡
RTT ¡– ¡100 ¡ms ¡
start ¡,mes ¡picked ¡from ¡first ¡second; ¡stddev ¡consistently ¡very ¡small ¡( ¡<= ¡0.2% ¡) ¡
14 ¡
F1 ¡ F2 ¡ Fn ¡
R1 ¡ R2 ¡
F1 ¡ F2 ¡ Fn ¡
2 4 6 8 10 50 100 150 200 250 300
Sending Rate (Mbps) Time(s) Flow 1 Flow 2
Priority ¡of ¡flow ¡1 ¡increased ¡over ¡ ,me ¡
0.2 0.4 0.6 0.8 1 5:1 10:1 15:1 20:1
Fairness Index RTT Ratio FSE Without FSE
0.2 0.4 0.6 0.8 1 1:1:1:1:1 16:8:4:2:1 32:16:8:4:2 48:24:12:6:3
Fairness Index RTT Ratio FSE Without FSE
Priori@za@on ¡ ¡ Fairness ¡
2 ¡Flows ¡ 5 ¡Flows ¡
15 ¡
1 2 3 4 5 6 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
Goodput (Mbps) Priority of Flow #2 Flow #1 Flow #2
16 ¡
5 10 15 20 25 30 35 2 4 6 8 10 12 14 16 18 20
Average Queue Length # of Flows FSE Without FSE
30 35 40 45 50 55 60 2 4 6 8 10 12 14 16 18 20
Average Queue Length # of Flows FSE Without FSE
1 2 3 4 5 6 7 8 9 10 11 2 4 6 8 10 12 14 16 18 20
Packet Loss Ratio % # of Flows FSE Without FSE
0.5 1 1.5 2 2.5 2 4 6 8 10 12 14 16 18 20
Packet Loss Ratio % # of Flows FSE Without FSE
RAP ¡ TFRC ¡ Average ¡ Queue ¡ Packet ¡ Loss ¡ Ra,o ¡
Receiver ¡makes ¡assump,ons ¡about ¡ sending ¡rate ¡(expected ¡length ¡of ¡loss ¡ interval) ¡è ¡loss ¡event ¡ra,o ¡p ¡calcula,on ¡ wrong ¡è ¡sender ¡too ¡aggressive ¡
50 60 70 80 90 100 2 4 6 8 10 12 14 16 18 20
Link Utilization % # of Flows FSE Without FSE Throughput - 1 flow
50 60 70 80 90 100 2 4 6 8 10 12 14 16 18 20
Link Utilization % # of Flows FSE Without FSE
Link ¡ U,liza,on ¡
17 ¡
15 20 25 30 35 40 45 50 55 60 65 70 60 80 100 120 140 160 180
Average Queue Length Queue Length FSE Without FSE
RAP ¡ TFRC ¡
20 30 40 50 60 70 80 90 60 80 100 120 140 160 180
Average Queue Length Queue Length FSE Without FSE
10 ¡Flows ¡ 15 ¡Flows ¡
20 40 60 80 100 120 140 160 180 60 80 100 120 140 160 180
Average Queue Length Queue Length FSE Without FSE
20 40 60 80 100 120 140 160 180 60 80 100 120 140 160 180
Average Queue Length Queue Length FSE Without FSE 18 ¡
19 ¡
2 4 6 8 10 12 14 16 5 10 15 20 25
Sending Rate (Mbps) Time (s) Flow 1 Flow 2
2 4 6 8 10 12 14 16 5 10 15 20 25
Sending Rate (Mbps) Time (s) Flow 1 Flow 2
FSE ¡ Without ¡FSE ¡ FSE-‑controlled ¡flows ¡propor,onally ¡reduce ¡the ¡rate ¡in ¡case ¡of ¡conges,on; ¡ without ¡FSE, ¡synchroniza,on ¡causes ¡app-‑limited ¡flow ¡to ¡over-‑react ¡
20 ¡
5 10 15 20 25 5 10 15 20 25 30 35 40
Throughput Capacity Flow #1 Flow #2 Link Utilization
High-‑priority ¡(1) ¡applica,on ¡limited ¡flow ¡#1 ¡is ¡hardly ¡affected ¡by ¡a ¡low-‑ priority ¡(0.2) ¡flow ¡#2 ¡as ¡long ¡as ¡there ¡is ¡enough ¡capacity ¡for ¡flow ¡1 ¡ ¡
21 ¡
22 ¡
23 ¡
24 ¡
F1 ¡ F2 ¡ Fn ¡
R1 ¡ R2 ¡
F1 ¡ F2 ¡ Fn ¡
BoUleneck ¡-‑ ¡10 ¡Mbps ¡ Queue-‑length ¡– ¡13 ¡Packets ¡(1 ¡BDP) ¡ Packet ¡Size ¡– ¡1000 ¡Bytes ¡ Senders ¡have ¡always ¡data ¡to ¡send ¡ ¡
25 ¡
5 6 7 8 9 10 11 12 2 4 6 8 10 12 14 16 18 20
Average Queue Length Number of Flows FSE Without FSE
RAP ¡ TFRC ¡ Average ¡ Queue ¡ Length ¡
7.5 8 8.5 9 9.5 10 10.5 11 2 4 6 8 10 12 14 16 18 20
Average Queue Length Number of Flows FSE Without FSE
5 10 15 20 25 30 35 40 45 2 4 6 8 10 12 14 16 18 20
Packet Loss Ratio % Number of Flows FSE Without FSE
2 4 6 8 10 12 14 2 4 6 8 10 12 14 16 18 20
Packet Loss Ratio % Number of Flows FSE Without FSE
Packet ¡ Loss ¡ Ra,o ¡ Why? ¡
26 ¡
– Should ¡emulate ¡the ¡conges,on ¡response ¡of ¡one ¡flow ¡
aggregate ¡rate ¡ ¡
2 4 6 8 10 12 14 15 15.5 16 16.5 17 17.5 18 18.5 19 Queue size (pkts) Time (s) 2 4 6 8 10 12 14 15 15.5 16 16.5 17 17.5 18 18.5 19 Queue size (pkts) Time (s)
With ¡FSE ¡ Without ¡FSE ¡
27 ¡