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

Upload: talor

Post on 23-Feb-2016

59 views

Category:

Documents


0 download

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

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