190 likes | 479 Views
A Comparison of Load-based and Queue-based Active Queue Management Algorithms. Minseok Kwon and Sonia Fahmy Department of Computer Sciences Purdue University {kwonm, fahmy}@cs.purdue.edu All our slides and papers are available at: http://www.cs.purdue.edu/~fahmy/. Congestion Control.
E N D
A Comparison of Load-based and Queue-based Active Queue Management Algorithms Minseok Kwon and Sonia Fahmy Department of Computer Sciences Purdue University {kwonm, fahmy}@cs.purdue.edu All our slides and papers are available at: http://www.cs.purdue.edu/~fahmy/
Congestion Control Active Queue Management (AQM) TCP Congestion Control
TCP Congestion Control Slow-Start Congestion Avoidance cwnd Additive Increase Multiplicative Decrease (AIMD) ssthresh 1 TCP-Reno time 3 DupAck Timeout new ssthresh = cwnd / 2
Why Active Queue Management? • Controls average queue size. • Absorbs bursts without dropping packets. • Prevents bias against bursty connections. • Avoids global synchronization of TCP. • Reduces the number of timeouts in TCP. • Punishes misbehaving flows.
Queue-based Active Queue Management • RED [Floyd and Jacobson, 1993] • Drops packets probabilistically in proportion to a long term average queue length (buffer occupancy). • SRED [Ott et al., 1999] • The packet loss probability is proportional to the instantaneous buffer occupancy and the estimated number of active flows. • FRED [Lin and Morris, 1997] • Imposes on each flow a loss probability proportional to the flow average and instantaneous buffer occupancy. • BLUE [Feng et al., 2001] • Increments the packet drop probability when packet loss occurs and decrements the packet drop probability if the link is idle.
Load-based Active Queue Management • REM [Athuraliya et al., 1999] • Congestion measure (price) is computed proportionally to the difference between input rate and output rate and current buffer occupancy at router. Source rate is computed inversely proportional to the congestion measure. Thus, the source reaches a globally optimal equilibrium. • AVQ [Kunniyur and Srikant, 2001] • Maintains a virtual queue. When the virtual queue overflows, packets in a real queue are marked/dropped. The virtual capacity is modified such that total flows achieve a desired utilization of the link. • PI controller [Hollot et al., 2001] • Queue length slope determines packet drop probability and the queue is regulated to the desired queue length.
Pdrop/mark 1 Pmax Qavg 0 Thmin Thmax Queue-based AQM: RED No dropping or marking Drop with P=1 Mark with P Linearly increasing From 0 to Pmax Average Queue Length Drop Probability P
Small drop probability From small queue Large queue After some period Large drop probability From large queue Small queue After some period Drawbacks of Queue-based AQM • Insensitive to current queue arrival and drain rates. • Long term queue length average produces slow response. • Difficult to configure parameters.
Objectives • Is queue length a sufficient congestion indicator? • Can we use load information for more precise congestion indication? • Is queue length information still important, even when the load information is used? • How do RED, SRED, FRED, BLUE, and REM compare in terms of user-perceivable metrics, such as Web response time? • Can we achieve both high responsiveness and high throughput?
Load/Delay Control (LDC) • Load factor • R = queue arrival rate / queue service rate • Provides better load (input/output rate) response and more intuitive parameters. • Maintains RED benefits: misbehaving flow punishment and global synchronization avoidance. • Unlike many load-based schemes, ECN is not required.
Load/Delay Control (LDC) • Uses both queue length information and load factor as multiple time scale congestion indicators. • Long-term: Queue length gives a more stable (slower) congestion indication. • Short-term: Load factor enables faster response. • Goal: Maintain queuing delay below a target value and queue arrival rate below queue service rate.
Load/Delay Control (LDC) • Packet drop probability of LDC
Performance Evaluation • Network simulator ns-2.1b6 • GFC-2 Configuration • 22 HTTP on each sender-receiver pair, 1 unlimited FTP (H), 12 kbps CBR-UDP (F) • Average 5 simulation runs, each runs 900 seconds • Performance Metrics • Web response time (seconds), Goodput (Mbps), Packet Drop ratio (%), Delay for UDP connections (seconds)
Simulation Parameters • RED • Thmin=buffer/12, Thmax=buffer/4, w_q=0.002, max_p=0.1, gentle RED • SRED • Full SRED, max_p=0.15, M=1000, p=0.25 • FRED • Min_q=4, others same as RED • BLUE • Decrement =0.02, increment=0.2, freeze_time=0.1 s • REM • =0.1, =0.005, =1.001, w_q=0.002, =0.002 s • LDC • D_target=4.0 s, (w_q=0.002, w_r=0.998, n=3, R_target=0.95, =0.002 s)
RED Merits Early congestion detection No bias against bursty traffic No global synchronization Drawbacks Difficulty in parameter setting Insensitivity to traffic load and drain rates SRED Merits Stabilized queue occupancy Protection from misbehaving flows Drawbacks Some per-flow state (zombie list) RED disadvantages Merits and Drawbacks of AQM
FRED Merits Good protection from misbehaving flows Drawbacks Per-flow state RED disadvantages BLUE Merits Simplicity High throughput Drawbacks No early congestion detection (Pdrop updated only on queue overflow or link idle events) Slow response and dependence on history Merits and Drawbacks of AQM
REM Merits Low delay and small queues Independence of the number of users Drawbacks Some complexity due to parameters Low throughput for Web traffic Inconsistency with TCP sender mechanism; works best with ECN LDC Merits Sensitivity to traffic load and drain rate Low delay Target delay achieved Intuitive parameters, meaningful to users (target delay) Drawbacks Some complexity due to parameters Low throughput in some cases Merits and Drawbacks of AQM
Conclusions and Future Work • Queue-based algorithms are difficult to configure. • Load-based algorithms reduce delay, but sometimes exhibit low throughput. • A configurable combination that takes into consideration input rate, drain rate and queuing delay works well. • Need to study LDC with ECN, parameter values of LDC, and the effect of variable output rate in multiple queues.