TCP Flow Control Tutorial

Download Report

Transcript TCP Flow Control Tutorial

Multi-Gbps TCP
9:00-10:00
Harvey Newman (Physics, Caltech)
High speed networks & grids
10:00-10:45
Sylvain Ravot (Physics, Caltech/CERN)
LHC networks and TCP Grid
10:45-11:00
Discussion
11:00-11:15
Break
11:15-12:00
Steven Low (CS/EE, Caltech)
TCP/AQM protocols and duality model
12:00-12:15
Dohy Hong (INRIA/Caltech)
Synchronization effect of TCP
12:15- 1:00
Lunch
Multi-Gbps TCP
1:00-2:00
Fernando Paganini (EE, UCLA)
Control theory and stability of TCP/AQM
2:00-2:30
Steven Low (CS/EE, Caltech)
Stabilized Vegas (& instability of Reno/RED)
2:30-3:00
Zhikui Wang (EE, UCLA)
FAST simulations
3:00-3:15
Break
3:15-4:00
David Wei, Cheng Hu (CS, Caltech)
Some related projects and TCP kernel
4:00-4:15
Break
4:15-5:00
Discussion
Dualtiy Model of
TCP/AQM
Steven Low
CS & EE, Caltech
netlab.caltech.edu
2002
Copyright, 1996 © Dale Carnegie & Associates, Inc.
Acknowledgment
S. Athuraliya, D. Lapsley, V. Li, Q. Yin
(UMelb)
S. Adlakha (UCLA), D. Choe
(Postech/Caltech), J. Doyle (Caltech), K.
Kim (SNU/Caltech), L. Li (Caltech), F.
Paganini (UCLA), J. Wang (Caltech)
L. Peterson, L. Wang (Princeton)
Part I
Protocols
Window Flow Control
RTT
Source
1 2
W
W
time
ACKs
data
Destination
1 2
1 2
W
1 2
W
time
~ W packets per RTT
Lost packet detected by missing ACK
Source Rate
Limit the number of packets in the network
to window W
W  MSS
Source rate =
bps
RTT
If W too small then rate « capacity
If W too big then rate > capacity
=> congestion
TCP Window Flow Controls
 Receiver flow control
 Avoid overloading receiver
 Set by receiver
 awnd: receiver (advertised) window
 Network flow control
 Avoid overloading network
 Set by sender
 Infer available network capacity
 cwnd: congestion window
 Set W = min (cwnd, awnd)
Receiver Flow Control
Receiver advertises awnd with each ACK
Window awnd
closed when data is received and ack’d
opened when data is read
Size of awnd can be the performance limit
(e.g. on a LAN)
sensible default ~16kB
Network Flow Control
Source calculates cwnd from indication of
network congestion
Congestion indications
Losses
Delay
Marks
Algorithms to calculate cwnd
Tahoe, Reno, Vegas, RED, REM …
TCP Congestion Controls
 Tahoe
(Jacobson 1988)
 Slow Start
 Congestion Avoidance
 Fast Retransmit
 Reno
(Jacobson 1990)
 Fast Recovery
 Vegas
(Brakmo & Peterson 1994)
 New Congestion Avoidance
 RED
(Floyd & Jacobson 1993)
 Probabilistic marking
 BLUE (Feng, Kandlur, Saha, Shin 1999)
 REM/PI (Athuraliya et al 2000/Hollot et al 2001)
 Clear buffer, match rate
 AVQ
(Kunniyur & Srikant 2001)
TCP/AQM
 Tahoe (Jacobson 1988)
 Slow Start
 Congestion Avoidance
 Fast Retransmit
 Reno (Jacobson 1990)
 Fast Recovery
 Vegas (Brakmo & Peterson 1994)
 New Congestion Avoidance
 BLUE
 RED (Floyd & Jacobson 1993)
 REM/PI (Athuraliya et al 2000, Hollot et al 2001)
TCP Tahoe
(Jacobson 1988)
window
SS
CA
SS: Slow Start
CA: Congestion Avoidance
time
Slow Start
Start with cwnd = 1 (slow start)
On each successful ACK increment cwnd
cwnd  cnwd + 1
Exponential growth of cwnd
each RTT: cwnd  2 x cwnd
Enter CA when cwnd >= ssthresh
Slow Start
sender
receiver
cwnd
1
1 RTT
2
data packet
ACK
3
4
5
6
7
8
cwnd  cwnd + 1 (for each ACK)
Congestion Avoidance
Starts when cwnd  ssthresh
On each successful ACK:
cwnd  cwnd + 1/cwnd
Linear growth of cwnd
each RTT: cwnd  cwnd + 1
Congestion Avoidance
sender
receiver
cwnd
1
2
data packet
ACK
1 RTT
3
4
cwnd  cwnd + 1 (for each cwnd ACKS)
Packet Loss
Assumption: loss indicates congestion
Packet loss detected by
Retransmission TimeOuts (RTO timer)
Duplicate ACKs (at least 3)
Packets
1
2
3
4
5
7
6
Acknowledgements
1
2
3
3
3
3
Fast Retransmit
Wait for a timeout is quite long
Immediately retransmits after 3 dupACKs
without waiting for timeout
Adjusts ssthresh
flightsize = min(awnd, cwnd)
ssthresh  max(flightsize/2, 2)
Enter Slow Start (cwnd = 1)
Successive Timeouts
When there is a timeout, double the RTO
Keep doing so for each lost retransmission
 Exponential back-off
 Max 64 seconds1
 Max 12 restransmits1
1 - Net/3 BSD
Summary: Tahoe
 Basic ideas
 Gently probe network for spare capacity
 Drastically reduce rate on congestion
 Windowing: self-clocking
 Other functions: round trip time estimation, error
recovery
for every ACK {
if (W < ssthresh) then W++
else W += 1/W
}
for every loss {
ssthresh = W/2
W = 1
}
(SS)
(CA)
TCP Reno
SS
(Jacobson 1990)
CA
Fast retransmission/fast recovery
Fast recovery
 Motivation: prevent `pipe’ from emptying after
fast retransmit
 Idea: each dupACK represents a packet having
left the pipe (successfully received)
 Enter FR/FR after 3 dupACKs
 Set ssthresh  max(flightsize/2, 2)
 Retransmit lost packet
 Set cwnd  ssthresh + ndup (window inflation)
 Wait till W=min(awnd, cwnd) is large enough;
transmit new packet(s)
 On non-dup ACK (1 RTT later), set cwnd  ssthresh
(window deflation)
 Enter CA
Example: FR/FR
S 1 2 3 4 5 6 7 8
1
9 10 11
time
Exit FR/FR
R
0 0 0 0 0 0 0
cwnd 8
ssthresh
7
4
time
8
9
4
11
4
4
4
Fast retransmit
Retransmit on 3 dupACKs
Fast recovery
Inflate window while repairing loss to fill pipe
Summary: Reno
Basic ideas
Fast recovery avoids slow start
dupACKs: fast retransmit + fast recovery
Timeout: fast retransmit + slow start
dupACKs
congestion
avoidance
FR/FR
timeout
slow start
retransmit
Active queue management
Idea: provide congestion information by
probabilistically marking packets
Issues
How to measure congestion (p and G)?
How to embed congestion measure?
How to feed back congestion info?
x(t+1) = F( p(t), x(t) )
p(t+1) = G( p(t), x(t) )
Reno, Vegas
DropTail, RED, REM
RED
(Floyd & Jacobson 1993)
 Congestion measure: average queue length
pl(t+1) = [pl(t) + xl(t) - cl]+
 Embedding: p-linear probability function
marking
1
Avg queue
 Feedback: dropping or ECN marking
REM
(Athuraliya & Low 2000)
 Congestion measure: price
pl(t+1) = [pl(t) + g(al bl(t)+ xl (t) - cl )]+
 Embedding:
 Feedback: dropping or ECN marking
REM
(Athuraliya & Low 2000)
 Congestion measure: price
pl(t+1) = [pl(t) + g(al bl(t)+ xl (t) - cl )]+
 Embedding: exponential probability function
1
0.9
Link marking probability
0.8
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0
0
2
4
6
8
10
12
Link congestion measure
14
16
18
20
 Feedback: dropping or ECN marking
Key features
Clear buffer and match rate
pl (t  1)  [ pl (t )  g ( al bl (t )  xˆ l (t )  cl )]
Clear buffer
Match rate
Sum prices
1
 pl (t )
 1
 p s (t )
Theorem (Paganini 2000)
Global asymptotic stability for general utility
function (in the absence of delay)
Active Queue Management
DropTail
RED
Vegas
REM
pl(t)
loss
queue
delay
price
G(p(t), x(t))
[1 - cl/xl (t)]+ (?)
[pl(t) + xl(t) - cl]+
[pl(t) + xl (t)/cl - 1]+
[pl(t) + g(al bl(t)+ xl (t) - cl )]+
x(t+1) = F( p(t), x(t) )
p(t+1) = G( p(t), x(t) )
Reno, Vegas
DropTail, RED, REM
Congestion & performance
Reno
Reno/RED
Reno/REM
Vegas
pl(t)
loss
queue
price
delay
G(p(t), x(t))
[1 - cl/xl (t)]+ (?)
[pl(t) + xl(t) - cl]+
[pl(t) + g(al bl(t)+ xl (t) - cl )]+
[pl(t) + xl (t)/cl - 1]+
 Decouple congestion & performance measure
 RED: `congestion’ = `bad performance’
 REM: `congestion’ = `demand exceeds supply’
But performance remains good!
Part II
Duality Model
Congestion Control
Heavy tail  Mice-elephants
Internet
Elephant
efficient & fair sharing
Mice
small delay
queueing + propagation
Congestion control
CDN
TCP
xi(t)
TCP & AQM
pl(t)
xi(t)
Example congestion measure pl(t)
Loss (Reno)
Queueing delay (Vegas)
Outline
Protocol
(Reno, Vegas, RED, REM/PI…)
x(t  1)  F ( p(t ), x(t ))
p(t  1)  G ( p(t ), x(t ))
Equilibrium
 Performance
 Throughput, loss, delay
 Fairness
 Utility
Dynamics
 Local stability
 Cost of stabilization
TCP & AQM
pl(t)
xi(t)
TCP:
 Reno
 Vegas
AQM:
 DropTail
 RED
 REM/PI
 AVQ
TCP & AQM
pl(t)
xi(t)
TCP:
 Reno
 Vegas
AQM:
 DropTail
 RED
 REM/PI
 AVQ
Model structure
Multi-link multi-source network
x
Rf(s)
F1
y
G1
FN
q
TCP
GL
Rb
’(s)
Network
p
AQM
from F. Paganini
TCP Reno
(Jacobson 1990)
window
SS
time
CA
SS: Slow Start
CA: Congestion Avoidance
Fast retransmission/fast recovery
TCP Vegas
(Brakmo & Peterson 1994)
window
SS
CA
 Converges, no retransmission
 … provided buffer is large enough
time
Vegas model
for every RTT
{
if W/RTTmin – W/RTT < a then W ++
if W/RTTmin – W/RTT > a then W --
}
for every loss
W := W/2
Fi:

1
xi (t  1   xi (t )  2
Di


1
xi (t  1   xi (t )  2
Di

xs (t  1  xs (t )
Gl:
queue size
if xi (t )qi (t )  a i d i
if xi (t )qi (t )  a i d i
else
pl(t+1) = [pl(t) + yl (t)/cl - 1]+
Vegas model
x
y
Rf(s)
F1
Network
TCP
G1
FN
q
AQM
GL
Rb
p
’(s)
1
Fi  xi (t ) 
sgn(a i di  xi (t )qi (t ) 
2
(di  qi (t ))


yl (t )
Gl   pl (t ) 
 1
cl



Overview
Protocol
(Reno, Vegas, RED, REM/PI…)
x(t  1)  F ( p(t ), x(t ))
p(t  1)  G ( p(t ), x(t ))
Equilibrium
 Performance
 Throughput, loss, delay
 Fairness
 Utility
Dynamics
 Local stability
 Cost of stabilization
Model
 Network
 Links l of capacities cl
Sources i
L(s) - links used by source i
Ui(xi) - utility if source rate = xi
x1
x1  x3  c2
x1  x2  c1
c1
c2
x2
x3
Primal problem
max
xi 0
subject to
U ( x )
i
i
i
yl  cl ,
Assumptions
Strictly concave increasing Ui
 Unique optimal rates xi exist
 Direct solution impractical
l  L
Related Work
 Formulation
 Kelly 1997
 Penalty function approach
 Kelly, Maulloo & Tan 1998
 Kunniyur & Srikant 2000
 Duality approach
 Low & Lapsley 1999
 Athuraliya & Low 2000
 Extensions
 Mo & Walrand 2000
 La & Anantharam 2000
 Dynamics
 Johari & Tan 2000, Massoulie 2000, Vinnicombe 2000, …
 Hollot, Misra, Towsley & Gong 2001
 Paganini 2000, Paganini, Doyle, Low 2001, …
Duality Approach
Primal : max
xs  0
Dual :
 U s ( xs )
subject to x l  cl , l  L
s

min D( p)   max
p 0
 xs  0
l 
U
(
x
)

p
(
c

x
s s s l l l ) 
Primal-dual algorithm:
x(t  1)  F ( p(t ), x(t ))
p(t  1)  G ( p(t ), x(t ))
Duality Model of TCP
 Source algorithm iterates on rates
 Link algorithm iterates on prices
 With different utility functions
Primal-dual algorithm:
x(t  1)  F ( p(t ), x(t ))
p(t  1)  G ( p(t ), x(t ))
Reno, Vegas
DropTail, RED, REM
Duality Model of TCP
(x*,p*) primal-dual optimal if and only if
yl*  cl with equality if pl*  0
Primal-dual algorithm:
x(t  1)  F ( p(t ), x(t ))
p(t  1)  G ( p(t ), x(t ))
Reno, Vegas
DropTail, RED, REM
Duality Model of TCP
Any link algorithm that stabilizes queue
 generates Lagrange multipliers
 solves dual problem
Primal-dual algorithm:
x(t  1)  F ( p(t ), x(t ))
p(t  1)  G ( p(t ), x(t ))
Reno, Vegas
DropTail, RED, REM
Gradient algorithm
 Gradient algorithm
source :
xi (t 1)  Ui'1 (qi (t ))
link:
pl (t 1)  [ pl (t )  g l ( yl (t )  cl )]
Theorem (Low & Lapsley ’99)
Converge to optimal rates in distributed
asynchronous environment
Gradient algorithm
 Gradient algorithm
source :
xi (t 1)  Ui'1 (qi (t ))
link:
pl (t 1)  [ pl (t )  g l ( yl (t )  cl )]
 Vegas: approximate gradient algorithm
1
Fi  xi (t ) 
sgn(xi (t )  xi (t ) 
2
(d i  qi (t ))
Ui'1 (qi (t ))
Summary: equilibrium
 Flow control problem
U s ( xs )

max
x 0
s
s
subject to
x c,
l
l
l  L
 Primal-dual algorithm
x(t  1)  F ( p(t ), x(t ))
p(t  1)  G ( p(t ), x(t ))
 TCP/AQM
 Maximize aggregate source utility
 With different utility functions
Reno, Vegas
DropTail, RED, REM
Implications
Performance
Rate, delay, queue, loss
Fairness
Utility function
Persistent congestion
Performance
Delay
Congestion measures: end to end queueing
delay
ds
Sets rate xs (t )  a s
qs (t )
Equilibrium condition: Little’s Law
Loss
No loss if converge (with sufficient buffer)
Otherwise: revert to Reno (loss unavoidable)
Vegas Utility
Equilibrium (x, p) = (F, G)
U i ( xi )  a i di log xi
Proportional fairness
Validation
(L. Wang, Princeton)
Source 1
RTT (ms)
Rate (pkts/s)
Window (pkts)
Avg backlog (pkts)
Source 3
17.1 (17)
1205 (1200)
20.5 (20.4)
9.8 (10)
meausred
21.9 (22)
1228 (1200)
27 (26.4)
Source 5
41.9 (42)
1161 (1200)
49.8 (50.4)
theory
NS-2 simulation, single link, capacity = 6 pkts/ms
5 sources with different propagation delays, as = 2 pkts/RTT
Persistent congestion
 Vegas exploits buffer process to compute prices
(queueing delays)
 Persistent congestion due to
 Coupling of buffer & price
 Error in propagation delay estimation
 Consequences
 Excessive backlog
 Unfairness to older sources
Theorem
(Low, Peterson, Wang ’02)
A relative error of es in propagation delay estimation
distorts the utility function to
Uˆ s ( xs )  (1  e s )a s ds log xs  e s ds xs
Validation
(L. Wang, Princeton)
Without estimation error
With estimation error
 Single link, capacity = 6 pkt/ms, as = 2 pkts/ms, ds = 10 ms
 With finite buffer: Vegas reverts to Reno
Validation
(L. Wang, Princeton)
Source rates (pkts/ms)
# src1
src2
1 5.98 (6)
2 2.05 (2)
3.92 (4)
3 0.96 (0.94) 1.46 (1.49)
4 0.51 (0.50) 0.72 (0.73)
5 0.29 (0.29) 0.40 (0.40)
#
1
2
3
4
5
queue (pkts)
19.8 (20)
59.0 (60)
127.3 (127)
237.5 (238)
416.3 (416)
src3
src4
3.54 (3.57)
1.34 (1.35)
0.68 (0.67)
3.38 (3.39)
1.30 (1.30)
baseRTT (ms)
10.18 (10.18)
13.36 (13.51)
20.17 (20.28)
31.50 (31.50)
49.86 (49.80)
src5
3.28 (3.34)
Vegas/REM
peak = 43 pkts
utilization : 90% - 96%
Vegas/REM
Vegas
Outline
Protocol
(Reno, Vegas, RED, REM/PI…)
x(t  1)  F ( p(t ), x(t ))
p(t  1)  G ( p(t ), x(t ))
Equilibrium
 Performance
 Throughput, loss, delay
 Fairness
 Utility
Dynamics
 Local stability
 Cost of stabilization
Vegas model
x
y
Rf(s)
F1
Network
TCP
G1
FN
q
AQM
GL
Rb
p
’(s)
1
Fi  xi (t ) 
sgn(a i di  xi (t )qi (t ) 
2
(di  qi (t ))


yl (t )
Gl   pl (t ) 
 1
cl



Vegas model
x
Rf(s)
F1
Network
TCP
y
G1
FN
GL
q
Rb
R 
f li
AQM
e
Rb li  e

 s li

 s li
’(s)
p
if source i uses link l
if sourcei uses link l
Approximate model
(
1
xi ( t ) qi ( t )
xi (t ) 
sgn
1

a i di
T (t ) 2

Approximate model
(
1
xi ( t ) qi ( t )
xi (t ) 
sgn
1

a i di
T (t ) 2

xi (t ) 
2
(
1
xi ( t ) qi ( t )
-1
tan

1

a i di
 T (t ) 2

Linearized model
x
Rf(s)
F1
Network
TCP
y
G1
FN
q
xi
ai
xi  
qi
qi sTi  ai
2 1
ai  
 xiTi
AQM
GL
Rb
’(s)
p
p l  
g
cl
yl
g controls equilibrium delay
Stability
Theorem (Choe & Low, ‘02)
Locally asymptotically stable if
ai sin  c
link queueing delay

roud trip time
min ai  c
> 0.63
Cannot be satisfied with >1 bottleneck link!
Stabilized Vegas
xi (t ) 
2
(
1
xi ( t ) qi ( t )
-1
tan

1

a i di
 T (t ) 2
2
(
1
-1
xi (t ) 
t
an
 1
2
 T (t )

xi ( t ) qi ( t )
a i di
  i qi (t )

Linearized model
x
Rf(s)
F1
Network
TCP
y
G1
FN
q
xi
ai
xi  
qi
qi sTi  ai
AQM
GL
Rb
’(s)
p
p l  
g
cl
yl
g controls equilibrium delay
Linearized model
x
Rf(s)
F1
Network
TCP
y
G1
FN
q
AQM
GL
Rb
’(s)
p
g
s  ai
xi   bi
qi
s  i ai
p l  
choose ai = a, ai = 
g controls equilibrium delay
cl
yl
Stability
Theorem (Choe & Low, ‘02)
Locally asymptotically stable if
round trip time
M
 σ ( a,  )
round tripqueueing
example
 LHS < 10*10 = 100
 a = 0.1,  = 0.015  s (a,) = 120
Stability
Theorem (Choe & Low, ‘02)
Locally asymptotically stable if
round trip time
M
 σ ( a,  )
round tripqueueing
Application
 Stabilized TCP with current routers
 Queueing delay as congestion measure has the right scaling
 Incremental deployment with ECN
Papers
netlab.caltech.edu
 A duality model of TCP flow controls (ITC, Sept 2000)
 Optimization flow control, I: basic algorithm &
convergence (ToN, 7(6), Dec 1999)
 Understanding Vegas: a duality model (J. ACM, 2002)
 Scalable laws for stable network congestion
control (CDC, 2001)
 REM: active queue management (Network, May/June 2001)
Backup slides
Dynamics
Small effect on queue
AIMD
Mice traffic
Heterogeneity
Big effect on queue
Stability!
Stable: 20ms delay
Window
70
60
Window (pkts)
50
40
individual window
30
20
10
0
0
1000
2000
3000
4000
5000 6000
time (ms)
7000
8000
9000 10000
Window
Ns-2 simulations, 50 identical FTP sources, single link 9 pkts/ms, RED marking
Stable: 20ms delay
Window
Instantaneous queue
70
800
60
700
600
40
Instantaneous queue (pkts)
Window (pkts)
50
individual window
average window
30
20
500
400
300
200
10
0
0
100
1000
2000
3000
4000
5000 6000
time (ms)
Window
7000
8000
9000 10000
0
0
1000
2000
3000
4000
5000 6000
time (ms)
7000
8000
Queue
Ns-2 simulations, 50 identical FTP sources, single link 9 pkts/ms, RED marking
9000 10000
Unstable: 200ms delay
Window
70
individual window
60
Window (pkts)
50
40
30
20
10
0
0
1000
2000
3000
4000 5000 6000
time (10ms)
7000
8000
9000 10000
Window
Ns-2 simulations, 50 identical FTP sources, single link 9 pkts/ms, RED marking
Unstable: 200ms delay
Window
Instantaneous queue
70
800
individual window
700
60
600
Instantaneous queue (pkts)
Window (pkts)
(pkts)
Window
50
40
30
20
500
400
300
200
10
0
average window
0
1000
2000
3000
4000 5000 6000 7000 8000
time (10ms)
Window
100
9000 10000
0
0
1000
2000
3000
4000 5000 6000
time (10ms)
7000
Queue
Ns-2 simulations, 50 identical FTP sources, single link 9 pkts/ms, RED marking
8000
9000 10000
Other effects on queue
Instantaneous queue
20ms
50% noise
700
600
600
400
300
instantaneous queue (pkts)
500
500
400
300
500
400
300
200
200
200
100
100
100
0
0
0
1000
2000
3000
4000
5000 6000
time (ms)
7000
8000
9000 10000
0
0
10
20
40
50
60
time (sec)
70
80
90
100
200ms
500
400
300
200
200
100
100
0
3000
4000 5000 6000
time (10ms)
7000
8000
9000 10000
30
40
50
60
time (sec)
70
80
90
100
600
instantaneous queue (pkts)
instantaneous queue (pkts)
300
2000
20
avg delay 208ms
700
600
400
1000
10
Instantaneous queue (pkts)
50% noise
700
500
0
0
800
800
600
0
30
Instantaneous queue (50% noise)
Instantaneous queue
800
700
avg delay 16ms
700
600
instantaneous queue (pkts)
Instantaneous queue (pkts)
800
800
700
Instantaneous queue (pkts)
Instantaneous queue (pkts)
Instantaneous queue (50% noise)
800
500
400
300
200
100
0
10
20
30
40
50
60
time (sec)
70
80
90
100
0
0
10
20
30
40
50
60
time (sec)
70
80
90
100
Effect of instability
Larger jitters in throughput
Lower utilization
Mean and variance of individual window
160
140
variance
120
window
100
80
60
40
mean
20
0
20
No noise
40
60
80
100
120
delay (ms)
140
160
180
200
Linearized system
x
y
Rf(s)
F1
G1
Network
TCP
FN
q
AQM
GL
Rb
p
’(s)
Fi (qi (t ), xi (t )   xi (t ) 
(1  qi (t ))
 i2
xi2 (t )

qi (t )
2
~
Gl ( pl (t ), yl (t ) : Gl ( zl (t ), pl (t ), yl (t ))
Linearized system
x
y
Rf(s)
F1
G1
FN
GL
q
Rb
p
’(s)
1
ac
1
 i s
L( s ) 



e
*
* *
xn   n s

p
(

s

p
w ) s  ac s  1
i
i
i
e

c n n
TCP
RED
queue
delay
Stability condition
Theorem: TCP/RED stable if
 c 3 3
2

N
3
(c  N ) 
( 1- ) 2
4  2   2 (1   ) 2
TCP:
 Small 
 Small c
 Large N
RED:
 Small 
 Large delay
 
0
Validation
Critical frequency (Hz)
Round trip propagation delay at critical frequency (ms)
5
100
4.5
95
4
90
3.5
frequency (model)
delay (model)
85
80
75
70
3
2.5
2
65
1.5
60
1
55
0.5
50
50
dynamic-link model
30 data points
0
55
60
65
70
75
80
delay (NS)
85
90
95
100
0
0.5
1
1.5
2
2.5
3
frequency (NS)
3.5
4
4.5
5
Validation
Critical frequency (Hz)
Round trip propagation delay at critical frequency (ms)
5
100
4.5
95
4
90
3.5
frequency (model)
delay (model)
85
80
75
70
3
2.5
2
65
1.5
60
1
55
0.5
50
50
static-link model
dynamic-link model
30 data points
55
60
65
70
75
80
delay (NS)
85
90
95
100
0
0
0.5
1
1.5
2
2.5
3
frequency (NS)
3.5
44
4.5
4.5
55
Stability region
Round trip propagation delay at critical frequency
100
N=20
95
N=60
Unstable for
 Large delay
 Large capacity
 Small load
90
N=40
delay (ms)
85
80
75
N=30
70
65
60
N=20
55
50
8
9
10
11
12
capacity (pkts/ms)
13
14
15
Role of AQM
(Sufficient) stability condition
K  co{ H ( ; ) }
-1
Role of AQM
(Sufficient) stability condition
K  co{ H ( ; ) }
-1
c
TCP:
2N
2
2
e  j
j  p*w*
AQM: scale down K & shape H
Role of AQM
K 
Problem!!
co{ H ( ; ) }
c 2 2
TCP:
2N
e  j
j  p*w*
ca
RED:
1 
e  j
a 2
REM/PI:
1 
e  j
1

 j  ac
j  a1 / a2


j
Queue dynamics (windowing)
Role of AQM
To stabilize a given TCP Fi with least cost

min  xT (t )Qx(t )  pT (t ) Rp(t )dt
p ( )
0
subject to
x  F ( x, p)
 Linearized F, single link, identical sources
 * (t )  (k1b(t )  k2 y(t )  k3 y (t ))
 p
Any AQM p (t )  (k1b(t )  k2 y(t )  k3 y (t ))
solves optimal control with appropriate Q and R
Role of AQM
To stabilize a given TCP Fi with least cost

min  xT (t )Qx(t )  pT (t ) Rp(t )dt
p ( )
0
subject to
x  F ( x, p)
 Linearized F, single link, identical sources
 * (t )  (k1b(t )  k2 y(t )  k3 y (t ))
 p

k1=0
Nonzero buffer
k3=0
Slower decay