CMPE 548

CMPE 548
Routing and Congestion Control
D. Arifler
CMPE 548 Fall 2005
1
Flow models and optimal routing
rw2
Origin for
OD pair w2
x1
rw1
Origin for
OD pair w1
x2
x3
Destination for
OD pair w1
W: Set of all OD pairs w1, w2, …
PW: Set of all directed paths connecting OD pair w
xp: Flow (data units/s) of path p
rw: Traffic input of OD pair w
D. Arifler
Destination for
OD pair w1
CMPE 548 Fall 2005
Path 1
Path 2
Path 3
2
Formulation of optimal routing problem
• Define the following:
– Cij: Transmission capacity of link (i,j)
– Fij: Traffic arrival rate on link (i,j)
– dij: Processing and propagation delay
• Cost function:
– Average no. of packets on link (i,j):
Dij ( Fij ) 
• Optimal routing problem:


min  Dij 
xp 

(i , j )
 all paths p containing (i,j) 
subject to  x p  rw for all w  W
Fij
Cij  Fij
 dij Fij
Note: Dij is defined on [0,Cij)
pPw
xp  0
D. Arifler
for all p  Pw , w  W
CMPE 548 Fall 2005
3
Congestion/flow control
• Congestion/flow control: Restricting input rates
to “reasonable” levels
• Such restriction must be done fairly!
– Fairness characterizes how competing users should share
bottleneck resources (See “Max-Min Fairness” lecture)
• Assume we are given “utility functions” Uw
– Utility functions map service delivered (rate) into performance
• We will consider the problem that combines
optimal routing and congestion control:
– Select xp and rw to maximize sum of utilities of flows minus the
sum of link costs
D. Arifler
CMPE 548 Fall 2005
4
Utility functions
• Suppose an amount x of commodity has utility
(or value) U(x) to a consumer
– U(x) is called the utility function
• Utility functions are non-decreasing,
continuously differentiable, concave functions
– e.g. U(x)=βlog(x) for β>0
• Marginal utility U’(x):
– If x is increased by a small amount ε, the utility U(x) is increased
by εU’(x)+o(x)
– Since U is concave, U’ is monotone non-increasing in x
D. Arifler
CMPE 548 Fall 2005
5
Fair allocation (1)
• Consider a vector of allocations x=(x1, …, xn)
– xi: Amount allocated to ith user
• Suppose x is constrained to lie in a set S
assumed to be a closed, bounded and convex
n
R
subset of 
– e.g. S={ Ax<c } for matrix A and vector c
– A set is convex if the line segment joining any two points in the
set is also in the set
• Suppose Ui measures the “value” of allocation to
user i
D. Arifler
CMPE 548 Fall 2005
6
Fair allocation (2)
• A reasonable allocation
criteria is to select x to
n
solve
max U ( x )
xS

i 1
i
i
– If x* is optimal and x is any other vector in S and 0<ε≤1, then the
vector x*+ε(x-x*) lies on the line segment joining x* and x, hence
such vector is in S
– By optimality of x*
U (x



1
n
i 1
D. Arifler
i
*
i
  ( xi  x ))  U i ( x )   0
*
i
CMPE 548 Fall 2005
*
i
7
Fair allocation (3)
• Letting ε→0, the following is a necessary and
sufficient condition for x* to be optimal:
n
U
i 1
i
'( x )( xi  x )  0
*
i
*
i
for all x  S
• When we have logarithmic utility functions,
Ui(xi)=βilog(xi):
( xi  x )
i
0

*
xi
i 1
n
D. Arifler
*
i
CMPE 548 Fall 2005
for all x  S
8
Proportionally fair allocation
( xi  x )
i
0

*
xi
i 1
n
*
i
for all x  S
• This states that no vector x can offer a positive
weighted sum of normalized improvement over
x*
• A vector x* that satisfies the inequality above is
said to be proportionally fair (with weight βi)
D. Arifler
CMPE 548 Fall 2005
9
Optimal routing and congestion control
x1
rw1
Origin for
OD pair w1
x2
x3
rw: Desired input by OD pair w
xp: Flow (data units/s) of path p
rw: Traffic input of OD pair w
yw: Overflow (portion blocked out)
D. Arifler
Destination for
OD pair w1
Overflow link: yw=rw-rw
CMPE 548 Fall 2005
10
Combined problem
Combined optimal routing and congestion control problem:


min  U w ( rw  yw )   Dij 
xp 

wW
(i , j )
 all paths p containing (i,j) 
subject to  x p  yw  rw for all w  W
pPw
D. Arifler
xp  0
for all p  Pw , w  W
yw  0
for all w  W
CMPE 548 Fall 2005
11
Additional note on the constraints
• Note that in optimal routing problem (and in the
one combined with congestion control), one
additional obvious constraint is the capacity
constraint Fij<Cij
• This is normally ignored since Dij→∞ as Fij →Cij,
and its effect is automatically brought into play
D. Arifler
CMPE 548 Fall 2005
12
Additional note on S={ Ax<c }
• The constraint xεS ensures that the flow on link
m does not exceed its capacity
– A is called the incidence matrix
– Amn=1 if path n crosses link m, and Amn=0, otherwise
– c is a vector whose elements are the capacities of corresponding
links
x1
Example:
1
2
3
4
x2
D. Arifler
CMPE 548 Fall 2005
1

1

A
0

1
0

1
1

0
13
Additional note on the derivative
f ( x)  f ( x0 )
f '( x0 )  lim
x  x0
x  x0
Question: Apply the definition of the derivative to the expression
on slide 7 to obtain the necessary and sufficient condition on slide 8.
D. Arifler
CMPE 548 Fall 2005
14
Additional notes: (p,α)-proportionally fair
• Let p=(p1, …, pn) and α be positive numbers
• x* is (p,α)-proportionally fair if it is feasible and
for any other x
*
p
i
i
xi  xi
x 
* 
0
for all x  S
i
– This reduces to proportionally fair when p=(1, …, 1) and α=1
– (p,α)-proportionally fair rate vector approaches max-min fair rate
vector as α→∞
– Max-min fairness is the most common notion of fairness: x is
max-min fair if any rate xi cannot be increased without
decreasing some xj which is smaller than or equal to xi
D. Arifler
CMPE 548 Fall 2005
15
Additional notes on max-min fairness
• Resources are allocated in order of increasing
demand
• No source gets a resource share larger than its
demand
• Sources with unsatisfied demands get an equal
share of the resource
• For more, see lecture on “Max-Min Fairness”
D. Arifler
CMPE 548 Fall 2005
16