TCP$Alterna,ve$Backoff$with$ECN$(ABE)$heim.ifi.uio.no/~naeemk/research/ABE/slides-93-tcpm-9.pdf ·...
Transcript of TCP$Alterna,ve$Backoff$with$ECN$(ABE)$heim.ifi.uio.no/~naeemk/research/ABE/slides-93-tcpm-9.pdf ·...
!!!!!!!
TCP$Alterna,ve$Backoff$with$ECN$(ABE)$
Naeem!Khademi,!Michael!Welzl,!Grenville!Armitage,!Chamil!Kulatunga,!David!Ros,!Gorry!Fairhurst,!Stein!Gjessing!and!SebasBan!Zander$
!!
TCPM!WG!F!IETF!93,!Prague!–!July!22,[email protected]!
!
• With$standard$TCP$CC’s$mul,plica,ve$decrease$factor$(β!=!0.5):$more!throughput!means!more!buffering!(more!latency)!
– 1!BDP!for!full!uBlizaBon!!!
• AQM$solu,ons:$aiming!to!keep!the!average!latency!low:!(FQ_)CoDel,!PIE,!ARED,!…!!!
• AQMs’!default!thresholds!translate!into!a!Bny!average!buffer!(e.g.!5ms~20ms!for!CoDel!and!PIE)!
!
Internet’s$Latency$Problem$
2$
7.6 7.8
8 8.2 8.4 8.6 8.8
9 9.2 9.4 9.6 9.8 10
10 20 30 40 50 60 70 80 90 100
Thro
ughp
ut (M
bps)
Buffer Size (pkts)
BDP
2/3 BDP
3/7 BDP
1/4 BDP
1/9 BDP
β=0.5β=0.6β=0.7β=0.8β=0.9
SimulaBon!vs.!model!One!NewReno!flow!@!10!Mbps,!RTT!100ms,!DropTail!!!
!!!!
!!• UnderFuBlizaBon!sBll!a!problem!when!RTT!increases!
The$Problem$with$using$AQMs$
3$
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●●●●
●●●●
●
●
●
●●
●
●
●
●
●●●
●●
●●
●
●
●●
●
●
●
●
●
Thro
ughp
ut (M
bps) ●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●●●●
●●●●
●
●
●
●●
●
●
●
●
●●●
●●
●●
●
●
●●
●
●
●
●
●
20 40 80 160 240RTT (ms)
10
12
14
16
18
20
No_ECN ECN
CoDel
●●
●
●●●●●●●●●
●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●
●
●
●
●●
●
●
●
●
●
●
●●●●●●●●●●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●●●●●●●●●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●●●●●●
●
●
●
●
●●
●
●
●
●
●
●
●●●●
●
●
●
●●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●●
●
●●
●
●
●●
●
●
●
●
●
●●
●●
●●
●
●
●
●
●
●
●
●●●
●●
●●
●●
Thro
ughp
ut (M
bps)
●●
●
●●●●●●●●●
●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●
●
●
●
●●
●
●
●
●
●
●
●●●●●●●●●●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●●●●●●●●●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●●●●●●
●
●
●
●
●●
●
●
●
●
●
●
●●●●
●
●
●
●●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●●
●
●●
●
●
●●
●
●
●
●
●
●●
●●
●●
●
●
●
●
●
●
●
●●●
●●
●●
●●
20 40 80 160 240RTT (ms)
10
12
14
16
18
20
No_ECN ECN
PIE
One CUBIC flow @ 20 Mbps (real-life tests)
!! Link!underFuBlizaBon!with!AQMs’!
default!thresholds!when!RTTs!head!above!60ms~80ms!!!
!
Problem$with$longLRTT$paths$
link capacity(C.2Tp)
time
Under-utilized portion of the link capacity
buffering (b)
CWmax
β.CWmax
!
!
Can$we$use$a$larger$TCP$β?$$
4$
150
200
250
300
350
0 10 20 30 40 50 60
cwnd
(pa
cket
s)
Time (sec)
Capacity limit
RTTmin 213ms
RTTmin 283ms
Queue length: 1/2 BDPQueue length: 1 BDP
• Packet$loss:$tailFloss!(and!other!sources!of!loss)!versus!AQMFloss!!– Not!a!good!indicator!of!the!onset!of!congesBon!
• An!ECNLCE$signal!explicitly!indicates!an!AQM’s!presence!(most!likely!to!be!(FQ_)CoDel!or!PIE)!with!a!low!marking!threshold!!!
• Alterna,ve$Backoff$with$ECN$(ABE):$only$a!simple!TCP!parameter!change!=>!use!a!β!higher!than!0.5!in!response!to!ECNFCE!(βECN)!and!react!with!β=0.5!in!response!to!loss!!!
– Few!lines!of!code!in!kernel!(in!the!sender)only)!
!
Alterna,ve$Backoff$with$ECN$(ABE)$
5$
Latency$vs.$throughput$tradeoff$(#1)$
6$
0 50 100 150 200 250 300
010
2030
4050
6070
80
RTT=100ms
Byte
s D
epar
ted
βecn
0.60.70.750.8
0.850.90.95
Impr
ovem
ent o
ver β
ecn=
0.5
(%)
0 50 100 150 200 250 300
RTT=200ms
Time(s)0 50 100 150 200 250 300
RTT=400ms
0 2 4 6 8 10
020
4060
8010
0 RTT=100ms
CD
F (%
)
βecn
0.50.60.70.750.80.850.90.95
CD
F(%
)
0 2 4 6 8 10
RTT=200ms
Queueing Delay (ms)0 2 4 6 8 10
RTT=400ms
One NewReno flow, CoDel @ 10 Mbps, RTT=100
Latency$vs.$throughput$tradeoff$(#2)$
7$
One NewReno flow, PIE @ 10 Mbps, RTT=100
0 50 100 150 200 250 300
020
5080
110
140
170
200
RTT=100ms
Byte
s D
epar
ted
βecn
0.60.70.750.8
0.850.90.95
Impr
ovem
ent o
ver β
ecn=
0.5
(%)
0 50 100 150 200 250 300
RTT=200ms
Time(s)0 50 100 150 200 250 300
RTT=400ms
0 5 10 15 20 25 30 35
020
4060
8010
0 RTT=100ms
CD
F (%
)
βecn
0.50.60.70.750.80.850.90.95
CD
F(%
)
0 5 10 15 20 25 30 35
RTT=200ms
Queueing Delay (ms)0 5 10 15 20 25 30 35
RTT=400ms
Latency$vs.$throughput$tradeoff$(#3)$
8$8$
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
Thro
ughp
ut (M
bps)
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
400.5
800.5
1600.5
2400.5
400.6
800.6
1600.6
2400.6
400.7
800.7
1600.7
2400.7
400.8
800.8
1600.8
2400.8
RTT (ms)βecn
5
10
15
20
RTT
(ms)
400.5
800.5
1600.5
2400.5
400.6
800.6
1600.6
2400.6
400.7
800.7
1600.7
2400.7
400.8
800.8
1600.8
2400.8
RTT (ms)βecn
0
50
100
150
200
250 CoDel!RTT! Throughput!
Increased βECN causes insignificant change in median RTT
Source:!hkp://frenchyme.blogspot.no!
!! Low$latency$and$high$u,liza,on$$
ABE$Performance$$
TCP$Convergence$Time$
9$9$
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
0 1 2 3 4 5
CD
F
Convergence time / default (βecn 0.5)
βecn 0.6βecn 0.7
βecn 0.75βecn 0.8
βecn 0.85βecn 0.9
Two NewReno flows, CoDel
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
0 1 2 3 4 5
CD
F
Convergence time / default (βecn 0.5)
βecn 0.6βecn 0.7
βecn 0.75βecn 0.8
βecn 0.85βecn 0.9
Two NewReno flows, PIE
@ {1, 5, 10, 20, 40, 100} Mbps and RTT={10, 20, 40, 60, 80, 160, 240, 320} ms
JFI of the cumulative number of bytes transferred per flow from the time a new flow entered, (after 30 sec during a 90 sec experiment) and noting the time it took until this index reached a threshold (0.95)
Friendliness$with$standard$$(lossLbased)$TCP$
10$10$
0.5
1
1.5
2
2.5
3
3.5
1 vs 9 3 vs 7 5 vs 5 7 vs 3 9 vs 1
Nor
mal
ized
thro
ughp
ut ra
tio(E
CN
flow
s / n
oEC
N fl
ows)
# noECN flows vs # ECN flows
βecn=0.5βecn=0.6
βecn=0.7βecn=0.75
βecn=0.8βecn=0.85
βecn=0.9
CoDel
0.5
1
1.5
2
2.5
3
3.5
1 vs 9 3 vs 7 5 vs 5 7 vs 3 9 vs 1
Nor
mal
ized
thro
ughp
ut ra
tio(E
CN
flow
s / n
oEC
N fl
ows)
# noECN flows vs # ECN flows
βecn=0.5βecn=0.6
βecn=0.7βecn=0.75
βecn=0.8βecn=0.85
βecn=0.9
PIE
Normalized throughput ratio between two groups of 10 flows (CUBIC with different βECN against standard TCP) @10 Mbps using RTT={20, 80, 160, 320} ms.
ABE$and$slowLstart$(#1)$
11$11$0 2 4 6 8 10 12
010
020
030
040
0
Time (s)
cwnd
(pac
kets
)
RTT, βecn
160ms,0.5240ms,0.5160ms,0.9240ms,0.9
160ms X 20Mbps capacity
240ms X 20Mbps capacity
The!effect!of!overshoot!at!the!end!of!slowFstart!!@!20Mbps!(experiment)!!
- Benefits!short!flows!terminaBng!right!aner!SS!- E.g.!reducBon!in!PLT!of!large!webFpages!- Number!of!reducBon!steps!bound!to!logβECN (0.5)
ABE$and$slowLstart$(#2)$
12$12$
Percentage reduction in FCT (compared to using βECN = 0.5) with different flow sizes @10 Mbps link with RTT =100ms
0
5
10
15
20
25
600 800 1000 1200 1400 1600 1800 2000
Red
uctio
n in
Flo
w C
ompl
etio
n Ti
me
(%)
File Size (KB)
CoDel
0
5
10
15
20
25
600 800 1000 1200 1400 1600 1800 2000
File Size (KB)
CoDel PIEβecn=0.6βecn=0.7βecn=0.75βecn=0.8βecn=0.85βecn=0.9βecn=0.95
• Alterna,ve$Backoff$with$ECN$(ABE):$$
Naeem!Khademi,!Michael!Welzl,!Grenville!Armitage,!Chamil!Kulatunga,!David!Ros,!Gorry!Fairhurst,!Stein!Gjessing,!SebasBan!Zander,!"Alterna,ve$Backoff:$Achieving$Low$Latency$and$High$Throughput$with$ECN$and$AQM",!Technical!report!150710A,!10!July!2015,!Swinburne!University!of!Technology,!Australia!!!hkp://caia.swin.edu.au/reports/150710A/CAIAFTRF150710A.pdf!!
dranFkhademiFalternaBvebackoffFecn!!
– A!minor!senderFside!modificaBon!(changes!βECN)!– Complies!with!RFC!3168!– Incremental!deployment!with!no!flagFday!!
$
Conclusions$
13$
!! Significant!throughput!gain!with!lightlyFmulBplexed!traffic!! Low!latency!(using!CoDel!or!PIE)!! No!starvaBon!of!standard!TCP!! Reasonable!convergence!and!fairness!with!recommended!βs!
ABE$Performance$$
Q&A$
14!