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