Acknowledgments S. Athuraliya, D. Lapsley, V. Li, Q. Yin (UMelb) S. Adlakha (UCLA), J. Doyle (Caltech), K. Kim (SNU/Caltech), F. Paganini (UCLA), J. Wang (Caltech) L. Peterson, L. Wang (Princeton)
Copyright, 1996 © Dale Carnegie & Associates, Inc. Equilibrium & Dynamics of TCP/AQM Steven Low CS & EE, Caltech netlab.caltech.edu March 2002
Congestion Control Heavy tail Mice-elephants Elephant Internet Mice Congestion control efficient & fair sharing small delay queueing + propagation CDN
TCP x i (t)
TCP & AQM x i (t) p l (t) Example congestion measure p l (t) Loss (Reno) Queueing delay (Vegas)
TCP & AQM x i (t) p l (t) TCP: Reno Vegas AQM: DropTail RED REM
TCP & AQM x i (t) p l (t) TCP: Reno Vegas AQM: DropTail RED REM
Outline Protocol (Reno, Vegas, RED, REM/PI…) Equilibrium Performance Throughput, loss, delay Fairness Utility Dynamics Local stability Cost of stabilization
TCP Reno (Jacobson 1990) SS time window CA SS: Slow Start CA: Congestion Avoidance Fast retransmission/fast recovery
TCP Vegas (Brakmo & Peterson 1994) SS time window CA Converges, no retransmission … provided buffer is large enough
Model structure F1F1 FNFN G1G1 GLGL R f (s) R b ’ (s) TCP Network AQM Multi-link multi-source network x y q p
Reno: F for every ack (ca) {W += 1/W } for every loss {W := W/2 } x(t+1) = F( x(t), q(t) ) p(t+1) = G( p(t), y(t) ) Reno, Vegas DropTail, RED, REM
Reno: F for every ack (ca) {W += 1/W } for every loss {W := W/2 } x(t+1) = F( x(t), q(t) ) p(t+1) = G( p(t), y(t) ) Reno, Vegas DropTail, RED, REM
Reno: F for every ack (ca) {W += 1/W } for every loss {W := W/2 } x(t+1) = F( x(t), q(t) ) p(t+1) = G( p(t), y(t) ) Reno, Vegas DropTail, RED, REM
RED (Floyd & Jacobson 1993) Compute average queue length b l (t+1) = [b l (t) + y l (t) - c l ] + r l (t+1) = (1- ) r l (t) + b l (t) Mark with a probability r p l (r) 1 x(t+1) = F( x(t), q(t) ) p(t+1) = G( p(t), y(t) ) Reno, VegasDropTail, RED, REM
Summary: Reno/RED F1F1 FNFN G1G1 GLGL R f (s) R b ’ (s) TCP Network AQM x y q p
Overview Protocol (Reno, Vegas, RED, REM/PI…) Equilibrium Performance Throughput, loss, delay Fairness Utility Dynamics Local stability Cost of stabilization
Model c1c1 c2c2 Network Links l of capacities c l Sources s L(s) - links used by source s U s (x s ) - utility if source rate = x s x1x1 x2x2 x3x3
Flow control problem Assumptions Strictly concave increasing U s Unique optimal rates x s exist Direct solution impractical
Duality Approach Primal-dual algorithm:
Duality Model of TCP/AQM Primal-dual algorithm: Reno, VegasDropTail, RED, REM Source algorithm iterates on rates Link algorithm iterates on prices With different utility functions
Duality Model of TCP/AQM Primal-dual algorithm: Reno, VegasDropTail, RED, REM (x*,p*) primal-dual optimal if and only if
Duality Model of TCP/AQM Primal-dual algorithm: Reno, VegasDropTail, RED, REM Any link algorithm that stabilizes queue generates Lagrange multipliers solves dual problem
Summary: Reno Equilibrium characterization Congestion measure p = loss Implications Reno equalizes window w i = i x i inversely proportional to delay i dependence for small p queue length increases as load increases
Queue DropTail queue = 94% RED min_th = 10 pkts max_th = 40 pkts max_p = 0.1 p = Lagrange multiplier! p increasing in queue! REM queue = 1.5 pkts utilization = 92% = 0.05, = 0.4, = 1.15 p decoupled from queue
Summary: Vegas Delay Congestion measures = end to end queueing delay Sets rate Equilibrium condition: Little’s Law Fairness Utility Weighted proportional fairness Loss No loss if buffers are sufficiently large Otherwise: equilibrium not attainable, loss unavoidable (revert to Reno)
Summary: equilibrium Flow control problem TCP/AQM Maximize aggregate source utility With different utility functions Primal-dual algorithm Reno, Vegas DropTail, RED, REM
Outline Protocol (Reno, Vegas, RED, REM/PI…) Equilibrium Performance Throughput, loss, delay Fairness Utility Dynamics Local stability Cost of stabilization
Dynamics Small effect on queue AIMD Mice traffic Heterogeneity Big effect on queue Stability!
Stable: 20ms delay Window Ns-2 simulations, 50 identical FTP sources, single link 9 pkts/ms, RED marking
Queue Stable: 20ms delay Window Ns-2 simulations, 50 identical FTP sources, single link 9 pkts/ms, RED marking
Unstable: 200ms delay Window Ns-2 simulations, 50 identical FTP sources, single link 9 pkts/ms, RED marking
Unstable: 200ms delay Queue Window Ns-2 simulations, 50 identical FTP sources, single link 9 pkts/ms, RED marking
Other effects on queue 20ms 200ms 50% noise avg delay 16ms avg delay 208ms
Effect of instability Larger jitters in throughput Lower utilization No noise
Linearized system F1F1 FNFN G1G1 GLGL R f (s) R b ’ (s) TCP Network AQM x y q p
Linearized system F1F1 FNFN G1G1 GLGL R f (s) R b ’ (s) x y q p TCPREDqueuedelay
Stability condition Theorem TCP/RED stable if
Stability condition Theorem TCP/RED stable if Small Slow response Large delay
Stability condition Theorem TCP/RED stable if
Validation
Stability region Unstable for Large delay Large capacity Small load
Role of AQM (Sufficient) stability condition
Role of AQM (Sufficient) stability condition TCP: AQM: scale down K & shape H
Role of AQM TCP: RED:REM/PI: Queue dynamics (windowing) Problem!!
Role of AQM (Kim 2002) To stabilize a given TCP F i with least cost Linearized F, single link, identical sources Any AQM solves optimal control with appropriate Q and R
Role of AQM (Kim 2002) To stabilize a given TCP F i with least cost Linearized F, single link, identical sources k 1 =0 Nonzero buffer k 3 =0 Slower decay
Role of AQM (Kim 2002) To stabilize a given TCP F i with least cost Linearized F, single link, identical sources
Papers Scalable laws for stable network congestion control (CDC2001) A duality model of TCP flow controls (ITC, Sept 2000) Optimization flow control, I: basic algorithm & convergence (ToN, 7(6), Dec 1999) Understanding Vegas: a duality model (J. ACM, 2002) REM: active queue management (Network, May/June 2001) netlab.caltech.edu