Transcript cntop 1406

Active Queue Management:
Theory, Experiment and
Implementation
Vishal Misra
Dept. of Computer Science
Columbia 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
MGT Fluid-Flow Model
TCP
dynamic
q
W
queue
dynamic
N
R
time delay
R secs
p
AQM
“oscillatory behavior increases with increasing roundtrip time”
Kelly
TCP
dynamic
W
time delay
R secs
N
R
x
p
AQM
“oscillatory behavior decreases with increasing roundtrip time”
Paradox?
• MGT model : control based on queue
length (q)
• Kelly model : control based on arrival
rate (x)
Rate Feedback p = g(x) =
x 
 
C 
B
Utilization with different B
Rate Feedback p = g(x) =
1 W 2 (t )

W (t )  
g (x (t  R ))
R
2R
N
x (t )  W (t )
R
 x  x ref 


C


B
linearization
2
N
W  x ref
W

2
0
W (t )  
W (t ) 
g' R 0
RW0
2R 
C
-
1
s  RW2 0
 p(t - R)
W
p
time delay
R secs
N
R
W02
g'
2R
x

 x (t  R )

L(s)
rate feedback
loop
 p(t - R)
W N
g'
2
L(s )  2R
2
s
RW0
2
0
where W0
satisfies:
g

e

 sR
x0  xref B
C

p
W02N  NR W0  x ref
B 
2
2R C 
C
2
s
RW0
N
2  R W0  x ref
2  W0 
C







B 1
B
(*)
N=60 flows
C=3750 packets/sec
Stability (B=1)
x ref  C
unstable for  > 0.3
Stability  distance of Nyquist plot from –1+j0
unstable for  > 0.3
Simulations at RTT =300 ms
N=60 flows
C=3750 packets/sec
Parabolic rate feedback B = 2
L(s )


W02N B  NR W0  x ref

2R 2 C 
C
2
s
RW0



B 1
B 2

W02N
2R 2C
 NR W0  x ref
2
C

2
s
RW0




NW03 N
 W0  xref
2 R
2RC
RW0
s 1
2
Where, W0 satisfies:
  W04  2xref
N 2
R
N
R
2
W03  xref
W02  2C 2  0

Multiple Equilibria (Throughput)
Multiple Equilibria (Stability)
N=60 flows
C=3750 packets/sec
Stability (B=2) x ref  C
unstable for  > 0.8
Simulations at RTT = 300 ms
N=60 flows
C=3750 packets/sec
Implementation and Experiments
Implementing PI controller
q(t)
p(t)
PI
qref
Integral controller, regulates router buffer to some
operator 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
Packet from priority class i
packet
0101
Table for class i
0101
.12767
Dropping
module
Lookup probability
Append pointer to probability lookup table
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
StudyImplementation
of AQM at UNCof 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?
Handwaving explanation
FIFO
RED
K
B
RTT p
B
K
RTT  p 
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
Cumulative probability
Plot of CDF of response time of
requests (80% load)
Response time (ms)
Cumulative probability
Plot of CDF of response time of
requests (100% load)
PI, qref=20
FIFO, RED
PI, qref=200
Response time (ms)
Cumulative probability
Plot of CDF of response time of
requests (110% load)
PI, qref=20
FIFO, RED
PI, qref=200
Response time (ms)
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