Evaluation of Queue Management Algorithms Ningning Hu, Liu Ren, Jichuan Chang 30 April 2001 15744 Course Project.
Download ReportTranscript Evaluation of Queue Management Algorithms Ningning Hu, Liu Ren, Jichuan Chang 30 April 2001 15744 Course Project.
Evaluation of Queue Management Algorithms Ningning Hu, Liu Ren, Jichuan Chang 30 April 2001 15744 Course Project 1 Motivation • Typical queuing discipline: DropTail • Active queue management: – RED (93’), BLUE (99’), … – FRED (97’), SFB (99’), CHOKe (2000’) • Problem: How to compare them? – Metrics: Utilization, Fairness and Complexity – Method: simulation under common settings 15744 Course Project 2 Algorithms Drop Tail: drop when the queue is full RED: queue length, minth, maxth, avg FRED: per-active-flow accounting BLUE: loss rate, link utilization, freeze_time SFB: identify flows using N * L bins CHOKe: compare incoming packet with random selected packet in queue 15744 Course Project 3 Simulation Scenario source destination 2Mbps 2Mbps UDP UDP 1Mbps, 40ms router router TCP TCP • Topology: Dumb-bell • Metrics: throughput and queue size 15744 Course Project 4 TCP Drop Tail RED BLUE TCP FRED 15744 Course Project SFB 1. 2. 3. # TCP Flow : # UDP Flow = 10 : 1 UDP sending rate = 2Mbps Buffer size = 150 packets CHOKe 5 Performance Comparison 1 DropTail 0.8 RED 0.6 FRED 0.4 BLUE 0.2 SFB CHOKe 0 0.1 0.2 0.4 0.8 1 2 4 8 UDP Rate (Mbps) Figure 1. UDP Thpt (Mbps) 150 DropTail RED FRED BLUE 100 50 SFB CHOKe 0 0.1 0.2 0.4 0.8 1 2 4 8 UDP Rate (Mbps) Figure 2. UDP Queue Size (packet) 15744 Course Project 6 Conclusion Algorithm Link Utilization Fairness Ease of Configuration RED Good Unfair Hard BLUE Good Unfair Hard FRED Good Fair Easy (adaptive) SFB Good Fair Easy (non-adaptive) CHOKe Good Fair Easy (adaptive) Algorithm Buffer size requirement Per-flow State Information Computational Overhead RED Large No Arrival BLUE Small No Freeze-time FRED Small Yes Arrival-departure SFB Large No Freeze-time CHOKe Small No Arrival 15744 Course Project 7 FRED • RED + Per-active-flow accounting – protection of fragile flow – penalizing non-responsive flow – Flow type differentiation • Key parameter: minq – 2 or 4 • Weak point: – Compute avgq per packet New flow? New state N Calculate avg & maxq Non-adaptive? N minth<avg<maxth Y Robust Drop RED N avg<minth 15744 Course Project Y N Drop Tail Fragile Accept 8 1 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 1TCP,1UDP 10 TCP, 1UDP 10 TCP, 5 UDP 70 0.1 0.2 0.4 0.8 1 UDP rate (Mbps) 2 4 8 UDP Queue Size (packet) UDP Thpt (Mbps) FRED performance 1TCP,1UDP 60 10 TCP, 1UDP 10 TCP, 5 UDP 50 40 30 20 10 0 0.1 15744 Course Project 0.2 0.4 0.8 1 UDP rate (Mbps) 2 4 8 9 FRED characteristics • Easy to configure, adaptive • Buffer size requirement Throughput (Mbps) – Will degrade as DropTail with too many flows – “Two-packet-buffer” to keep fairness 1 0.75 TCP_Thpt 0.5 UDP_thpt 0.25 0 10 15744 Course Project 20 40 45 50 Buffer size (#Packet) 60 70 10 CHOKe CHOose and Keep for responsive flows CHOose and Kill for unresponsive flows Random >maxth? minth Same FlowID? maxth 15744 Course Project 11 UDP Throughput (Mbps) CHOKe 1 0.8 0.6 0.4 0.2 0 0.1 0.2 0.4 0.8 1 2 4 8 UDP rate (Mbps) 1 TCP, 1 UDP 15744 Course Project 10 TCP, 1 UDP 10 TCP, 5 UDP 12 Parameters in CHOKe 0.7 UDPFlowThroughput (Mbps) UDP Flow Throughput (Mbps) 0.25 0.2 0.15 0.1 0.05 0 1 2 5 10 Candidate Num ber 15744 Course Project 15 0.6 0.5 0.4 0.3 0.2 num = 1 num = 10 0.1 num = 5 num = 15 0 2 1.6 1 0.8 UDP rate (Mbps) 13 BLUE •Main Point: Uses packet loss and link idle events instead of average queue length : •Based on observation that RED is often forced into drop-tail mode •Adapt to how bursty and persistent congestion is by looking at loss/idle events 15744 Course Project 14 BLUE Algorithm Pm is Blue’s packet dropping probability: •Upon packet loss, if no update of pm in freeze_time then increase by d1 •Upon link idle, if no update of pm in freeze_time then decrease pm by d2 •d1 >> d2 •More critical to react quickly to increase in load 15744 Course Project 15 BLUE Characteristics •More stable queue size and much better behavior with small buffers •Good property damaged by non-responsive flows. 15744 Course Project 16 Stochastic Fair Blue(SFB) •Objective: •Identify and penalize misbehaving flows •Main Algorithm: Create L hashes with N bins each •Each bin keeps track of separate marking rate (pm) •Rate is updated using standard technique(as BLUE) •Flow uses minimum pm of all L bins it belongs to •Non-misbehaving flows hopefully belong to at least one bin without a bad flow 15744 Course Project 17 SFB Characteristics •Could effectively detect non-responsive flows and rate-limit them •But not adaptive, the bandwidth share of non-responsive flows is controlled by a parameter(Boxtime) offered by the user. •Boxtime is the time interval no packets from non-responsive flows can be enqueued. 15744 Course Project 18 SFB: Unfairness of Non-responsive Flows Our solution: Randomized Boxtime a little bit. 15744 Course Project 19 Rate-limit Non-responsive flows UDP packets Boxtime Queue Time 15744 Course Project 20