Transcript cntop 1406
Active Queue Management: Theory, Experiment and Implementation Vishal Misra Dept. of Computer Science Columbia University in the City of New York Collaborators •C.V. Hollot, Don Towsley: UMass Amherst •Victor Firoiu: Nortel Networks •Kevin Jeffay, Nguyen-Long Le, Don Smith: UNC Chapel Hill Outline • Investigating rate based control • Implementation of PI controller – Hardware – Software • Experiment – Performance evaluation under generated web traffic MGT Fluid-Flow Model TCP dynamic q W queue dynamic N R time delay R secs p AQM “oscillatory behavior increases with increasing roundtrip time” Kelly TCP dynamic W time delay R secs N R x p AQM “oscillatory behavior decreases with increasing roundtrip time” Paradox? • MGT model : control based on queue length (q) • Kelly model : control based on arrival rate (x) Rate Feedback p = g(x) = x C B Utilization with different B Rate Feedback p = g(x) = 1 W 2 (t ) W (t ) g (x (t R )) R 2R N x (t ) W (t ) R x x ref C B linearization 2 N W x ref W 2 0 W (t ) W (t ) g' R 0 RW0 2R C - 1 s RW2 0 p(t - R) W p time delay R secs N R W02 g' 2R x x (t R ) L(s) rate feedback loop p(t - R) W N g' 2 L(s ) 2R 2 s RW0 2 0 where W0 satisfies: g e sR x0 xref B C p W02N NR W0 x ref B 2 2R C C 2 s RW0 N 2 R W0 x ref 2 W0 C B 1 B (*) N=60 flows C=3750 packets/sec Stability (B=1) x ref C unstable for > 0.3 Stability distance of Nyquist plot from –1+j0 unstable for > 0.3 Simulations at RTT =300 ms N=60 flows C=3750 packets/sec Parabolic rate feedback B = 2 L(s ) W02N B NR W0 x ref 2R 2 C C 2 s RW0 B 1 B 2 W02N 2R 2C NR W0 x ref 2 C 2 s RW0 NW03 N W0 xref 2 R 2RC RW0 s 1 2 Where, W0 satisfies: W04 2xref N 2 R N R 2 W03 xref W02 2C 2 0 Multiple Equilibria (Throughput) Multiple Equilibria (Stability) N=60 flows C=3750 packets/sec Stability (B=2) x ref C unstable for > 0.8 Simulations at RTT = 300 ms N=60 flows C=3750 packets/sec Implementation and Experiments Implementing PI controller q(t) p(t) PI qref Integral controller, regulates router buffer to some operator controlled value qref Hardware Implementation • Active collaboration with two vendors on implementing PI on a router – Nortel Networks: Next generation edge router – Cisco: IOS on the 3260 platform Transitioning from theory to practice (Nortel) • Theory, Simulations: Worry about computations at one output queue, for a single class of traffic • Practice: Typical router has M (~ 512) queues, E (~ 8) classes Speed Issues Consider a 10 GBps router, 1000 byte average packet size •Theory: Sampling interval (say) 1 ms: computational overhead spread over 40000 packets: “lightweight computations” •Practice: Sampling interval 1ms, MxE (512x8) computations: spread over 10 packets: significant overhead! Memory issues • Theory: One drop/marking probability needs to be maintained • Practice: MxE values have to be maintained! • Hardware designers unwilling to allot memory real estate for AQM (relatively small part of a router) Solution: Discretize [0,1] and use small precomputed tables Architecture Packet from priority class i packet 0101 Table for class i 0101 .12767 Dropping module Lookup probability Append pointer to probability lookup table Small (~8) number of tables used with finite (~ 16) entries Open research issues • How do you discretize [0,1] ? – Linear is clearly not the answer: operating region typical below 0.2 • Given a typical operating range of p : what performance metric do we optimize? What is the cost function? Software StudyImplementation of AQM at UNCof PI • “Tuning RED for Web Traffic”, Sigcomm 2000 – Implemented RED on a software router (the ALTQ system running on FREEBSD) – Compared performance of RED and FIFO (Droptail) on a testbed with generated Web traffic: studied request completion latency – Conclusions: RED normally does not help, difficult to tune for scenarios when it can help (read: “RED only possibly helps in really extreme cases and even here it's hard as hell to get the settings right”) AQM bad idea? Handwaving explanation FIFO RED K B RTT p B K RTT p More losses, more retransmissions, more timeouts..-> higher latency! UNC Testbed PI Implementation on ALTQ • PI added as a module to ALTQ at UNC • Issues: no floating point arithmetic allowed, need to be careful about saturation, integer overflows! • Sigcomm 2000 experiments repeated under (nearly) identical conditions with PI as third mechanism • PI tuned using formula given in Infocom 2000 paper Cumulative probability Plot of CDF of response time of requests (80% load) Response time (ms) Cumulative probability Plot of CDF of response time of requests (100% load) PI, qref=20 FIFO, RED PI, qref=200 Response time (ms) Cumulative probability Plot of CDF of response time of requests (110% load) PI, qref=20 FIFO, RED PI, qref=200 Response time (ms) Preliminary conclusions • AQM may not be bad after all: PI/20 performs significantly better for short objects under heavy load • Experiments run with packet dropping, not ECN • ECN experiments planned: performance should improve dramatically over FIFO