Evaluation of Queue Management Algorithms

20
15744 Course Pro ject 1 Evaluation of Queue Evaluation of Queue Management Algorithms Management Algorithms Ningning Hu, Liu Ren, Jichuan Chang 30 April 2001

description

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? - PowerPoint PPT Presentation

Transcript of Evaluation of Queue Management Algorithms

Page 1: Evaluation of Queue Management Algorithms

15744 Course Project 1

Evaluation of Queue Evaluation of Queue Management AlgorithmsManagement Algorithms

Ningning Hu, Liu Ren, Jichuan Chang

30 April 2001

Page 2: Evaluation of Queue Management Algorithms

15744 Course Project 2

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

Page 3: Evaluation of Queue Management Algorithms

15744 Course Project 3

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

Page 4: Evaluation of Queue Management Algorithms

15744 Course Project 4

Simulation Scenario

2Mbps

1Mbps, 40ms

2Mbps

UDP

TCP

UDP

TCP

• Topology: Dumb-bell• Metrics: throughput and queue size

source destination

router router

Page 5: Evaluation of Queue Management Algorithms

15744 Course Project 5

Drop Tail RED BLUE

FRED SFB CHOKe

TCP

TCP

1. # TCP Flow : # UDP Flow = 10 : 12. UDP sending rate = 2Mbps3. Buffer size = 150 packets

Page 6: Evaluation of Queue Management Algorithms

15744 Course Project 6

Performance Comparison

0

0.2

0.4

0.6

0.8

1

0.1 0.2 0.4 0.8 1 2 4 8 UDP Rate (Mbps)

DropTail

RED

FRED

BLUE

SFB

CHOKe

0

50

100

150

0.1 0.2 0.4 0.8 1 2 4 8 UDP Rate (Mbps)

DropTailREDFREDBLUESFBCHOKe

Figure 1. UDP Thpt (Mbps)

Figure 2. UDP Queue Size (packet)

Page 7: Evaluation of Queue Management Algorithms

15744 Course Project 7

ConclusionAlgorithm 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)

AlgorithmBuffer size

requirementPer-flow State Information

ComputationalOverhead

RED Large No Arrival

BLUE Small No Freeze-time

FRED Small Yes Arrival-departure

SFB Large No Freeze-time

CHOKe Small No Arrival

Page 8: Evaluation of Queue Management Algorithms

15744 Course Project 8

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?

Calculate avg & maxq

Non-adaptive?

N

Y

minth<avg<maxth

Drop

N

Y

RobustRED

avg<minth Accept

N

Drop Tail

New state

Fragile

N

Page 9: Evaluation of Queue Management Algorithms

15744 Course Project 9

FRED performance

00.10.20.30.40.50.60.70.80.9

1

0.1 0.2 0.4 0.8 1 2 4 8UDP rate (Mbps)

UD

P Th

pt (M

bps)

1 TCP,1 UDP10 TCP, 1 UDP10 TCP, 5 UDP

0

10

20

30

40

50

60

70

0.1 0.2 0.4 0.8 1 2 4 8UDP rate (Mbps)

UD

P Q

ueue

Siz

e (p

acke

t) 1 TCP,1 UDP10 TCP, 1 UDP10 TCP, 5 UDP

Page 10: Evaluation of Queue Management Algorithms

15744 Course Project 10

FRED characteristics

• Easy to configure, adaptive• Buffer size requirement

– Will degrade as DropTail with too many flows– “Two-packet-buffer” to keep fairness

0

0.25

0.5

0.75

1

10 20 40 45 50 60 70Buffer size (#Packet)

Thro

ughp

ut (M

bps)

TCP_ThptUDP_thpt

Page 11: Evaluation of Queue Management Algorithms

15744 Course Project 11

CHOKe

Random

Same FlowID?

CHOose and Keep for responsive flows CHOose and Kill for unresponsive flows

>maxth?minth

maxth

Page 12: Evaluation of Queue Management Algorithms

15744 Course Project 12

CHOKe

0

0.2

0.4

0.6

0.8

1

0.1 0.2 0.4 0.8 1 2 4 8

UDP rate (Mbps)

UD

P Th

roug

hput

(Mbp

s)

1 TCP, 1 UDP 10 TCP, 1 UDP 10 TCP, 5 UDP

Page 13: Evaluation of Queue Management Algorithms

15744 Course Project 13

Parameters in CHOKe

0

0.05

0.1

0.15

0.2

0.25

1 2 5 10 15Candidate Number

UD

P Fl

ow T

hrou

ghpu

t (M

bps)

0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

2 1.6 1 0.8UDP rate (Mbps)

UD

PFlo

wTh

roug

hput

(M

bps)

num = 1 num = 5num = 10 num = 15

Page 14: Evaluation of Queue Management Algorithms

15744 Course Project 14

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

Page 15: Evaluation of Queue Management Algorithms

15744 Course Project 15

BLUE AlgorithmPm 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

Page 16: Evaluation of Queue Management Algorithms

15744 Course Project 16

BLUE Characteristics

•More stable queue size and much better behavior with small buffers

•Good property damaged by non-responsive flows.

Page 17: Evaluation of Queue Management Algorithms

15744 Course Project 17

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

Page 18: Evaluation of Queue Management Algorithms

15744 Course Project 18

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.

Page 19: Evaluation of Queue Management Algorithms

15744 Course Project 19

SFB: Unfairness of Non-responsive Flows

Our solution: Randomized Boxtime a little bit.

Page 20: Evaluation of Queue Management Algorithms

15744 Course Project 20

Rate-limit Non-responsive flows

Time

UDP packets

Queue

Boxtime