Blue: An Alternative Approach to Active Queue Management Wu-chang Feng June 23, 2001
Outline Motivation Congestion control and queue management today (TCP, Drop-tail, RED) Blue Conclusion
Motivation Exponential increase in network demand Goal Rise in packet loss rates 17% loss rates reported [Paxson97] Decrease in link utilization and goodput Potential for congestion collapse [Jacobson88] Goal Queue management algorithms for maximizing network efficiency in times of heavy congestion 0% packet loss, 100% link utilization, low queuing delay
Congestion control today TCP Instrumental in preventing congestion collapse Limits transmission rate at the source Window-based rate control Increased and decreased based on implicit signals from the network (acknowledgments and packet loss) Slow-start Fast-retransmit, Fast-recovery Congestion avoidance
Drop-tail queue management Default queue management mechanism Packets dropped upon queue overflow Problems Global synchrony (poor utilization) Late congestion notification (packet loss) Solution Randomize Early detection of incipient congestion
RED queue management RED (Random Early Detection) [Floyd93] Keep EWMA of queue length (Qave) using weight wq Increase in EWMA triggers random drops Basic algorithm 1 Pdrop maxp minth maxth Qave
Problems with RED Hard to tune Does not adapt well to traffic [Feng99], [Anjum99], [Christiansen2000], [May99], [Ott99], …. Why? Wrong control variable being used Queue length indicates congestion not severity
Blue Class of fundamentally different queue management algorithms Decouple congestion management from queue length Rely only on queue and link history Example Increase aggressiveness when loss rates high Decrease aggressiveness when link underutilized
RED example Sending rate increases above L Mbs Queue increases some more Rate > L Mbs Sinks generate DupACKs/ECN DupACKs/ECN travel back Queue increases some more Rate > L Mbs L Mbs Sources A B Sinks Sources detect congestion Queue overflows, maxth triggered Queue clears, but under-utilization imminent Sources see sustained CN Rate < L Mbs Rate > L Mbs Queue increases Queue increases, EWMA increases to trigger RED Rate > L Mbs
Ideal example (Blue) L Mbs Sources A B Sinks Rate = L Mbs Sinks generate DupACKs/ECN Queue drops and/or ECN marks at steady rate Rate = Exactly what will keep sources at L Mbs
Example Blue algorithm Single dropping/marking probability Increase upon packet loss Decrease when link underutilized Freeze value upon changing Upon packet loss: if ((now - last_update) > freeze_time) then Pmark = Pmark + d1 last_update = now Upon link idle: Pmark = Pmark - d2
Blue parameter selection freeze_time: set to prevent multiple updates on a single round-trip (~10ms-100ms) d1/d2: set to allow pm to range from 0 to 1 on the order of seconds [Paxson97], [Balakrishnan98]
Evaluation 1000 and 4000 Pareto on/off TCP sources Router queue sizes 100KB (17.8ms) to 1000KB (178ms) RED (wq = 0.0002, 0.002, 0.02, 0.2) Blue freeze_time = 10ms, 100ms d1 = 0.02, 0.0025 ; d2 = 0.002, 0.00025 100 Mbs 100 Mbs 45 Mbs 45 Mbs 10ms 10ms 1ms, 5ms, 20ms 1ms, 5ms, 20ms
Blue evaluation 1000 sources
Blue evaluation 4000 sources
Understanding Blue Experiment Queue length plots 50 sources added every 10 seconds Queue length plots Blue RED
Understanding Blue Marking behavior RED Blue
Understanding Blue w/ECN timeouts Lack of ECN timeouts allows packet loss with pm=1 With ECN timeouts Blue similarly outperforms RED RED Blue
Understanding Blue w/ECN timeouts Marking behavior RED Blue
Blue evaluation w/ECN timeouts 1000 sources
Blue evaluation w/ECN timeouts 4000 sources
Implementation FreeBSD 2.2.7 + ALTQ Winbook XL (233 MHz/32 MB) IBM PC 365 (200 MHz/64 MB) 100 Mbs 100 Mbs 10 Mbs Intellistation Mpro (400 MHz/128 MB) Intellistation Zpro (200 MHz/64 MB) Thinkpad 770 (266 MHz/64 MB) IBM PC 360 (150 MHz/64 MB)
Blue Evaluation Loss rates Link utilization
Conclusion