, 2013 Performance Evaluation of Computer Networks Objectives Explain the role of active queue management in performance optimization of TCP/IP networks Learn a range of active queue management algorithms Gain insight into performance analysis of active queue management algorithms Week 8 Active Queue Management Mujdat Soyturk, Ph.D. Asst. Prof. Slides and notes are based on the textbook High Performance TCP/IP Networking, Hassan-Jain, Prentice Hall, 2004 8-2 Contents Passive queue management Active queue management (AQM) Comparison of AQM algorithms AQM and Differentiated Service Passive Queue Management Slides and notes are based on the textbook High Performance TCP/IP Networking, Hassan-Jain, Prentice Hall, 2004 8-3 8-4 Passive Queue Management Two states: No packet drop No early congestion warning to senders 100% packet drop Cause all senders to back off Passive Queue Management Algorithms Drop Tail Drop Tail Drop packets from the tail of the queue All arriving packets are dropped one the queue size reaches a certain threshold 8-5 8-6 1
Passive Queue Management Algorithms Drop From Front Drop from Front Drop packets from the front of the queue Drop the packet in the buffer with the oldest age Passive Queue Management Algorithms Push Out Push out The latest buffered packet is pushed out from the queue Make room for a newly arriving packet 8-7 8-8 Problems with Passive Queue Management A trade-off between the buffer size and QoS Larger throughput results in higher throughput, but longer delay Lock out: A single connection monopolises the buffer space Give rise to fairness problem Full queue: Queue is full for a long period of time Long queuing delay Active Queue Management 8-9 8-10 Active Queue Management (AQM) Provide preventive measures to manage a buffer to eliminate problems associated with PQM Characteristics: Preventive random packet drop is performed before the buffer is full (to warn the sender to reduce the traffic) The probability of preventive packet drop increases with the increasing level of congestion Random drops to avoid global synchronization Goals: Reduce dropped packets (to improve throughput) Support low-delay interactive services (with small size buffer) Avoid lock-out (share bandwidth fairly) Random Early Detection (RED) A router maintains two thresholds: Min_th: Accept all packets until the queue reaches Min_th Drop packets with a linear drop probability when the queue is greater than Min_th Max_th: All packets are dropped with probability of 1 (100%) when the queue exceeds this threshold 8-11 8-12 2
RED Algorithm RED Drop Function avg( t) (1 w) avg( t 1) wq( t) q(t) : instantaneous queue size at time t drop 8-13 8-14 RED Drop Function RED Drop Function Packet drop probability, p : p Max drop avg Minth Max Min th Two computational part in RED: Computation of average queue length Calculation of drop probability th Four parameters: Min th Max th Max drop w Avg follows the long term changes of q. Reflects persistent congestion 8-15 8-16 Selection of Maximum Drop Probability for RED Selection of Max_drop significantly affects the performance of RED Too small: Active packet drops not enough to prevent global synchronization (similar to PQM) Too large: Decreases the throughput Optimal value depends on number of connections, round trip time, etc. Selection of an optimal value for Max_drop remains an open issue Selection of Maximum Drop Probability for RED Feng et al. : Max drop depends not only on the bandwidth delay product but also on the number of connections Max drop N SSC B But, not applicable in frequently changing environment 8-17 8-18 3
Selection of Weight Parameter,w Effects the average queue length, so works as low pass filter Tracks persistent network congestion What if w is too small? What if w is too large? Calculation of the Avg. Queue Length Avg queue length works as a low pass filter (LPF) Controls the active packet drop Accumulate short term congestion Trace long term congestion Improves response time 8-19 8-20 LPF/ODA Algorithm RED Variants Basic RED alg is susceptible to throughput, high delay jitter, bandwidth unfairness RED variants can be classified into two categories: Aggregate control Modifying the calculation of the control variable and/or drop function Determines packet drop probability All connections have the same probability Per-flow control Configuring and setting RED s parameters Addresses fairness problem 8-21 8-22 RED Variants Variants of RED alg generally consist of two parts Calculation of drop function (linear / step) Calculation of the control variables (aggregate / per flow) Stabilized Random Early Drop (SRED) Proposed to make the RED queue stable Like RED, SRED preemptively discards packets with a load-dependent probability B pmax q B 3 1 B B p( q) pmax q 4 6 3 B 0 0 q 6 8-23 8-24 Final packet drop function, p sred, is found by: p( q) p sred ( q) p( q) ( number _ of _ flow ) 2 65536 for largenumberof active flows for small numberof active flows 4
Stabilized Random Early Drop (SRED) Active flows are estimated Good scalability Instead of calculation of average queue size, drops packets depending on number of active flows and instantaneous queue size Drawback Low throughput Exponential drop function may be used for improvement Drop function should be changed according to the level of congestion Double Slope RED (DSRED) Divides the queue between Min_th and Max_th into two segments Different linear drop functions are used in the two segments 8-25 8-26 Double Slope RED (DSRED) Double Slope RED (DSRED) DSRED adopts to the level of congestion by changing the slope of the drop function Compared to RED, DSRED provides higher throughput and lower queuing delay avg (1 w) avg wq 2 1 K h K l 2 K h K l 0 ( avg Kl ) pd ( avg) 1 ( avg Km) 1 avg Kl Kl avg Km Km avg Kh K avg N h 8-27 8-28 Random Exponential Marking (REM) Decouples the congestion measure from performance measure Attempts to match user rates to the available link capacity Stabilizes the gateway queue to a small value Variable price is used to measure the congestion of the link. End-to-end marking probability depends on the sum of link prices Random Exponential Marking (REM) 8-29 8-30 5
Random Exponential Marking (REM) REM maintains low gateway queue High utilization Low packet loss Low queuing delay BLUE Uses packet loss and link utilization to measure network congestion directly Fewer configuration parameters Increases marking prob. when detects packet loss due to buffer overflow Decreases marking prob. When detects that the marking prob. is too aggressive Advantages: Reduces packet loss rate Keeps the gateway queue stable 8-31 8-32 BLUE RED Variants Using Per-Flow Accounting Fair RED (FRED) Fair Buffering RED (FB-RED) XRED Class-Based Threshold RED (CBT-RED) Balanced RED (BRED) Stochastic Fair Blue (SFB) 8-33 8-34 Fair RED (FRED) Fair RED (FRED) Addresses the fairness problem Notably between TCP and UDP sources Employs per-active-flow accounting to impose drop prob. depending on the use of buffer space (for each flow) Uses linear drop function Calculates avg queue length for each flow Done at both packet arrival and departure Contains attacks from non-adaptive sources (e.g. UDP sources) 8-35 8-36 6
Fair Buffering RED (FB-RED) XRED Per flow accounting scheme Uses individual bandwidth-delay product for each link to modify the drop probability Two cases: Using inverse of the bandwidth delay product to calculate Max_drop Using inverse of the square root of the bandwidth delay product to calculate Max_drop Uses average queue length as control Other methods drops packet without considering the content Requesting whole part again, may waste resources Avoid bandwidth waste due to useless packet transmission XRED is a content-based packet discarding scheme Each packet described with three parameters: FlowID, for traffic flow ADU_ID, for specified application data unit Content Priority, for packet content Each router keeps a list of these parameters Sender associates appropriate parameter values for each packet Priority is computed for each arriving packet at the router The packet is dropped according to the priority levels 8-37 8-38 XRED Disadvantages: Needs extra fields in the IP header Maintains per-flow states Significant processing overhead due to extra write/read actions Class-Based Threshold RED (CBT-RED) Addresses fairness problem Separates non-adaptive (UDP) and adaptive traffic (TCP) Uses different queue thresholds for different traffic types Advantage Protects TCP traffic from attacks of UDP traffic Disadvantage Needs traffic classification 8-39 8-40 Balanced RED (BRED) Enforces fairness among TCP and UDP traffic Regulates the bandwidth of a flow based on per-flow accounting The buffer is divided into 4 segments, with each segment having a different drop prob. Advantage Achieves fairness Disadvantage Requires per-flow states (increases complexity) Stochastic Fair BLUE (SFB) Enforces fairness among TCP and UDP traffic Maintains N x M accounting bins Bins behave like sub-queues Hash function h[i] maps a flow into the jth bin of Level i UDP traffic is hashed into bins with drop prob. Equal 1 Monitors sub-queue occupancy and adjust mark/drop prob. for each sub-queue Advantage Protect TCP traffic from non-adaptive UDP 8-41 8-42 7
Features of RED Variants Performance Evaluation of AQM Schemes Compare the performance of RED variants against a number of criteria Throughput Delay Fairness Time response (for interactive applications) Methodology Simulation Modelling 8-43 8-44 Simulation Configuration Analysis Model Single bursty input Mixture of bursty and smooth traffic 8-45 8-46 Results - Throughput Results - Fairness Throughput The throughput of RED is low with a large number of TCP connections Throughput is inversely proportional to load Proven that exponential drop function is better than a single drop function However, such a drop function is more complex and requires more computing power RED gateways avoid bias against burst traffic No separation between traffic flows such as bursty and smooth Fairness is considered as: Fairness among TCP flows Fairness between TCP and UDP traffic Max Drop should be associated with badwidthdelay product Per-flow management should be used 8-47 8-48 8
Delay and Jitter RED has a large jitter which is sensitive to w The smaller the value of w, the larger the delay variance Relationship between w, delay and jitter w Mean Delay Jitter 0.1 5.9 40 0.01 7.7 170 0.001 7.2 190 Time Response Under low to medium levels of congestion, RED has minimal effect on its response time. RED is designed for long-lived TCP applications (e.g. FTP) For Web traffic, no clear advantage over drop tail (web traffic is short bursty traffic) 8-49 8-50 Traffic Oscillation Traffic Oscillation RED may introduce network instability and traffic disruption The optimal configuration of RED parameters has been a problem RED results in large queue oscillation Two-way traffic in bulk data transfer Web traffic Comparison of AQM Algorithms 8-51 8-52 Performance Summary AQM and Differentiated Service 8-53 8-54 9
AQM and DiffServ Summary RED with two configuration thresholds is recommended for DiffServ RED In/Out (RIO) Other AQMs for proposed Adaptive priority marking Edge based Congestion Management (ECM) Summary for Passive Queue Management Active Queue Management RED Algorithm RED Variants Performance Issues Application / Implementation 8-55 8-56 10