Improving Adaptability and Fairness in Internet Congestion Control May 30, 2001 Seungwan Ryu PhD Student of IE Department University at Buffalo I. Internet Congestion Control Internet Congestion Control Mathematical Modeling and Analysis Adaptive AQM and User Response Future Study Plan 2 I. Internet Congestion Control What is Congestion ? Congestion Control and Avoidance Implicit vs. Explicit feedback TCP Congestion Control Active Queue management (AQM) Explicit Congestion Notification (ECN) 3 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 loss Low link utilization (low Throughput) High queueing delay Congestion collapse 4 Congestion Control and Avoidance Two approaches for handling Congestion Congestion Control (Reactive) • Play after the network is overloaded Congestion Avoidance (Proactive) • Play before the network becomes overloaded 5 Implicit vs. Explicit feedback Implicit feedback Congestion Control Network drops packets when congestion occur Source infer 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) 6 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 7 TCP Congestion Control Use end-to-end congestion control use implicit feedback • e.g., time-out, triple duplicated ACKs, etc. use window based flow control • cwnd = min (pipe size, rwnd) • self-clocking • slow-start and congestion avoidance Examples: • TCP Tahoe, TCP Reno, TCP Vegas, etc. 8 TCP Congestion Control - 2 cwnd Slow-start and Congestion Avoidance Slow Start Congestion Avoidance W 4 W+1 2 1 RTT RTT Time 9 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 (i.e., network) Control congestion effectively with a network Allocate bandwidth fairly 10 AQM - 2 Problems with current router algorithm Use FIFO based tail-drop (TD) queue management Two drawbacks with TD: lock-out, full-queue Possible solution: AQM Drop packets before buffer becomes full Examples: RED, BLUE, ARED, SRED, FRED,…. Use (exponentially weighted) average queue length as an congestion indicator 11 AQM - 3 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 12 RED P 1 maxp minth maxth K 13 Active Queue Management (AQM) - 4 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 14 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 15 ECN - 2 ECT IP Header CE 1 ECT 0 CE 1 1 1 TCP Header 0 0 CWR CWR 2 1 ACK TCP Header ECN-Echo TCP Header 3 1 CWR Source 4 Router Destination 16 Contents Internet Congestion Control Mathematical Modeling and Analysis Adaptive AQM and User Response Future Study Plan 17 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 18 Overview Goal of mathematical modeling see system dynamics (in steady state) capture main factors influence to performance provide design and/or operational recommendations Two approaches Modeling steady state TCP behaviors • the square root law, PFTK • assume TD queue management at the router Mathematical modeling and analysis of AQM (RED) 19 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 20 Mathematical Modeling of AQM Window based packet switching Model (Yang 99) If link j is not congested nsj 0, Q j 0 s S ( j ), j C j s s j If link j is congested nsj 0, Q j 0 s S ( j ), j C j s s j 21 Mathematical Modeling of AQM - 2 Window size of an individual connection Since nsj Qj s Cj Q j 0 (1) Qj Ws s Rs jJ ( s ) nsj s j Rs s S ( j ) C j Limitation of this model Assume infinite buffer size • No buffer overflow • No packet drop • No queue management algorithm at routers 22 Mathematical Modeling of AQM - 3 A simple AQM model Sources s1 1 S2 AQM Router 2 Bottleneck Link Destination C S K Min_th SS 23 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 • Our Model: • Yang’s Model: s s C , s s (1 pd ) s s C, s s 24 Mathematical Modeling of AQM - 5 Case 1: Tail drop We obtain two relationship nsj Qj W s Cj Q j 0 , s s ( Rs s s C ( 2) Qs Q ) R C C Finally, packet drop probability Pd: W 1 pd ( R Q ) C 0 if C if C 25 Mathematical Modeling of AQM - 6 Case 2: AQM Q Q min th s ns Let Then Q W (1 pd )( R ) C Packet drop prob. Pd: W 1 pd ( R Q ) C 0 if C , Q min th O.w. 26 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 27 Mathematical Modeling of AQM - 8 Packet drop function p d f ( ) Reason • The traffic load fluctuate, NOT stay in equilibrium • queue length is a function of input traffic Alternatively: pd f ( , Q) 28 Problems with existing AQMs Mismatch between macroscopic and microscopic behavior of queue length Insensitivity to the input traffic load variation parameter configuration problem 29 Problems with existing AQMs - 2 Mismatch problem Internet Traffic Generation 40 35 25 20 15 10 5 time 31 28 25 22 19 16 13 10 7 4 0 1 Window size 30 30 Problems with existing AQMs - 3 Mismatch between macroscopic and microscopic behavior of queue length Rho Actual Wq=0.02 Wq=0.1 25 20 Queue Length 15 10 5 0 1 6 11 16 21 26 31 Time 31 Problems with existing AQMs - 4 Insensitivity to the input traffic load variation With light traffic (i.e., 0.3, 0.5 ) 32 Problems with existing AQMs - 5 Insensitivity to the input traffic load variation With medium traffic (i.e., 0.7, 0.9 ) 33 Problems with existing AQMs - 6 Insensitivity to the input traffic load variation With heavy traffic (i.e., 1.1, 1.4 ) 34 Problems with existing AQMs - 7 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) 35 Contents Internet Congestion Control Mathematical Modeling and Analysis Adaptive AQM and User Response Future Study Plan 36 III. Adaptive AQM and User Response Input traffic load Prediction Adaptive AQM algorithms Adaptive parameter configuration Adaptive User response algorithm 37 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 Qt 1 (t 1 C ) Qt • Predict ˆt 1 from measured input traffic t-1, t of past two time slots • Then, predict Q̂t 1 of next time slot t 38 Adaptive AQM algorithms Algorithm I: E-RED and E-GRED Enhanced-RED 0, Q̂ minth p max p t 1 maxth minth 1 Q̂t 1 minth minth Q̂t 1 maxth maxth Q̂t 1 E-GRED: similar to E-RED 39 Adaptive AQM algorithms - 2 Algorithm II: Use both predicted traffic intensity buffer utilization t=Qt/K Possible algorithms: 1 ˆ t 1t , 2 ˆ t2 1t , ˆ tand current 1 3 2 ˆ t t 1 Example: • If t is low and ˆ t 1 is high: more penalty to incoming packets • If t is high and ˆ t 1 is low: more penalty on existing packets • Only High penalty for both packets when t and ˆ t 1 are high 40 Adaptive AQM algorithms - 3 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 Q̂t 1 with BLUE • Impose penalty according to the traffic situation ( Qt, Q̂t 1) 41 Adaptive AQM algorithms - 4 E-BLUE If max(Q̂t 1 ,0 ) 0, then pd = pd- Else if VL < Q̂t 1<VU, pd ( Q̂t 1 Qt ) pd pd ( Qt Q̂t 1 ) for arriving for existing • Else (Q̂t 1>VU) 1 pd min pd ( Qt Q̂t 1 ),1 for for arriving existing • pd=pd+ 42 Adaptive parameter configuration Adaptive queue length sampling interval t Previous recommendations • In [22], minimum RTT was recommended • In [65], static and link speed independent value was recommended • However, models of [22, 65] were assumed to have persistent 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) 43 Adaptive parameter configuration - 2 Q (i-1) i (i+1) (i+2) Time 44 Adaptive parameter configuration - 3 Adaptive filtering weight wq In RED, wq was recommended with 0.02 for long-term (macroscopic) performance goal Fixed small value of wq shows problems • Parameter setting problem • Insensitivity of control function to the change of traffic • Fairness problem: impose penalty to innocent packets Need to have adaptive wq to the change of traffic load One possible method: • Set wq as a function of current queue utilization, • e.g., wq = Qt/C , 0 < < 1 45 Adaptive User response algorithm AQM need work with intelligent source response for better performance Enhanced-ECN If receive ECN feedback in (t-1) • If No ECN feedback in t If received ACK > 0 Else W W M /W M W W M /W • Else, Continue usual response to ECN feedback Else, Continue TCP Congestion Avoidance 46 Contents Internet Congestion Control Mathematical Modeling and Analysis Adaptive AQM and User Response Future Study Plan 47 IV. Future Study Plan Future Study plan: a schedule Mathematical Modeling and Analysis Stability and Control Dynamics Alternative Modeling Control Theoretic Consideration Simulation plan Traffics Performance Metrics 48 Future Study plan: a schedule Documentation: Mathematical Modeling and Analysis Simulation plan Performance Metrics 49 Mathematical Modeling and Analysis Since p=f(,q) , Then find equilibrium point (*,p*) p =g(p) T ( , q) (1 p) C (1 p) R p P=f() (*,p*) 50 Mathematical Modeling and Analysis - 2 Alternative Modeling: State dependent service M/M/1 queueing model 0 1 C L-1 C L C L-1 (C+p1) K-1 (C+pK’-1) K C+ L=minth, K’=K-minth 51 Mathematical Modeling and Analysis - 3 Service rates Steady state probabilities Qi min th C, S C pi, min th Qi K C , K Qi ( ) i 0 , i min th C i min th min th i 0 , min th i K j1 ( C ) ( C p ) i 1 min th K min th ( )i ij1min th i0 , ( C ) ( C p ) i 1 C i min th 1 i 52 Mathematical Modeling and Analysis - 3 Control Theoretic Consideration Control Function S t Queue dynamics Router Buffer t(1-p) D ACK (or NACK) 53 Simulation plan Goal of simulation study See dynamics and performance of our AQM Compare results with other AQM such as RED Use realistic traffic previous studies has been done with simple and unreal traffic (fixed number of persistent TCPs) Generate realistic Internet traffic • Long-lived (FTP) and short-lived (web-like) TCP traffic • UDP traffic: CBR and/or ON/OFF 54 Performance Metrics TCP traffics Network-centric: for aggregate traffic • Throughput (or goodput) • Packet dropping (marking) probability • Link utilization (or queueing delay) User-centric: for Individual traffic • goodput (or throughput) • mean response time (RTT) UDP traffic • individual packet drop probability and its distribution 55