Professional Documents
Culture Documents
Introduction
Algorithms
Models
Duality model
Packet switched
Datagram service
Simple, robust
Heterogeneous
Packet switched
End-to-end
Loss (Reno)
Reno
Vegas
AQM:
DropTail
RED
REM,PI,AVQ
Outline
Introduction
Algorithms
Models
Duality model
Pre-1988
Go-back-N ARQ
Packet loss
Retransmission
Reduced throughput
Set by receiver
Set by sender
Window awnd
Congestion indications
Losses
Delay
Marks
Introduction
Algorithms
Models
Duality model
Slow Start
Congestion Avoidance
Fast Retransmit
Fast Recovery
Probabilistic marking
NewReno
SACK
Rate-halving
AQM
BLUE, SFB
Adjusts ssthresh
flightsize = min(awnd, cwnd)
ssthresh max(flightsize/2, 2)
Basic ideas
Windowing: self-clocking
Enter CA
9
9
4
0 0
Example: FR/FR
Fast retransmit
Retransmit on 3 dupACKs
Fast recovery
Basic ideas
Eliminates timeout
SACK Mathis, Mahdavi, Floyd, Romanow 96 (RFC 2018, RFC 2883)
Introduction
Algorithms
Models
Duality model
At equilibrium
Zero loss
Convergence to equilibrium
Introduction
Algorithms
Models
Duality model
Issues
Idea
A flow can buffer up to min
q
packets without being
marked
A flow that frequently buffers more than max
q
packets gets penalized
Idea:
N ~ prob(Hit)
-1
cwnd~p
-1/2
and Np
-1/2
= Q
0
implies p = (N/Q
0
)
2
Algorithm
Embedding:
Reno
Vegas
AQM:
DropTail
RED
REM,PI,AVQ
Application: Wireless TCP
Fading
Interference
Handover
Ideas
Approaches
Split TCP
Snoop agent
Problem
Previous approaches
Our approach
Idea
Router
REM capable
Host
Goodput
Performance
Goodput
Part II
Models
Congestion Control
Heavy tail Mice-elephants
Elephant
Internet
Mice
Congestion control
efficient & fair
sharing
small
delay
queueing +
propagation
CDN
TCP
x
i
(t)
TCP & AQM
x
i
(t)
p
l
(t)
Example congestion measure p
l
(t)
Loss (Reno)
Performance
Throughput, loss,
delay
Fairness
Utility
Dynamics
Local stability
Cost of stabilization
)) ( ), ( ( ) 1 (
)) ( ), ( ( ) 1 (
t x t p G t p
t x t p F t x
+
+
Outline
Introduction
Algorithms
Models
Duality model
Duality theory
Loss (Reno)
Model
c
1
c
2
Sources s
L(s) - links used by source s
U
s
(x
s
) - utility if source rate = x
s
Network
Links l of capacities c
l
x
1
x
2
x
3
1 2 1
c x x +
2 3 1
c x x +
Primal problem
L l c x
x U
l
l
s
s s
x
s
, subject to
) (
max
0
Assumptions
Strictly concave increasing U
s
Unique optimal rates x
s
exist
Formulation
Kelly 1997
Duality approach
Many extensions
History
Formulation
Kelly 1997
Duality approach
Many extensions
Duality Approach
)) ( ), ( ( ) 1 (
)) ( ), ( ( ) 1 (
t x t p G t p
t x t p F t x
+
+
Primal-dual algorithm:
,
_
) ( ) (
max
) ( min
, subject to ) (
max
0
0
0
: Dual
: Primal
l
l
l
l
s
s s
x
p
l
l
s
s s
x
x c p x U p D
L l c x x U
s
s
Duality Model of TCP/AQM
)) ( ), ( ( ) 1 (
)) ( ), ( ( ) 1 (
t x t p G t p
t x t p F t x
+
+
Primal-dual algorithm:
Reno, Vegas
DropTail, RED, REM
Basic algorithm
)) ( ( ) 1 ( : source
1 '
t p U t x
s
s s
+
+
+ + )] ) ( ( ) ( [ ) 1 ( : link
l
l
l l
c t x t p t p
Theorem (ToN99)
Converge to optimal rates in asynchronous
environment
TCP schemes are smoothed versions of
source
algorithm
Summary
L l c x
x U
l
l
s
s s
x
s
, subject to
) (
max
0
Primal-dual algorithm
)) ( ), ( ( ) 1 (
)) ( ), ( ( ) 1 (
t x t p G t p
t x t p F t x
+
+
Outline
Protocol (Reno, Vegas, RED,
REM/PI)
Equilibrium
Performance
Throughput, loss,
delay
Fairness
Utility
Dynamics
Local stability
Cost of stabilization
)) ( ), ( ( ) 1 (
)) ( ), ( ( ) 1 (
t x t p G t p
t x t p F t x
+
+
( ) ) ( ) (
2
) (
)) ( 1 )( (
t p t x
t w
w
t p t x
t w
s
s
s
s
s
x(t+1) = F( p(t), x(t) )
p(t+1) = G( p(t), x(t) )
Reno: F
Primal-dual algorithm:
Reno, Vegas
DropTail, RED, REM
for every ack (ca)
{ W += 1/W }
for every loss
{ W := W/2 }
( ) ) ( ) (
2
) (
)) ( 1 )( (
t p t x
t w
w
t p t x
t w
s
s
s
s
s
x(t+1) = F( p(t), x(t) )
p(t+1) = G( p(t), x(t) )
Reno: F
Primal-dual algorithm:
Reno, Vegas
DropTail, RED, REM
for every ack (ca)
{ W += 1/W }
for every loss
{ W := W/2 }
( ) ) ( ) (
2
) (
)) ( 1 )( (
t p t x
t w
w
t p t x
t w
s
s
s
s
s
x(t+1) = F( p(t), x(t) )
p(t+1) = G( p(t), x(t) )
Reno: F
Primal-dual algorithm:
Reno, Vegas
DropTail, RED, REM
for every ack (ca)
{ W += 1/W }
for every loss
{ W := W/2 }
( ) ) (
2
) (
)) ( 1 (
) ( ) ( ), (
2
2
t p
t x
D
t p
t x t x t p F
s
s
s s
+
Reno: Utility Function
p
D x
s s
2
2
2 2
+
( ) ) (
2
) (
)) ( 1 (
) ( ) ( ), (
2
2
t p
t x
D
t p
t x t x t p F
s
s
s s
+
( ) x p F x
s s
,
,
_
2
tan
2
) (
1
s s
s
s
reno
s
D x
D
x U
p
x
D
p
s
s
2
) 1 (
2
2
Reno: summary
Equilibrium characterization
Duality
Implications
Reno equalizes window w = D
s
x
s
inversely proportional to delay D
s
Gradient algorithm
)) ( ( ) 1 ( : source
1 '
t q U t x
i i i
+
+
+ + )] ) ( ( ) ( [ ) 1 ( : link
l l l l
c t y t p t p
( ) ) (
2
) (
)) ( 1 (
) ( ) ( ), (
2
2
t q
t x t q
t x t x t q F
i
i
i
i
i i i i
Gradient algorithm
)) ( ( ) 1 ( : source
1 '
t q U t x
i i i
+
+
+ + )] ) ( ( ) ( [ ) 1 ( : link
l l l l
c t y t p t p
+ + )) ( ) ( (
2
) (
) ( 1
2 2
t x t x
t q
t x t x
i i
i
i i
)) ( (
1 '
t q U
i i
Active Queue Management
p
l
(t) G(p(t), x(t))
DropTail loss [1 - c
l
/x
l
(t)]
+
(?)
DropTail delay [p
l
(t) + x
l
(t)/c
l
- 1]
+
RED queue [p
l
(t) + x
l
(t) - c
l
]
+
REM price [p
l
(t) + (
l
b
l
(t)+ x
l
(t) - c
l
)]
+
x(t+1) = F( p(t), x(t) )
p(t+1) = G( p(t), x(t) )
Reno, Vegas
DropTail, RED, REM
Queue
DropTail
queue = 94%
RED
min_th = 10 pkts
max_th = 40 pkts
max_p = 0.1
p = Lagrange multiplier!
p increasing in queue!
REM
queue = 1.5 pkts
utilization = 92%
= 0.05, = 0.4, = 1.15
p decoupled from queue
queue size
for every RTT
{ if W/RTT
min
W/RTT < then W
++
if W/RTT
min
W/RTT > then W
-- }
for every loss
W := W/2
Vegas
( )
s s s s s
s
s s
d t x d t w
D
t x t x
'
< + + ) ( ) ( if
1
) ( 1
2
( ) else ) ( 1 t x t x
s s
+
( )
s s s s s
s
s s
d t x d t w
D
t x t x
'
> + ) ( ) ( if
1
) ( 1
2
F:
p
l
(t+1) = [p
l
(t) + x
l
(t)/c
l
- 1]
+
G:
Performance
Delay
Sets rate
Loss
Basic algorithm
)) ( ( ) 1 ( : source
1 '
t p U t x
s s
+
Vegas & Gradient Algorithm
Basic algorithm
)) ( ( ) 1 ( : source
1 '
t p U t x
s s
+
Vegas
)) ( (
1 '
t p U
s
( ) ) ( ) ( if
1
) ( 1
2
t x t x
D
t x t x
s s
s
s s
'
< + +
( ) else ) ( 1 t x t x
s s
+
( ) ) ( ) ( if
1
) ( 1
2
t x t x
D
t x t x
s s
s
s s
'
> +
Validation
Source 1 Source 3 Source 5
RTT (ms) 17.1 (17) 21.9 (22) 41.9 (42)
Rate (pkts/s) 1205 (1200) 1228 (1200) 1161
(1200)
Window (pkts) 20.5 (20.4) 27 (26.4) 49.8
(50.4)
Avg backlog (pkts) 9.8 (10)
Single link, capacity = 6 pkts/ms
5 sources with different propagation delays,
s
= 2
pkts/RTT
meausred theory
Persistent congestion
Consequences
Excessive backlog
Evidence
Single link, capacity = 6 pkt/ms,
s
= 2 pkts/ms, d
s
= 10 ms
REM
Clear buffer : estimate of d
s
Vegas/REM
( ) ) ( ) ( if
1
) ( 1
2
t x t x
D
t x t x
s s
s
s s
'
< + +
( ) else ) ( 1 t x t x
s s
+
( ) ) ( ) ( if
1
) ( 1
2
t x t x
D
t x t x
s s
s
s s
'
> +
s
s
q
d
s s
x
end2end queueing delay
Vegas/REM
REM
Clear buffer : estimate of d
s
Vegas/REM
( ) ) ( ) ( if
1
) ( 1
2
t x t x
D
t x t x
s s
s
s s
'
< + +
( ) else ) ( 1 t x t x
s s
+
( ) ) ( ) ( if
1
) ( 1
2
t x t x
D
t x t x
s s
s
s s
'
> +
s
s
q
d
s s
x
s s
s
d D
d
s s
x
Vegas/REM
REM
Clear buffer : estimate of d
s
Vegas/REM
( ) ) ( ) ( if
1
) ( 1
2
t x t x
D
t x t x
s s
s
s s
'
< + +
( ) else ) ( 1 t x t x
s s
+
( ) ) ( ) ( if
1
) ( 1
2
t x t x
D
t x t x
s s
s
s s
'
> +
end2end price
s
s
p
d
s s
x
Vegas/REM
REM
Clear buffer : estimate of d
s
Vegas/REM
( ) ) ( ) ( if
1
) ( 1
2
t x t x
D
t x t x
s s
s
s s
'
< + +
( ) else ) ( 1 t x t x
s s
+
( ) ) ( ) ( if
1
) ( 1
2
t x t x
D
t x t x
s s
s
s s
'
> +
s
s
p
d
s s
x
end2end price
Performance
Vegas/REM Vegas
peak = 43 pkts
utilization : 90% - 96%
Conclusion
)) ( ), ( ( ) 1 (
)) ( ), ( ( ) 1 (
t x t p G t p
t x t p F t x
+
+
Duality model of TCP: (F, G, U)
Reno, Vegas
Maximize aggregate
utility
Sum prices
Outline
Protocol (Reno, Vegas, RED,
REM/PI)
Equilibrium
Performance
Throughput, loss,
delay
Fairness
Utility
Dynamics
Local stability
Cost of stabilization
)) ( ), ( ( ) 1 (
)) ( ), ( ( ) 1 (
t x t p G t p
t x t p F t x
+
+
Model structure
F
1
F
N
G
1
G
L
R
f
(s)
R
b
(s)
TCP Network
AQM
Multi-link multi-source network
AI MD
2
) (
) ( ) (
) (
1
)) ( 1 )( (
2
t x
t q t x
t x
t q t x x
i
i i i
i i
i i i i
l
b
li l i
t m t q ) ( ) (
AI MD
2
) (
) ( ) (
) (
1
)) ( 1 )( (
2
t x
t q t x
t x
t q t x x
i
i i i
i i
i i i i
i
f
i i l
t x t y ) ( ) (
(s) y p m s m
l l l l
) ( ) (
'
In Laplace domain
Closed loop system is stable if and
only if
det (I + L(s)) = 0
for no s in closed RHP
Linear Model - Network
Multi-link multi-source model
x
q
p
y
TCP Network
AQM
F
1
F
N
G
1
G
L
R
f
(s)
R
b
T
(s)
) ( ) ( ) ( ) ( ) ( s G s R s F s R s L
T
b f
Linearized system
F
1
F
N
G
1
G
L
R
f
(s)
R
b
(s)
x y
q
p
s
n
s
n
n
i
i i
i
n
e
e
x
c
s
c s
c
w p s p
s L
1
1
) (
1
) (
* * *
TCP RED queue delay
Papers