Network Utility Maximization Mohammad Alizadeh Fall 2016 1 What Problem is TCP really solving 2 1 Mbs x 1 x 2 x 3 Maxmin rate allocation x 1 x 2 x 3 Maxmin ID: 931052
Download Presentation The PPT/PDF document "6.829 Computer Networks Lecture 6:" is the property of its rightful owner. Permission is granted to download and print the materials on this web site for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.
Slide1
6.829Computer Networks
Lecture 6: Network Utility MaximizationMohammad AlizadehFall 2016
1
Slide2What Problem is TCP really solving?
2
1 Mb/s
x
1
= ?
x
2
= ?
x
3
= ?
Max-min rate allocation?
x
1
x
2
x
3
Max-min
1/31/31/3TCP1/31/31/3
Assuming equal RTTs
Slide3What Problem is TCP really solving?
3
1 Mb/s
x
1
= ?
x
2
= ?x3 = ?Max-min rate allocation?1 Mb/s
x
1
x
2
x
3
Max-min
1/2
1/2
1/2
TCP
~0.4
~0.6
~0.6
Slide4What Problem is TCP
really solving?
4
1 Mb/s
x
1
= ?
x
2
= ?x3 = ?1 Mb/s
1 Mb/s
What is the difference between these links?
Slide5What Problem is TCP really solving?
5
Slide6Network Utility Maximization
6
TCP is solving
an optimization
problem!
Spurred a lot of research on analyzing and designing network protocols from the lens of optimization
>
5000 citations
Slide7Outline for Rest of Lecture
Network Utility Maximization (NUM)Distributed Algorithm for NUMTCP’s NUM Problem
7
Slide8Utility Function
The benefit derived from sending at rate x
We’ll assume U(.) is
increasing
&
concave
8
Good model for elastic flows
e
.g. file downloads
Slide9Examples of Utility Functions
9
Slide10Network Utility Maximization (NUM)
maximize log(x1) + log(x2) + log(x3)subject to: x
1 + x2 ≤ 1
x
1
+
x
3 ≤
1 10c1 = 1 Mb/sx1 x2 x3
c
2
= 1 Mb/s
Slide11Network Utility Maximization (NUM)
maximize log(x1) + log(x2) + log(x3)subject to:
11
x
1
x
2
x
3
1 1 01 0 1c1 = 1 Mb/sx1 x2 x3
c
2
= 1 Mb/s
1
1
Slide12NUM: General Case
12
maximize
subject to:
x
1
x
2
x
Nc1c2cL0 1 0 1 11 0 1 0 0
0
0 1 1 0N flowsL linksRLxN routing matrix
Slide13NUM Example 1: Throughput Maximization
13maximize x1 + x2 + x
3subject to:
x
1
+ x
2
≤ 1
x1 + x3 ≤ 1 c1 = 1 Mb/sx1 x2 x3
c
2
= 1 Mb/s
x
1
★
=
0 Mb/s
x
2
★
=
1
Mb/s
x
3
★
=
1
Mb/s
Slide14NUM Example 2: Proportional Fairness
14maximize log(x1) + log(x2
) + log(x3)subject to: x
1
+ x
2
≤ 1
x1 + x3 ≤ 1 c1 = 1 Mb/sx1 x2 x3
c
2
= 1 Mb/s
x
1
★
= 1/3
Mb/s
x
2
★
=
2/3
Mb/s
x
3
★
=
2/3
Mb/s
Slide15NUM Example 3:“α-fairness”
15
c
1
= 1 Mb/s
x
1
x
2
x3
c
2
= 1 Mb/s
maximize
subject to: x
1
+ x
2
≤ 1
x
1
+
x
3
≤
1
α ≥ 0 (a constant)
alpha
Objective
α = 0
Thrput
Maximization
α = 1
Proportional
Fairness
α
∞
Max-min Fairness
Slide16Outline
The Network Utility Maximization (NUM) ProblemDistributed Algorithm for NUMTCP’s NUM Problem16
Slide17Proportional Fairness Example
maximize log(x1) + log(x2) + log(x3)subject to: x1
+ x2 ≤ 1
x
1
+
x
3 ≤
1 17c1 = 1 Mb/sx1 x2 x3
c
2
= 1 Mb/s
Slide18Distributed Algorithm
18
c
1
= 1 Mb/s
x
1
x
2
x3
c
2
= 1 Mb/s
p
l
= “congestion price” for link
l
price per
unit of bandwidth (
p
l
≥ 0)
q
i
= total price for source
i
Sum of prices on source
i’s
path
p
1
p
2
Slide19The Source Problem
19
c
1
= 1 Mb/s
x
1
x
2
x3
c
2
= 1 Mb/s
Pick
rate x
i
to
maximize utility: log(x
i
) – q
i
x
i
p
1
p
2
x
i
= 1/q
i
This is done
independently
at each
source.
benefit
cost
Slide20The Network Problem
20
c
1
= 1 Mb/s
x
1
x
2
x3
c
2
= 1 Mb/s
Adapt link prices periodically based on congestion
p
1
p
2
p
l
(t+1) = [
p
l
(
t) +
κ
(
y
l
(t) – c
l
) ]
+
total traffic at link
l
[.]
+
= max(., 0)
Slide21The Network Problem
21
c
1
= 1 Mb/s
x
1
x
2
x3
c
2
= 1 Mb/s
Adapt link prices periodically based on congestion
p
1
p
2
p
l
(t+1) = [
p
l
(
t) +
κ
(
y
l
(t) – c
l
) ]
+
This is done
independently
at each
link.
Slide22Putting it All Together
22
c
1
= 1 Mb/s
x
1
x
2
x3
c
2
= 1 Mb/s
Sources
p
1
p
2
x
1
(t) = 1 / (p
1
(t) + p
2
(t))
x
2
(
t) = 1 /
p
1
(t
)
x
3
(
t) = 1 /
p
2
(t
)
Links
p
1
(t+1) = [p
1
(t) +
κ
(y
1
(t) – c
1
)]
+
p
2
(
t+1) = [
p
2
(
t) +
κ
(
y2(t) – c2)]+
Slide23Example
23
Slide24Outline
The Network Utility Maximization (NUM) ProblemNUM Distributed AlgorithmTCP’s NUM Problem24
Slide25TCP + PI
25
c
1
= 1 Mb/s
x
1
x
2
x3
c
2
= 1 Mb/s
Sources
p
1
p
2
Links
p
1
(t+1) = [p
1
(t) +
κ
(y
1
(t) – c
1
)]
+
p
2
(
t+1) = [
p
2
(
t) +
κ
(
y
2
(
t) –
c
2
)
]
+
x
1
(t) = 1 / RTT
1
x
2
(
t) = 1 /
RTT
2
x
3
(
t) = 1 / RTT3
Slide26What is TCP’s Utility Function?
26
Slide2727