1 / 69

Internet Congestion Control with Active Queue Management (AQM)

Internet Congestion Control with Active Queue Management (AQM). September 4, 2001 Seungwan Ryu (sryu@eng.buffalo.edu) PhD Student of IE Department University at Buffalo. Contents. Internet Congestion Control Mathematical Modeling and Analysis Adaptive AQM and User Response

sancho
Download Presentation

Internet Congestion Control with Active Queue Management (AQM)

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Internet Congestion Control with Active Queue Management (AQM) September 4, 2001 Seungwan Ryu (sryu@eng.buffalo.edu) PhD Student of IE Department University at Buffalo

  2. Contents • Internet Congestion Control • Mathematical Modeling and Analysis • Adaptive AQM and User Response • Further studies

  3. I. Internet Congestion Control • Internet Traffic Engineering • What is Congestion ? • Congestion Control and Avoidance • Implicit vs. Explicit feedback • TCP Congestion Control • Active Queue management (AQM) • Explicit Congestion Notification (ECN)

  4. Internet Traffic Engineering • Measurement: for reality check • Experiment: for Implementation Issues • Analysis: • Bring fundamental understanding of systems • May loose important facts because of simplification • Simulation: • Complementary to analysis: Correctness, exploring complicate model • May share similar model to analysis

  5. What is congestion ? • What is congestion ? • The aggregate demand for bandwidth exceeds the available capacity of a link. • What will be occur ? • Performance Degradation • Multiple packet losses • Low link utilization (low Throughput) • High queueing delay • Congestion collapse

  6. What is congestion ? - 2 Congestion Control • Open-loop control • Mainly used in circuit switched network (GMPLS) • Closed-loop control • Mainly used in packet switched network • Use feedback information: global & local • Implicit feedback control • End-to-end congestion control • Examples: • TCP Tahoe, TCP Reno, TCP Vegas, etc. • Explicit feedback control • Network-assisted congestion control • Examples: • IBM SNA, DECbit, ATM ABR, ICMP source quench, RED, ECN

  7. Congestion Control and Avoidance • Two approaches of handling Congestion • Congestion Control (Reactive) • Play after the network is overloaded • Congestion Avoidance (Proactive) • Play before the network becomes overloaded

  8. Implicit vs. Explicit feedback • Implicit feedback Congestion Control • Network drops packets when congestion occur • Source infers congestion implicitly • time-out, duplicated ACKs, etc. • Example: end-to-end TCP congestion Control • Simple to implement but inaccurate • implemented only at transport layer (e.g., TCP)

  9. Implicit vs. Explicit feedback - 2 • Explicit feedback Congestion Control • Network component (e.g., router) provides congestion indication explicitly to sources • use packet marking, or RM cells (in ATM ABR control) • Examples: DECbit, ECN, ATM ABR CC, etc. • Provide more accurate information to sources • But is more complicate to implement • Need to change both source and network algorithm • Need cooperation between sources and network component

  10. TCP Congestion Control • Uses end-to-end congestion control • uses implicit feedback • e.g., time-out, triple duplicated ACKs, etc. • uses window based flow control • cwnd = min (pipe size, rwnd) • self-clocking • slow-start and congestion avoidance • Examples: • TCP Tahoe, TCP Reno, TCP Vegas, etc.

  11. cwnd Slow Start Congestion Avoidance W* W+1 W 4 W*/2 2 1 RTT Time RTT TCP Congestion Control - 2 • Slow-start and Congestion Avoidance

  12. TCP Congestion Control - 3 • TCP Tahoe • Use slow start/congestion avoidance • Fast retransmit: an enhancement • detect packet (segments) drop by three duplicate ACKs • W = W/2, and enter congestion avoidance • TCP Reno (fast recovery) • Upon receiving three duplicate ACKs • ssthresh = W/2, and retransmit missing packets • W = ssthresh +3 • Upon receiving next ACK: W = ssthresh • Allow the window size grow fast to keep the pipeline full

  13. TCP Congestion Control - 3 • TCP SACK (Selected Acknowledgement) • TCP (Thaoe) sender can only know about a single lost per RTT • SACK option provides better recovery from multiple losses • The sender can transmit all lost packets • But those packets may have already been received • Operation • Add SACK option into TCP header • The receiver sends back SACK to sender to inform the reception of the packet • Then, the sender can retransmit only the missing packet

  14. Active Queue Management (AQM) - 1 • Performance Degradation in current TCP Congestion Control • Multiple packet loss • Low link utilization • Congestion collapse • The role of the router becomes important • Control congestion effectively in networks • Allocate bandwidth fairly

  15. AQM - 2 • Problems with current router algorithm • Use FIFO based tail-drop (TD) queue management • Two drawbacks with TD: lock-out, full-queue • Lock-out: a small number of flows monopolize usage of buffer capacity • Full-queue: The buffer is always full (high queueing delay) • Possible solution: AQM • Definition: A group of FIFO based queue management mechanisms to support end-to-end congestion control in the Internet

  16. AQM - 3 • Goals of AQM • Reducing the average queue length: • Decreasing end-to-end delay • Reducing packet losses: • More efficient resource allocation • Methods: • Drop packets before buffer becomes full • Use (exponentially weighted) average queue length as an congestion indicator • Examples: RED, BLUE, ARED, SRED, FRED,….

  17. AQM - 4 • Random Early Detection (RED) • use network algorithm to detect incipient congestion • Design goals: • minimize packet loss and queueing delay • avoid global synchronization • maintain high link utilization • removing bias against bursty source • Achieve goals by • randomized packet drop • queue length averaging

  18. P 1 maxp minth maxth K RED

  19. Concept To avoid drawbacks of RED Parameter tuning problem Actual queue length fluctuation Decouple congestion control from queue length Use only loss and idle event as an indicator Maintains a single drop prob., pm Drawback Can not avoid some degree of multiple packet loss and/or low utilization Algorithm Upon packet loss if (now - last_update >freeze_t) Pm = pm + d1 last_update = now upon link idle if (now - last_update >freeze_t) Pm = pm - d2 last_update = now AQM - 5 : BLUE

  20. Concept stabilize queue occupancy use actual queue length Penalize misbehaving flows Drawbacks P(i)-1 is not a good estimator for heterogeneous traffic Parameter tuning problem: Psred, Pzap, etc. Stabilize queue occupancy when traffic load is high. (When load is low ?) Algorithm ith arriving packet is compared with a randomly selected one from Zombie list Hit = 1, if they are from same flow = 0, if NOT p(i)=hit frequency=(1-)p(i-1)+Hit p(i)-1: estimator of # of active flows Packet drop probability AQM - 6 : SRED

  21. AQM - 7 : ARED • Adapt aggresiveness of RED according to the traffic load change • adapt maxp based on queue behavior • Operation • Increase maxp when avgQ crosses above maxth • Decrease maxp when avgQ crosses below minth • freeze maxp after changing to prevent oscillation

  22. AQM - 8 • Problems with existing AQM Proposals • Mismatch between macroscopic and microscopic behavior of queue length • Insensitivity to the change of input traffic load • Configuration (parameter setting) problem • Reasons: • Queue length averaging • use inappropriate congestion indicator • Use inappropriate control function

  23. Explicit Congestion Notification (ECN) • Current congestion indication • Use packet drop to indicate congestion • source infer congestion implicitly • ECN • to give less packet drop and better performance • use packet marking rather than drop • need cooperation between sources and network • need two bits in IP header: ECT-bit, CE-bit

  24. ECT CE ECT CE 1 0 1 1 IP Header 1 TCP Header 0 0 2 CWR CWR 1 ACK TCP Header ECN-Echo 3 TCP Header 1 CWR 4 Source Router Destination ECN - 2

  25. Contents • Internet Congestion Control • Mathematical Modeling and Analysis • Adaptive AQM and User Response • Further Studies

  26. II. Mathematical Modeling and Analysis • An Overview • Mathematical Modeling of AQM • Window based packet switching and the Internet • Mathematical modeling and analysis of AQM • Problems with existing AQMs • Problems with existing AQMs • Adaptive congestion indicator and control function

  27. Overview - 1 • Goal of mathematical modeling • See steady state system dynamics • Capture main factors influence to performance • Provide recommendations for design and operation • Two approaches for TCP Congestion Control • Modeling steady state TCP behaviors • the square root law*, PFTK [Padhye et al., 1998] • assume TD queue management at the router • Mathematical modeling and analysis of AQM (RED) *: , T: Throughput, p: constant drop rate

  28. Overview - 2 • AQM modeling and analysis • Analytic modeling and analysis • Control Theoretic Analysis • Window based modeling and Analysis • Assumptions • Poisson assumption for input traffic • Fixed number of persistent TCP traffics • Steady state window size saturation

  29. Mathematical Modeling of AQM - 1 • Window based packet switching Model (Yang 99) • Determine the steady state window size, Ws, of each flow sS • If link j is not congested • If link j is congested

  30. Mathematical Modeling of AQM - 2 • Window equation for an individual flow • Since • Limitation of this model • Assume infinite buffer size • No buffer overflow • No packet drop • No queue management algorithm at routers

  31. A simple AQM model Sources s1 1 AQM Router Destination Bottleneck Link S2 2 C S K Min_th SS Mathematical Modeling of AQM - 3

  32. Mathematical Modeling of AQM - 4 • Extend Yang’s Model to AQM model • Finite buffer capacity K • The router use AQM to control congestion • When congested • Yang’s Model: • Our Model:

  33. Mathematical Modeling of AQM - 5 • Case 1: Tail drop • Packet drop probability Pd:

  34. Mathematical Modeling of AQM - 6 • Case 2: AQM • Let • Then since • Packet drop prob. Pd:

  35. Mathematical Modeling of AQM - 7 • Congestion Indicator • Input traffic load should be the congestion Indicator • Current AQMs • Use queue length Q as an alternative • Assume that the input traffic load  is fixed in equilibrium • Reason • can not measure(or estimate)  exactly for on line implementation of packet drop function

  36. Mathematical Modeling of AQM - 8 • Packet drop function • Reason • The traffic load fluctuate, NOT stay in equilibrium • queue length is a function of input traffic • Alternatively:

  37. Problems with existing AQMs • Mismatch between macroscopic and microscopic behavior of queue length • Insensitivity to the input traffic load variation • parameter configuration problem

  38. Problems with existing AQMs - 2 • Mismatch problem

  39. Problems with existing AQMs - 3 • Mismatch between macroscopic and microscopic behavior of queue length  2.0 1.5 1.0 0.5 0

  40. 0.3 0.5 0.7 0.9 1.1 1.3 : u=0.7 : u=0.45 : u=0.25 : RED : GRED : Scheme III Problems with existing AQMs - 4 • Insensitivity to the input traffic load variation • Schemes: I:RED, II:GRED, III:

  41. Problems with existing AQMs - 5 • Parameter configuration problem • Has been a main design issue since 1993 • Many modified AQMs has been proposed • Verified with simple simulation or simple experiment • good for particular traffic conditions • Real traffic is totally different. • Need adaptive congestion indicator and control function • Adaptive to input traffic load variation • Avoid congestion NOT based on current state (i,e,. Q)

  42. Contents • Internet Congestion Control • Mathematical Modeling and Analysis • Adaptive AQM and User Response • Further Studies

  43. III. Adaptive AQM and User Response • Input traffic load Prediction • Adaptive AQM algorithms • Adaptive parameter configuration • Adaptive User response algorithm

  44. Input traffic load Prediction • Consider time-slotted model • Time is divided into unit time slots, t, t=0,1,… • calculate parameters at the end of each slot • estimate Qt+1 to detect congestion proactively • Predict from measured input traffic t-1, t of past two time slots • Then, predict of next time slot t

  45. Adaptive AQM algorithms • Algorithm I: E-RED and E-GRED • Enhanced-RED • E-GRED: similar to E-RED

  46. Adaptive AQM algorithms - 2 • Algorithm II: • Use both predicted traffic intensity and current buffer utilization t=Qt/K • represents imminent traffic changes in near future • t represents current status of traffic • Possible algorithms:

  47. Adaptive AQM algorithms - 3 • Example: • maintain Qindex to impose appropriate drop rate adaptively to traffic load change • Then, • If t is low and is high: more penalty to incoming packets • If t is high and is low: more penalty on existing packets • Only High penalty for both packets when t and are high

  48. Adaptive AQM algorithms - 4 • Algorithm III: E-BLUE • BLUE Algorithm • uses packet drops and link idle for adjusting packet drop probability • Can not avoid some degree of performance degradation • Enhancement • Use Virtual lower/upper bound (VL, VU) • Combine predicted queue length with BLUE

  49. Adaptive parameter configuration • Adaptive queue length sampling interval t • Previous recommendations • In [Firoiu et al.], minimum RTT was recommended • In [Hollot et al.], static and link speed independent value was recommended • However, above recommendations were obtained from assumptions of persistent and fixed N TCP traffics • Our recommendation • The amount of incoming traffic fluctuate with time • Adjust t according to the varying traffic situation (i.e., adjust t according to the amount of input traffic)

  50. Adaptive parameter configuration - 2 Q (i-1) Time i (i+1) (i+2)

More Related