• No results found

Active Queue Management

N/A
N/A
Protected

Academic year: 2021

Share "Active Queue Management"

Copied!
54
0
0

Loading.... (view fulltext now)

Full text

(1)

Active Queue Management

Rong Pan Cisco System

(2)

Outline

• Queue Management

– Drop as a way to feedback to TCP sources – Part of a closed-loop

• Traditional Queue Management – Drop Tail

– Problems

• Active Queue Management – RED

– CHOKe – AFD

(3)

Queue Management: Drops/Marks

-

A Feedback Mechanism To Regulate End TCP Hosts

• End hosts send TCP traffic -> Queue size

• Network elements, switches/routers, generate drops/marks based on their queue sizes

• Drops/Marks: regulation messages to end hosts • TCP sources respond to drops/marks by cutting

(4)

TCP+Queue Management

- A closed-loop control system

Queue Management _

N

C _ q Time Delay + -W/R p

0.5

+

(5)

Drop Tail

-

problems

• Lock out

• Full queue

• Bias against bursty traffic

(6)

Max Queue Length

Tail Drop Queue Management

(7)

Tail Drop Queue Management

Full-Queue

• Only drop packets when queue is full

– long steady-state delay

(8)

Max Queue Length

(9)

Max Queue Length

Tail Drop Queue Management

(10)

• Drop from front on full queue

• Drop at random on full queue

both solve the lock-out problem both have the full-queues problem

Alternative Queue

(11)

• Solve tail-drop problems

– no lock-out behavior

– no global synchronization – no bias against bursty flow

• Provide better QoS at a router

– low steady-state delay

– lower packet dropping

Active Queue Management

(12)

Random Early Detection

(RED)

yes Drop the new packet

end Admit packet with

a probability p AvgQsize > Maxth? yes Arriving packet no Admit the new packet end AvgQsize > Minth? no

(13)

RED Dropping Curve

minth maxth 0

Average Queue Size

D ro p P ro b a b ili ty 1 maxp

(14)

Effectiveness of RED

-

Lock-Out & Global Synchronization

• Packets are randomly dropped

• Each flow has the same probability of being

discarded

(15)

• Drop packets probabilistically in anticipation

of congestion

– not when queue is full

• Use q

avg

to decide packet dropping

probability: allow instantaneous bursts

Effectiveness of RED

(16)

What QoS does RED

Provide?

• Lower buffer delay: good interactive service

– qavg is controlled to be small

• Given responsive flows: packet dropping is

reduced

– early congestion indication allows traffic to throttle

back before congestion

(17)

Bad News -

unresponsive end hosts

tcp tcp udp udp udp tcp tcp Connectionless; Best-Effort The Internet

(18)

Scheduling & Queue

Management

• What routers want to do?

– isolate unresponsive flows (e.g. UDP) – provide Quality of Service to all users

• Two ways to do it

– scheduling algorithms:

e.g. FQ, CSFQ, SFQ

– queue management algorithms:

(19)

FQ vs. RED

• Hard/Expensive to implement

• Isolation from non-adaptive flows

FQ

• No isolation from non-adaptive flows

(20)

Active Queue Manament With

Enhancement to Fairness

• Provide isolation from unresponsive flows

• Be as simple as RED

(21)

yes Drop the new packet

end Admit packet with

a probability p end AvgQsize > Maxth? yes

RED

Arriving packet no Admit the new packet end AvgQsize > Minth? no yes no Drop both matched packets end Draw a packet at random from queue Flow id same as

the new packet id ?

yes Drop the new packet Admit packet with

a probability p

no AvgQsize > Maxth? no

(22)

Random Sampling from

Queue

A randomly chosen packet more likely

from the unresponsive flow

(23)

Comparison of Flow ID

Compare the flow id with the incoming packet

– more acurate

– Reduce the chance of dropping packets from a

(24)

Dropping Mechanism

• Drop packets (both incoming and matching

samples )

– More arrival -> More Drop

(25)

1Mbps 10Mbps S(2) S(m) S(m+n) m TCP Sources S(m+1) n UDP Sources D(2) D(m) D(m+n) m TCP Sinks D(m+1) n UDP Sinks D(1) 10Mbps

Simulation Setup

S(1)

(26)

Network Setup Parameters

32 TCP flows, 1 UDP flow

All TCP’s maximum window size = 300

All links have a propagation delay of 1ms

FIFO buffer size = 300 packets

All packets sizes = 1 KByte

(27)

32 TCP, 1 UDP (one sample)

0 200 400 600 800 1000 T h ro u g h p u t (K b p s

) UDP Throughput (RED)

UDP Throughput (CHOKe)

Avg. TCP Throughput (CHOKe)

23.0%

74.1%

(28)

32 TCP, 5 UDP (5 samples)

0 300 600 900 1200 1500 100 1000 10000 Th ro ug hp ut (K bp s)

CHOKe(one sample):Total UDP Throughput CHOKe(one sample):Total TCP Throughput CHOKe with 5 samples: Total UDP Throughput CHOKe with 5 samples: Total TCP Throughput

(29)

How Many Samples to

Take?

min

th M

ax

th R1 R2 Rk

Different samples for different Qlen

avg

# samples

when Qlenavg close to minth

# samples

when Qlen close to max

(30)

6.6% 38.3% 61.1% 89.7% 99.3% 0 300 600 900 1200 100 1000 10000 T h ro u g h p u t (K b p s

) Total UDP Throughput

Total TCP Throughput

32 TCP, 5 UDP

(self-adjusting)

(31)

Analytical Model

discards from the queue

permeable tube with leakage

(32)

Fluid Analysis

N: the total number of packets in the buffer

L

i

(t): the survial rate for flow i packets

L

i

(t)

δ

t - L

i

(t +

δ

t)

δ

t =

λ

i

δ

t L

i

(t)

δ

t /N

- dL

i

(t)/dt =

λ

i

L

i

(t) N

L

i

(0) =

λ

i

(1-p

i

)

L

i

(D) =

λ

i

(1-2p

i

)

(33)

Model vs Simulation

-

multiple TCPs and one UDP

0 50 100 150 200 250 300 350 0.1 1 10

T

h

ro

u

g

h

p

u

t

fluid model CHOKe ns simulation 1/(1+e)

(34)

Fluid Model

-

Multiple samples

L

i

(t)

δ

t - L

i

(t +

δ

t)

δ

t =

M

λ

i

δ

t L

i

(t)

δ

t /N

- dL

i

(t)/dt =

M

λ

i

L

i

(t) N

L

i

(0) =

λ

i

(1-p

i

)

M

L

i

(D) =

λ

i

(1-p

i

)

M

-

M

λ

i

p

i

(35)

Two Samples

-

multiple TCPs and one UDP

0 20 40 60 80 100 120 140 U D P T h ro u g h p u t( K b p s ) NS Simulation Fluid Model

(36)

Two Samples

-

multiple TCPs and two UDP

0 40 80 120 160 200 U D P T h ro u g h p u t( K b p s ) NS Simulation Fluid Model

(37)

What If We Use a

Small Amount of

(38)

AFD: Goal

• Approximate equal bandwidth allocation

– Not only AQM, approximate DRR scheduling – Provide soft queues in addition to physical

queues

• Keep the state requirement small

• Be simple to implement

(39)

AFD Algorithm: Details

(Basic Case: Equal Share)

Di = Drop Probability for Class i

Qref 1-Di Di Qlen Arriving Packets If Mi ≤≤≤≤ Mfair : No Drop (Di = 0) Mi = Arrival estimate for Class i

(Bytes over interval Ts)

Mfair = Mfair - a (Qlen - Qref) + b (Qlen_old - Qref)

Fair Share Class i

(40)

AFD Algorithm: Details

(General Case)

Di = Drop Probability for Class i

Qref 1-Di

Di

Qlen Arriving Packets

If Mi ≤≤≤≤ F(Mfair,Mini,Maxi,Wi, …): No Drop (Di = 0) Mi = Arrival estimate

for Class i

(Bytes over interval Ts)

Mfair = Mfair - a (Qlen - Qref) + b (Qlen_old - Qref)

Fair Share Class i

(41)

Not Per-Flow State

(42)

AFD Solution: Details

• Based on 3 simple mechanisms

– estimate per “class” arrival rate

• counting per “class” bytes over fixed intervals ( Ts )

• potential averaging over multiple intervals

– estimate deserved departure rate (so as to achieve

the proper bandwidth allocation for the class)

• Observation and averaging of queue length as

measure of congestion

• Functional definition of “fair share” based on

fairness criterion

– perform probabilistic dropping (pre-enqueue) to drive

(43)

Mixed Traffic

with Different Levels of Unresponsiveness

0 100 200 300 400 500 Th ro ug hp ut (k bp s)

(44)

Drop Probabilities

(note differential dropping)

0 0.05 0.1 0.15 0.2 0.25 0.3

RED CHOKe AFD

D ro p Pr ob ab ili ty

(45)

Different Number of TCP

Flows in Each Class

C la s s 1 5 TCP Flows 0 50 100 150 200 time C la s s 2 10 TCP Flows 0 50 100 150 200 time C la s s 3 15 TCP Flows C la s s 4 20 TCP Flows

(46)

Different Class Throughput

Comparison

(47)
(48)
(49)

AFD Implementation Issues

• Monitor Arrival Rate

• Determine Drop Probability

• Maximize Link Utilization

(50)

Arrival Monitoring

• Keep a counter for each class

– Count the data arrivals (in bytes) of each

class in 10ms interval: arvi

• Arrival rate of each class is updated every

10ms

– mi = mi(1-1/2c)+arv i

(51)

Implementing the Drop

Function

• If Mi ≤ Mfair then Di = 0

• Otherwise, rewrite the drop function as

(52)

Implementing the Drop

Function

• 0.0 1.0 Di ! 0.375 0.406 • " # # # $

(53)

FQ

RED

Simplicity F a ir n e s s

AFD - Summary

CHOKe

AFD

Ideal

(54)

Summary

• Traditional Queue Management

– Drop Tail, Drop Front, Drop Random – Problems: lock-out, full queue, global

synchronization, bias against bursty traffic

• Active Queue Management

– RED: can’t handle unresponsive flows – CHOKe: penalize unresponsive flows

– AFD: provides approximate fairness with

References

Related documents

viability of the BBMAC; (2) changes in composition of the Task Force adding representatives of the Coronado Aquatic Club; Coronado Navy Swim Association, Coronado Masters Association,

than coarse, punctures scattered between the setose punctures of the pronotum (Fig. 1) Ventral view of left hindleg of Parochodaeus biarmatus. Arrow indicating toothed

a municipality. It provides that Chapter 9 "does not limit or impair the power of a State to control, by legislation or otherwise, a municipality of or in such State in the

markets predict future rates of economic growth, capital Significantly, measures of both stock market liquidity accumulation, productivity improvements, and private and

[r]

This review introduces BCSC markers, their roles in stemness phenotypes, and the dysregulated signaling pathways involved in BCSCs such as mitogen-activated protein (MAP)

[r]

analysis is restricted to Europe. Given that wage cost differentials are already substantial within Europe we believe we are already picking up some basic patterns, which would