The New AQM Kids on the Block: An Experimental Evaluation of CoDel and PIE Naeem Khademi <naeemk@ifi.uio.no> David Ros <dros@simula.no> Michael Welzl <michawe@ifi.uio.no> 17th IEEE Global Internet Symposium – 2014 Toronto, ON, Canada N. Khademi, D. Ros, M. Welzl The New AQM Kids on the Block... April 28, 2014 1 / 21 Outline Outline AQM AQM mechanisms considered CoDel PIE ARED Experimental Setup A Basic Test Parameter Sensitivity Conclusions and Future Work Q&A N. Khademi, D. Ros, M. Welzl The New AQM Kids on the Block... April 28, 2014 2 / 21 AQM Active Queue Management (AQM) I Problem: Standard loss-based TCP’s congestion control plus Large unmanaged buffers in Internet routers, switches, device drivers,... (a.k.a Bufferbloat) I Cause: Latency issues for interactive/multimedia applications I Solution: AQM tries to signal the onset of congestion by (randomly?) dropping/marking packets AQM Goals I Maintain low average queue/latency I Allow occasional packet bursts I Break synchronization among TCP flows N. Khademi, D. Ros, M. Welzl The New AQM Kids on the Block... April 28, 2014 3 / 21 AQM mechanisms considered The New AQM Kids on the Block... I Two very recent proposals: I I (FQ_)CoDel (IETF 84) PIE (IETF 85) mandatory in DOCSIS 3.1 CM I Some older AQMs dating back to early 90’s/00’s (*RED, REM, BLUE, CHOKe,...) I Little academic literature available on CoDel and PIE I Designed to be better than RED, just like 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 Low-Priority congestion control. N. Khademi, D. Ros, M. Welzl The New AQM Kids on the Block... April 28, 2014 4 / 21 AQM mechanisms considered 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 technical report, 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 The New AQM Kids on the Block... April 28, 2014 5 / 21 AQM mechanisms considered CoDel The New AQM Kids on the Block (cont.) CoDel – Controlling Delay I Tries to detect the standing queue by measuring minimum sojourn delay (delaymin ) over a fixed-duration interval (default 100 ms) I Uses timestamping I If delaymin > target for at least one interval, enters dropping mode and a packet is dropped from the tail (deque) I Next dropping time: Dropping interval decreases in inverse proportion to the square root of the number of drops since the dropping mode was entered I Exits dropping mode if delaymin ≤ target I No drop when queue is less than 1 MTU N. Khademi, D. Ros, M. Welzl The New AQM Kids on the Block... April 28, 2014 6 / 21 AQM mechanisms considered CoDel The New AQM Kids on the Block (cont.) CoDel Assumptions I 100 ms is nominal RTT assumed typical on the Internet paths I interval = 100 ms; assures protection of normal packet bursts I A small target standing queue (5% of nominal RTT) is tolerable for achieving better link utilization N. Khademi, D. Ros, M. Welzl The New AQM Kids on the Block... April 28, 2014 7 / 21 AQM mechanisms considered PIE The New AQM Kids on the Block (cont.) PIE – Proportional Integral controller Enhanced I Lightweight as it uses delay estimation instead of timestamping I Uses a Proportional Integral (PI) controller design I Uses trend of latency (increasing or decreasing) over time to determine the congestion level I E[T ] as current estimated queuing delay during every tupdate , N as current queue length and µ is the draining rate E[T ] = N/µ I Randomly drops on enque based on probability p p = p + α ∗ (E[T ] − Ttarget ) + β ∗ (E[T ] − E[T ]old ) N. Khademi, D. Ros, M. Welzl The New AQM Kids on the Block... April 28, 2014 8 / 21 AQM mechanisms considered ARED The New AQM Kids on the Block (cont.) ARED – Adaptive RED I Tries to solve RED’s main problem of parameter tuning to keep the average queue length (N̄) around a desired target_queuing I target_queuing = (th_max + th_min)/2 I Observes N̄ to make RED more/less aggressive I Updates RED’s pmax adaptively (every 500 ms by default) using an AIMD policy I Only useful in fixed-BW scenarios (target_delay = target_queuing/BW ) N. Khademi, D. Ros, M. Welzl The New AQM Kids on the Block... April 28, 2014 9 / 21 Experimental Setup Experimental Setup I Traffic: 60 sec (or 300 sec if RTT=500 ms) of TCP traffic by iperf, repeated for 10 runs I AQM iface: GSO TSO off, BQL=1514, txqueuelen=1000 I TCP: Linux default with reno I Topology: Dumbbell with 4 sender-receiver pairs Model CPU RAM Ethernet Ethernet 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) Linux 3.8.2 (FC14) Linux 3.10.4 (AQM router) (FC16) N. Khademi, D. Ros, M. Welzl The New AQM Kids on the Block... 100 Mbps 100 Mbps 100 Mbps 100 Mbps 10 Mbps AQM 100 Mbps Dummynet router 100 Mbps 100 Mbps Bottleneck router 100 Mbps April 28, 2014 10 / 21 Experimental Setup Experimental Setup (cont.) I AQM parameters used unless otherwise noted. CoDel interval=100 ms target=5 ms ARED PIE 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 th_min 0.5 ∗ target th_max 1.5 ∗ target The New AQM Kids on the Block... April 28, 2014 11 / 21 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 The New AQM Kids on the Block... April 28, 2014 12 / 21 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 5 5 5 10 10 10 20 20 20 30 30 30 Target Delay (ms) CoDel 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 The New AQM Kids on the Block... April 28, 2014 13 / 21 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 The New AQM Kids on the Block... April 28, 2014 14 / 21 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 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 The New AQM Kids on the Block... April 28, 2014 15 / 21 Parameter Sensitivity Parameter Sensitivity (cont.) Goodput (Mbps) Target Delay 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 The New AQM Kids on the Block... April 28, 2014 16 / 21 Parameter Sensitivity Parameter Sensitivity (cont.) CoDel’s Dropping Mode Interval – Target Delay=5 ms 180 170 Goodput (Mbps) RTT (ms) 160 150 140 130 10 9.5 9 8.5 8 5 120 110 5 Light 100 5 5 Light 5 30 30 30 Interval (ms) Moderate 100 100 100 5 30 30 30 Interval (ms) Moderate 100 100 100 Heavy (j) Goodput Heavy (i) Per-packet RTT 4 senders, RTTbase =100 ms. N. Khademi, D. Ros, M. Welzl The New AQM Kids on the Block... April 28, 2014 17 / 21 Parameter Sensitivity Parameter Sensitivity (cont.) 240 230 220 210 200 190 180 170 160 150 140 130 120 110 100 Goodput (Mbps) RTT (ms) PIE’s t_update Interval – Target Delay=5 ms 10 9.5 9 8.5 8 5 5 Light 5 5 Light 5 30 30 30 Interval (ms) Moderate 100 100 100 5 30 30 30 Interval (ms) Moderate 100 100 100 Heavy (l) Goodput Heavy (k) Per-packet RTT 4 senders, RTTbase =100 ms. N. Khademi, D. Ros, M. Welzl The New AQM Kids on the Block... April 28, 2014 18 / 21 Conclusions and Future Work Conclusions I ARED: Only performed worse than CoDel or PIE with small number of flows I CoDel: Dropping mode interval can be reduced to lower the delay without degrading the goodput much I PIE (as implemented in Linux): Long distribution tail for low target delays Future Work I More realistic traffic types (here, only bulk TCP traffic) including bursty traffic I Simulations for environment parameters that cannot be produced with our testbed N. Khademi, D. Ros, M. Welzl The New AQM Kids on the Block... April 28, 2014 19 / 21 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 The New AQM Kids on the Block... April 28, 2014 20 / 21 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 The New AQM Kids on the Block... April 28, 2014 21 / 21