Evaluation of Queue Management Algorithms Ningning Hu, Liu Ren, Jichuan Chang 30 April 2001 15744 Course Project.

Download Report

Transcript 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