200 likes | 407 Views
Evaluation of Queue Management Algorithms. Ningning Hu, Liu Ren, Jichuan Chang 30 April 2001. Motivation. Typical queuing discipline: DropTail Active queue management: RED (93’), BLUE (99’), … FRED (97’), SFB (99’), CHOKe (2000’) Problem: How to compare them?
E N D
Evaluation of Queue Management Algorithms Ningning Hu, Liu Ren, Jichuan Chang 30 April 2001
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
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
Simulation Scenario source destination 2Mbps 2Mbps UDP UDP 1Mbps, 40ms router router TCP TCP • Topology: Dumb-bell • Metrics: throughput and queue size
TCP Drop Tail RED BLUE TCP FRED SFB CHOKe • # TCP Flow : # UDP Flow = 10 : 1 • UDP sending rate = 2Mbps • Buffer size = 150 packets
Performance Comparison Figure 1. UDP Thpt (Mbps) Figure 2. UDP Queue Size (packet)
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 avgqper packet
FRED characteristics • Easy to configure, adaptive • Buffer size requirement • Will degrade as DropTail with too many flows • “Two-packet-buffer” to keep fairness
Random >maxth? minth Same FlowID? maxth CHOKe CHOose and Keep for responsive flows CHOose and Kill for unresponsive flows
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
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
BLUE Characteristics • More stable queue size and much better behavior with small buffers • Good property damaged by non-responsive flows.
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
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.
SFB: Unfairness of Non-responsive Flows Our solution: Randomized Boxtime a little bit.
Rate-limit Non-responsive flows UDP packets Boxtime Queue Time