Active Queue Management: Theory, Experiment and Implementation Vishal Misra Dept. of Computer...

Post on 17-Dec-2015

212 views 0 download

Tags:

Transcript of Active Queue Management: Theory, Experiment and Implementation Vishal Misra Dept. of Computer...

Active Queue Management: Theory, Experiment and

Implementation

Vishal MisraDept. of Computer ScienceColumbia University in the

City of New York

Collaborators

•C.V. Hollot, Don Towsley: UMass Amherst

•Victor Firoiu: Nortel Networks

•Kevin Jeffay, Nguyen-Long Le, Don Smith: UNC Chapel Hill

Outline

• Investigating rate based control• Implementation of PI controller

– Hardware– Software

• Experiment– Performance evaluation under

generated web traffic

TCPdynamic

queuedynamic

AQM

RN

p

W q

time delayR secs

MGT Fluid-Flow Model

“oscillatory behavior increases with increasing round-trip time”

TCPdynamic

AQM

RN

p

W

time delayR secs

Kelly

“oscillatory behavior decreases with increasing round-trip time”

x

Paradox?

• MGT model : control based on queue length (q)

• Kelly model : control based on arrival rate (x)

Rate Feedback p = g(x) =B

Cx

Utilization with different B

)()(

))((2

)(1)(

2

tWRN

tx

RtxgRtW

RtW

)('2

)(2

)( 02

0

0

RtxC

xWg

RW

tWRW

tW refRN

Rate Feedback p = g(x) =

RN

p

W

time delayR secs

x

0

2

1

RWs -

p(t - R)

linearization

B

ref

C

xx

'2

20 gR

W

L(s)

p

-

p(t - R)

0

1

02

20

0

2

20

22

2

'2)(

0

RWs

C

xWB

CRNW

RWs

gRNW

sL

B

refRN

gB

Crefxx

sRe

B

refRN

C

xWW

02

02

where W0 satisfies:

rate feedback loop

(*)

Cxref

unstable for > 0.3

Stability (B=1)

Stability distance of Nyquist plot from –1+j0

N=60 flowsC=3750 packets/sec

Simulations at RTT =300 ms

unstable for > 0.3

N=60 flowsC=3750 packets/sec

Parabolic rate feedback B = 2

12

22

22

22

)(0

02

30

0

02

20

2

0

1

02

20

sRW

xWRC

NW

RWs

C

xW

CRNW

RWs

C

xW

CB

RNW

sLrefR

NrefR

N

B

B

refRN

Where, W0 satisfies:

022 220

230

40

2 CWxWxW refRN

refRN

Multiple Equilibria (Throughput)

Multiple Equilibria (Stability)

Cxref Stability (B=2)

unstable for > 0.8

N=60 flowsC=3750 packets/sec

Simulations at RTT = 300 ms

N=60 flowsC=3750 packets/sec

Implementation and Experiments

Implementing PI controller

PI

q(t) p(t)

qref

Integral controller, regulates router buffer to someoperator controlled value qref

Hardware Implementation

• Active collaboration with two vendors on implementing PI on a router– Nortel Networks: Next generation

edge router– Cisco: IOS on the 3260 platform

Transitioning from theory to practice (Nortel)

• Theory, Simulations: Worry about computations at one output queue, for a single class of traffic

• Practice: Typical router has M (~ 512) queues, E (~ 8) classes

Speed Issues

Consider a 10 GBps router, 1000 byte average packet size

•Theory: Sampling interval (say) 1 ms: computational overhead spread over 40000 packets: “lightweight computations”

•Practice: Sampling interval 1ms, MxE (512x8) computations: spread over 10 packets: significant overhead!

Memory issues

• Theory: One drop/marking probability needs to be maintained

• Practice: MxE values have to be maintained!

• Hardware designers unwilling to allot memory real estate for AQM (relatively small part of a router)

Solution: Discretize [0,1] and use small precomputed tables

Architecture

0101

Append pointer to probability lookup table

0101 .12767

Table for class i

packet

Packet from priority class i

Lookup probability

Droppingmodule

Small (~8) number of tables used with finite (~ 16) entries

Open research issues

• How do you discretize [0,1] ?– Linear is clearly not the answer:

operating region typical below 0.2

• Given a typical operating range of p : what performance metric do we optimize? What is the cost function?

Software Implementation of PI

• “Tuning RED for Web Traffic”, Sigcomm 2000– Implemented RED on a software router (the

ALTQ system running on FREEBSD)– Compared performance of RED and FIFO

(Droptail) on a testbed with generated Web traffic: studied request completion latency

– Conclusions: RED normally does not help, difficult to tune for scenarios when it can help

(read: “RED only possibly helps in really extreme cases and even here it's hard as hell to get the settings right”)

AQM bad idea?

Study of AQM at UNC

Handwaving explanation

pRTTK

B FIFO

pRTT

KBRED

More losses, more retransmissions, more timeouts..-> higher latency!

UNC Testbed

PI Implementation on ALTQ

• PI added as a module to ALTQ at UNC• Issues: no floating point arithmetic allowed,

need to be careful about saturation, integer overflows!

• Sigcomm 2000 experiments repeated under (nearly) identical conditions with PI as third mechanism

• PI tuned using formula given in Infocom 2000 paper

Plot of CDF of response time of requests (80% load)

Cu

mu

lati

ve p

rob

ab

ility

Response time (ms)

Plot of CDF of response time of requests (100% load)

Cu

mu

lati

ve p

rob

ab

ility

Response time (ms)

PI, qref=20 FIFO, RED

PI, qref=200

Plot of CDF of response time of requests (110% load)

Cu

mu

lati

ve p

rob

ab

ility

Response time (ms)

PI, qref=20

PI, qref=200

FIFO, RED

Preliminary conclusions

• AQM may not be bad after all: PI/20 performs significantly better for short objects under heavy load

• Experiments run with packet dropping, not ECN

• ECN experiments planned: performance should improve dramatically over FIFO