Professional Documents
Culture Documents
X
s:lL(s)
x
s
1
A
=
X
s
2
4
U
s
(x
s
)
0
@
X
lL(s)
p
l
1
A
x
s
3
5
+
X
l
c
l
p
l
=
X
s
L
s
(x
s
, q
s
) +
X
l
c
l
p
l
Dual problem:
minimize g(p) = L(x
(p), p)
subject to p 0
Dual-based Distributed Algorithm
Source algorithm:
x
s
(q
s
) = argmax [U
s
(x
s
) q
s
x
s
] , s
Selsh net utility maximization locally at source s
Link algorithm (gradient or subgradient based):
p
l
(t + 1) =
2
4
p
l
(t) (t)
0
@
c
l
X
s:lL(s)
x
s
(q
s
(t))
1
A
3
5
+
, l
Balancing supply and demand through pricing
Certain choices of step sizes (t) (e.g., (t) = 1/t) of distributed
algorithm guarantee convergence to globally optimal (x
, p
)
Reverse Engineering TCP
KKT conditions:
Primal and dual feasibility
Lagrangian maximization (selsh net-utility maximization)
Complementary slackness (generate the right prices to align selsh
interest to social welfare maximization)
p
l
> 0 indicates y
l
= c
l
(link saturation) and
y
l
< c
l
indicates p
l
= 0 (buer clearance)
Now specialize to average model of TCP Reno and TCP Vegas
Focus on congestion avoidance phase and targeted equilibrium state
TCP Reno: Source Algorithm
End-to-end marking probability q
s
. Total delay D
s
.
Window size w
s
. Actual rate
w
s
(t)
D
s
.
Net change to the window size:
x
s
(t)(1 q
s
(t))
1
w
s
(t)
x
s
(t)q
s
(t)
1
2
4w
s
(t)
3
.
Using x
s
= w
s
/D
s
, we have
x
s
(t + 1) =
x
s
(t) +
1 q
s
(t)
D
2
s
2
3
q
s
(t)x
2
s
(t)
+
.
TCP Reno: Arctan Utility
Arctan utility : U
s
(x
s
) =
p
3/2
D
s
arctan
p
2/3x
s
D
s
Why?
At equilibrium (t ),
q
s
=
3
2x
2
s
D
2
s
+ 3
.
By optimality condition, need to check
U
s
(x
s
) = q
s
(x
s
).
Get the utility function by integrating
TCP Vegas: Source Algorithm
Window size w
s
Propagation delay d
s
. Expected rate
w
s
(t)
d
s
Queuing delay q
s
and total delay D
s
. Actual rate
w
s
(t)
D
s
w
s
(t + 1) =
8
>
>
<
>
>
:
w
s
(t) +
1
D
s
(t)
if
w
s
(t)
d
s
w
s
(t)
D
s
(t)
<
s
w
s
(t)
1
D
s
(t)
if
w
s
(t)
d
s
w
s
(t)
D
s
(t)
>
s
w
s
(t) else.
Equilibrium round-trip time and window size satisfy:
w
s
d
s
s
D
s
=
s
TCP Vegas: Log Utility Function
Log utility : U
s
(x
s
) =
s
d
s
log x
s
Why: Complementary slackness condition is satised. Need to check
U
s
(x
s
) =
s
d
s
x
s
=
X
ls
p
l
Let b
l
be equilibrium backlog at link l. Window size equals
bandwidth-delay product plus total backlog:
w
s
x
s
d
s
=
X
ls
x
s
c
l
b
l
Using x
s
= w
s
/D
s
, we have
s
=
w
s
d
s
s
D
s
=
1
d
s
(w
s
x
s
d
s
) =
1
d
s
0
@
X
ls
x
s
c
l
b
l
1
A
KKT condition satised if p
l
=
b
l
c
l
(dual variable is queuing delay)
TCP Vegas: Summary of Algorithm
Primal variable is source rate, updated by source algorithm:
w
s
(t + 1) = [w
s
(t) + v
s
(t)]
+
v
s
(t) =
1
d
s
+ q
s
(t)
[1(x
s
(t)q
s
(t) <
s
d
s
) 1(x
s
(t)q
s
(t) >
s
d
s
)]
x
s
(t) =
w
s
(t)
d
s
+ q
s
(t)
Dual variable is queuing delay, updated by link algorithm:
p
l
(t + 1) =
p
l
(t) +
1
c
l
(y
l
(t) c
l
)
+
Equilibrium: x
s
=
s
d
s
q
s
TCP Reno and Vegas
TCP Reno (with Drop Tail or RED):
Source utility: arctan
Link price: packet loss
TCP Vegas (with FIFO)
Source utility: weighted log
Link price: queuing delay
Implications: Delay, Loss, Fairness
TCP Reno: equilibrium loss probability is independent of link
algorithms and buer sizes. Increasing buer sizes alone does not
decrease equilibrium loss probability (buer just lls up)
TCP Reno: discriminates against connections with large propagation
delays
Desirable to decouple link pricing from loss
TCP Vegas: bandwidth-queuing delay product equals number of
packets buered in the network x
s
q
s
=
s
d
s
TCP Vegas: achieves proportional fairness
TCP Vegas: gradient method for updating dual variable. Converges
with the right scaling ( small enough)
Persistent congestion, TCP-friendly protocols ...
Numerical Example: Single Bottleneck
0
200
400
600
800
1000
1200
1400
1600
1800
2000
0 2 4 6 8 10 12 14 16 18 20
T
C
P
V
e
g
a
s
S
e
n
d
i
n
g
R
a
t
e
(
K
B
/
s
)
Time (second)
Average Sending Rate for Class 1a (rtt: 15 ms) PF
theoretical optimal rate
actual rate
0
200
400
600
800
1000
1200
1400
1600
1800
2000
0 2 4 6 8 10 12 14 16 18 20
T
C
P
V
e
g
a
s
S
e
n
d
i
n
g
R
a
t
e
(
K
B
/
s
)
Time (second)
Average Sending Rate for Class 3a (rtt: 20 ms) PF
theoretical optimal rate
actual rate
0
200
400
600
800
1000
1200
1400
1600
1800
2000
0 2 4 6 8 10 12 14 16 18 20
T
C
P
V
e
g
a
s
S
e
n
d
i
n
g
R
a
t
e
(
K
B
/
s
)
Time (second)
Average Sending Rate for Class 4a (rtt: 30 ms) PF
theoretical optimal rate
actual rate
0
200
400
600
800
1000
1200
1400
1600
1800
2000
0 2 4 6 8 10 12 14 16 18 20
T
C
P
V
e
g
a
s
S
e
n
d
i
n
g
R
a
t
e
(
K
B
/
s
)
Time (second)
Average Sending Rate for Class 5a (rtt: 40 ms) PF
theoretical optimal rate
actual rate
Numerical Example: General Cases
0
5
10
15
20
25
0 2 4 6 8 10 12 14 16 18 20
T
C
P
V
e
g
a
s
c
w
n
d
S
i
z
e
(
K
B
)
Time (second)
Average Window Size for Class 2a (rtt: 15 ms) WPF
theoretical optimal window
actual window
0
5
10
15
20
25
30
35
40
45
50
0 2 4 6 8 10 12 14 16 18 20
T
C
P
V
e
g
a
s
c
w
n
d
S
i
z
e
(
K
B
)
Time (second)
Average Window Size for Class 3a (rtt: 20 ms) WPF
theoretical optimal window
actual window
0
10
20
30
40
50
60
0 2 4 6 8 10 12 14 16 18 20
T
C
P
V
e
g
a
s
c
w
n
d
S
i
z
e
(
K
B
)
Time (second)
Average Window Size for Class 4a (rtt: 30 ms) WPF
theoretical optimal window
actual window
0
10
20
30
40
50
60
70
80
90
0 2 4 6 8 10 12 14 16 18 20
T
C
P
V
e
g
a
s
c
w
n
d
S
i
z
e
(
K
B
)
Time (second)
Average Window Size for Class 5a (rtt: 40 ms) WPF
theoretical optimal window
actual window
Stability and Dynamics
Optimization theoretic analysis has focused on equilibrium state
TCP congestion control may oscillates
Use control theoretic ideas to stabilize TCP
FAST TCP Theory implemented in real networks, increasing
bandwidth utilization eciency from 20% to 90%
Linux TCP Linux TCP FAST
Average
utilization
19%
27%
92%
txq= 100 txq= 10000
95%
16%
48%
Linux TCP Linux TCP FAST
2G
1G
txq= 10000 txq= 100
Lecture Summary
Ad hoc designed network protocols reverse-engineered
Implicitly solving an optimization problem (Network Utility
Maximization) distributively
Rigorous understanding of equilibrium and dynamic properties
Further lead to new design of improved protocols
Readings: S. H. Low, F. Paganini, J. C. Doyle, Internet congestion
control, IEEE Control Systems Magazine, Feb. 2002.
S. H. Low, A duality model of TCP and queue management
algorithms, IEEE/ACM Trans. Networking, August 2003.