Evaluating CoDel, FQ_CoDel and PIE: how good are they really?

advertisement
Evaluating CoDel, FQ_CoDel and PIE:
how good are they really?
Naeem Khademi <naeemk@ifi.uio.no>
David Ros <David.Ros@telecom-bretagne.eu>
Michael Welzl <michawe@ifi.uio.no>
ICCRG – IETF 88
Vancouver, BC, Canada
N. Khademi, D. Ros, M. Welzl ()
Evaluating CoDel, FQ_CoDel and PIE
November 5, 2013
1 / 23
Outline
Outline
New AQM Kids
Experimental Setup
A Basic Test
Parameter Sensitivity
AQM on 802.11 WLANs
FQ_CoDel: Blending SFQ and AQM
ECN
Conclusions and Future Work
Q&A
N. Khademi, D. Ros, M. Welzl ()
Evaluating CoDel, FQ_CoDel and PIE
November 5, 2013
2 / 23
New AQM Kids
The New AQM Kids on the Block...
I
Two very recent proposals:
I
I
I
Some older AQMs dating back to early 90’s/00’s (*RED, REM,
BLUE, CHOKe,...)
I
I
(FQ_)CoDel (IETF 84)
PIE (IETF 85)
Designed to be better than RED, just like CoDel and PIE
Little academic literature available on CoDel and PIE
Literature (bold = peer-reviewed)
Wired, sim
Wired, real-life
Wireless (any)
CoDel
[NJ12][GRT+ 13][WP12]
[Whi13]
[GRT+ 13] X
X
PIE
[Whi13]
FQ_CoDel
[Whi13]
X
X
X
-
NOTE: [WP12] and [Whi13] are on DOCSIS 3.0 while [GRT+ 13] has tests with LP CC.
N. Khademi, D. Ros, M. Welzl ()
Evaluating CoDel, FQ_CoDel and PIE
November 5, 2013
3 / 23
New AQM Kids
The New AQM Kids on the Block (cont.)
AQM Deployment Status
I
(W)RED is available on plenty of HW but mostly "turned off"
Mentioned Reasons for Lack of Deployment
I
Bad implementation (?)
I
Hard to tune RED params
I
Sally Floyd’s ARED (2001 draft, available in Linux) adaptively
tunes RED params aiming for a certain target queuing => with
fixed BW maps to a "target delay"
I
Target delay can be set in ARED, CoDel and PIE
N. Khademi, D. Ros, M. Welzl ()
Evaluating CoDel, FQ_CoDel and PIE
November 5, 2013
4 / 23
Experimental Setup
Experimental Setup
I
I
I
I
Traffic: 60/180/300 sec (wired/wireless/RTT=500 ms) of iperf, repeated for 10 runs
AQM iface: GSO TSO off, BQL=1514, txqueuelen=1000
TCP: Linux default with reno
Topology: Dumbbell with 4 sender-receiver pairs
Model
CPU
RAM
Ethernet
Ethernet driver
802.11 b/g
802.11 driver
OS kernel
Dell OptiPlex GX620
Intel(R) Pentium(R) 4 CPU 3.00 GHz
1 GB PC2-4200 (533 MHz)
Broadcom NetXtreme BCM5751
RTL-8139 (AQM interface)
RTL8111/8168B (Dummynet router)
tg3
8139too (AQM interface)
r8168 (Dummynet router)
D-Link DWL-G520 AR5001X+
ath5k
Linux 3.8.2 (FC14)
Linux 3.10.4 (AQM router) (FC16)
N. Khademi, D. Ros, M. Welzl ()
Evaluating CoDel, FQ_CoDel and PIE
100 Mbps
100 Mbps
AQM
100 Mbps
100 Mbps
Dummynet router
100 Mbps
100 Mbps
100 Mbps
100 Mbps
100 Mbps
10 Mbps
AQM
100 Mbps
Dummynet router
100 Mbps
100 Mbps
Bottleneck router
100 Mbps
November 5, 2013
5 / 23
Experimental Setup
Experimental Setup (cont.)
I
AQM parameters used unless otherwise noted.
CoDel
interval=100 ms
target=5 ms
PIE
ARED
parameters in [pie].
PIE Parameter Default value
tupdate
30 ms
Ttarget
20 ms
α
0.125
β
1.25
N. Khademi, D. Ros, M. Welzl ()
parameters in [FGS01].
ARED Parameter
Default value
interval
500 ms
α
min(0.01, pmax /4)
β
0.9
Evaluating CoDel, FQ_CoDel and PIE
November 5, 2013
6 / 23
Experimental Setup
Experimental Setup (cont.)
I
RTT is measured on per-packet basis using Synthetic Packet
Pairs (SPP) tool [spp]
I
I
Gives a very precise distribution of perceived RTT on the path
Goodput is measured per 5-sec intervals
I
long-term throughput/goodput does not reflect AQM performance
over time (e.g. bursts of packet drops are not desired)
N. Khademi, D. Ros, M. Welzl ()
Evaluating CoDel, FQ_CoDel and PIE
November 5, 2013
7 / 23
A Basic Test
A Basic Test
240
230
220
210
200
190
180
170
160
150
140
130
120
110
100
Goodput (Mbps)
RTT (ms)
Single TCP Flow (RTTbase =100 ms)
1
1
1
CoDel
5
5
5 10 10 10 20 20 20 30 30 30
Target Delay (ms)
PIE
ARED
10
9.5
9
8.5
8
7.5
7
6.5
6
5.5
5
4.5
4
3.5
1
1
1
CoDel
(a) Per-packet RTT
5
5
5 10 10 10 20 20 20 30 30 30
Target Delay (ms)
PIE
ARED
(b) Goodput
Per-packet RTT and goodput. Bottom and top of whisker-box plots show 10th and 90th
percentiles respectively.
N. Khademi, D. Ros, M. Welzl ()
Evaluating CoDel, FQ_CoDel and PIE
November 5, 2013
8 / 23
A Basic Test
A Basic Test (cont.)
CoDel vs. RED from K. Nichols, “Controlling Queue
Delay” [NJ12]
I
A similar trend can
be observed between
CoDel and RED in a
different test in
[NJ12]
FTP traffic mix w/ and w/o web-browsing and CBR
applications and RTTs from 10∼500 ms.
N. Khademi, D. Ros, M. Welzl ()
Evaluating CoDel, FQ_CoDel and PIE
November 5, 2013
9 / 23
Parameter Sensitivity
Parameter Sensitivity (cont.)
1
1
1
5
CoDel
5
5 10 10 10 20 20 20 30 30 30
Target Delay (ms)
PIE
ARED
(c) Light
250
240
230
220
210
200
190
180
170
160
150
140
130
120
110
100
RTT (ms)
250
240
230
220
210
200
190
180
170
160
150
140
130
120
110
100
RTT (ms)
RTT (ms)
Target Delay (Per-packet RTT)
1
1
1
CoDel
5
5
5 10 10 10 20 20 20 30 30 30
Target Delay (ms)
PIE
ARED
(d) Moderate
250
240
230
220
210
200
190
180
170
160
150
140
130
120
110
100
1
1
1
5
CoDel
5
5 10 10 10 20 20 20 30 30 30
Target Delay (ms)
PIE
ARED
(e) Heavy
Per-packet RTT. Light, moderate and heavy congestion scenarios (4 senders and
RTTbase =100 ms).
Light, moderate and heavy congestion correspond to 4, 16 and 64 concurrent TCP flows
respectively.
N. Khademi, D. Ros, M. Welzl ()
Evaluating CoDel, FQ_CoDel and PIE
November 5, 2013
10 / 23
Parameter Sensitivity
Parameter Sensitivity (cont.)
Goodput (Mbps)
Target Delay (Goodput)
10
9.5
9
8.5
1
8.5
1
8
1
5
5
CoDel
5 10 10 10 20 20 20 30 30 30
Target Delay (ms)
PIE
ARED
7.5
(g) Moderate
7
6.5
6
5.5
1
1
1
CoDel
5
5
5 10 10 10 20 20 20 30 30 30
Target Delay (ms)
PIE
(f) Light
Goodput (Mbps)
Goodput (Mbps)
9
10
9.5
10
9.5
9
8.5
1
1
1
ARED
CoDel
5
5
5 10 10 10 20 20 20 30 30 30
Target Delay (ms)
PIE
ARED
(h) Heavy
Goodput. Light, Moderate and Heavy congestion scenarios (4 senders and RTTbase =100 ms).
N. Khademi, D. Ros, M. Welzl ()
Evaluating CoDel, FQ_CoDel and PIE
November 5, 2013
11 / 23
AQM on 802.11 WLANs
AQM on 802.11 WLANs
I
802.11 is a challenging environment for AQM deployment
I
Varying MCS (BW) by RA and MAC retries
I
I
Shared channel with various active STAs
I
I
We use TCP max achievable BW for testing (e.g. ∼27 Mbps in .11g)
CoDel and PIE use delay
I
I
I
Direction-based unfairness (uplink vs. downlink)
Hard to predict the BW as input to ARED
I
I
Some drivers still use SampleRate instead of Minstrel (e.g. in FBSD)
CoDel: queuing delay by timestamping
PIE: estimated queuing delay (queue_length / departure_rate)
Public Wi-Fi e.g. at airports, hotels, corporations with bottleneck
on wlanX interface
N. Khademi, D. Ros, M. Welzl ()
Evaluating CoDel, FQ_CoDel and PIE
November 5, 2013
12 / 23
AQM on 802.11 WLANs
AQM on 802.11 WLANs (cont.)
22
280
270
260
250
240
230
220
210
200
190
180
170
160
150
140
130
120
110
100
21.5
21
20.5
Goodput (Mbps)
RTT (ms)
802.11 Downlink Traffic Scenario – Target Delay=5 ms
20
19.5
19
18.5
18
17.5
17
16.5
1
1
1
4
4
4
8
8
8
16
16
16
1
1
1
Flows per sender #
CoDel
PIE
ARED
CoDel
(i) Per-packet RTT
4
4
4
8
8
Flows per sender #
PIE
8
16
16
16
ARED
(j) Goodput
4 senders, RTTbase =100 ms.
N. Khademi, D. Ros, M. Welzl ()
Evaluating CoDel, FQ_CoDel and PIE
November 5, 2013
13 / 23
AQM on 802.11 WLANs
AQM on 802.11 WLANs (cont.)
I
I
AQM on AP’s wlanX interface
∼65%/∼70% ACK loss at AQM (ARED) router for 16/32 flows.
802.11 Mixed Traffic – Target Delay=5 ms (Uplink’s Stats)
2400
2200
2000
Goodput (Mbps)
RTT (ms)
1800
1600
1400
1200
1000
27
26.5
26
25.5
25
24.5
24
1
800
1
1
600
CoDel
400
1
1
1
4
4
4
8
8
8
16
16
16
4
4
4
8
8
Flows per sender #
PIE
8
16
16
16
ARED
(l) Goodput
Flows per sender #
CoDel
PIE
ARED
(k) Per-packet RTT
4 senders, RTTbase =100 ms.
N. Khademi, D. Ros, M. Welzl ()
Evaluating CoDel, FQ_CoDel and PIE
November 5, 2013
14 / 23
FQ_CoDel: Blending SFQ and AQM
FQ_CoDel: Blending SFQ and AQM
SFQ is highly likely to improve
the performance when
combined with any AQM
I
I
I
Flow isolation/protection
with non-responsive traffic
Close to 100% flow-level
fairness on the edge
Significantly Lower 10th
percentile and median RTTs
but with longer (upper)
distribution tail
N. Khademi, D. Ros, M. Welzl ()
Comparison between CoDel and FQ_CoDel
– target_delay =5 ms
210
200
190
180
170
RTT (ms)
I
160
150
140
130
120
110
100
1
1
4
CoDel
4
8
Flows per sender #
8
16
16
FQ-CoDel
Per-packet RTT. 4 senders and
RTTbase =100 ms.
Evaluating CoDel, FQ_CoDel and PIE
November 5, 2013
15 / 23
FQ_CoDel: Blending SFQ and AQM
FQ_CoDel: Blending SFQ and AQM
FQ_CoDel: Lower median latency at the expense of higher jitter
than CoDel (with the increase of congestion level)
I
Per-packet RTT Samples of a Single Flow – target_delay =5 ms
230
230
fq-codel
codel
220
210
200
200
200
190
190
190
180
180
180
160
RTT (ms)
210
170
170
160
170
160
150
150
150
140
140
140
130
130
130
120
120
110
110
100
120
110
100
20
25
30
Time (Sec)
35
(m) Light Congestion
40
fq-codel
codel
220
210
RTT (ms)
RTT (ms)
230
fq-codel
codel
220
100
20
25
30
Time (Sec)
35
(n) Moderate Congestion
40
20
25
30
Time (Sec)
35
40
(o) Heavy Congestion
4 senders, RTTbase =100 ms.
N. Khademi, D. Ros, M. Welzl ()
Evaluating CoDel, FQ_CoDel and PIE
November 5, 2013
16 / 23
ECN
ECN
I
Proposed two decades ago
I
Still turned off in clients
I
Can give a lot of benefits (out of this talk’s scope)
RFC 3168
For a router, the CE codepoint of an ECN- Capable packet SHOULD
only be set if the router would otherwise have dropped the packet as
an indication of congestion to the end nodes.
I
RFC 3168 is the only guideline for general use
I
Marking affects the marking/dropping probability since it
changes the metrics AQMs use (e.g. queue length and delay)
N. Khademi, D. Ros, M. Welzl ()
Evaluating CoDel, FQ_CoDel and PIE
November 5, 2013
17 / 23
ECN
ECN (cont.)
250
240
230
220
210
200
190
180
170
160
150
140
130
120
110
100
RTT (ms)
RTT (ms)
Per-packet RTT. 4 senders, target_delay =5 ms, RTTbase =100 ms
1
1
1
4
4
4
8
8
8
16
16
250
240
230
220
210
200
190
180
170
160
150
140
130
120
110
100
16
1
1
1
4
Flows per sender #
CoDel
PIE
4
4
8
8
Flows per sender #
CoDel
ARED
(p) ECN disabled
PIE
8
16
16
16
16
16
16
ARED
(q) ECN enabled
10
9.5
9
8.5
8
7.5
7
6.5
6
Goodput (Mbps)
Goodput (Mbps)
Goodput
1
1
1
4
4
4
8
8
8
16
16
16
10
9.5
9
8.5
8
7.5
7
6.5
6
1
1
1
Flows per sender #
CoDel
PIE
4
4
8
8
8
Flows per sender #
ARED
(r) ECN disabled
N. Khademi, D. Ros, M. Welzl ()
4
CoDel
PIE
ARED
(s) ECN enabled
Evaluating CoDel, FQ_CoDel and PIE
November 5, 2013
18 / 23
ECN
ECN (cont.)
I
I
Constant CE-marking under heavy
congestion
with ECN, ARED’s goodput drops
significantly as congestion level
decreases
I
I
Aggressive reaction to the
increase in average queue length
CE-marking (w/ ECN) 3.5∼6.6
times more than dropping (w/o
ECN)
N. Khademi, D. Ros, M. Welzl ()
pmarking|ecn /pdrop|noecn
Flows
4
16
32
64
Evaluating CoDel, FQ_CoDel and PIE
CoDel
1.256
1.356
1.719
6.117
PIE
1.156
1.106
1.591
6.569
ARED
6.621
3.465
4.303
3.873
November 5, 2013
19 / 23
ECN
ECN (cont.)
Our Recommendation
I
AQMs should modify their dropping/marking decision process to
incorporate the impact of CE-marked packets on their
measurements.
Possible Solutions
I
Exclude CE-marked packets from queue size (ARED), or exclude
delay caused by CE-marked packets (PIE)
I
Set lower ECN thresholds for AQMs
(fairness against non-ECN flows? dynamic threshold?)
N. Khademi, D. Ros, M. Welzl ()
Evaluating CoDel, FQ_CoDel and PIE
November 5, 2013
20 / 23
Conclusions and Future Work
Conclusive Remarks
I
ARED only performed worse than CoDel or PIE in few scenarios
1. With very small number of flows
2. Public Wi-Fi with mixed (up- and down-link) traffic
3. With the common ECN implementation that CE-marks only when it
would otherwise drop
I
ARED outperforms CoDel and PIE in all other studied scenarios,
most notably regarding delay
Future Work
I
More realistic traffic types (here, only bulk TCP traffic)
I
Implementing and testing SFQ_ARED
I
Delay-based ARED
N. Khademi, D. Ros, M. Welzl ()
Evaluating CoDel, FQ_CoDel and PIE
November 5, 2013
21 / 23
Q&A
Bibliography
[FGS01]
Sally Floyd, Ramakrishna Gummadi, and Scott Shenker.
Adaptive RED: An Algorithm for Increasing the Robustness of RED’s Active Queue Management.
Technical report, 2001.
[GRT+ 13] Y. Gong, D. Rossi, C. Testa, S. Valenti, and D. Taht.
Fighting the Bufferbloat: On the Coexistence of AQM and Low Priority Congestion Control.
2013.
[NJ12]
Kathleen Nichols and Van Jacobson.
Controlling Queue Delay.
Queue, 10(5):20:20–20:34, May 2012.
[pie]
PIE Linux code (Cisco).
ftp://ftpeng.cisco.com/pie/linux_code/.
[spp]
Synthetic Packet Pairs.
http://caia.swin.edu.au/tools/spp/.
[Whi13]
Greg White.
A Simulation Study of CoDel, SFQ-CoDel and PIE in DOCSIS 3.0 Networks.
Technical Report, CableLabs, April 2013.
[WP12]
Greg White and Joey Padden.
Preliminary Study of CoDel AQM in a DOCSIS Network.
Technical Report, CableLabs, November 2012.
N. Khademi, D. Ros, M. Welzl ()
Evaluating CoDel, FQ_CoDel and PIE
November 5, 2013
22 / 23
Q&A
Q&A
More on experimental results: N. Khademi, D. Ros, and M. Welzl,
“The New AQM Kids on the Block: Much Ado About Nothing?”,
Technical Report 434, Department of Informatics, University of Oslo,
23 October 2013, available at http://urn.nb.no/URN:NBN:no-38868
N. Khademi, D. Ros, M. Welzl ()
Evaluating CoDel, FQ_CoDel and PIE
November 5, 2013
23 / 23
Download