D. AriflerCMPE 548 Fall CMPE 548 Routing and Congestion Control
D. AriflerCMPE 548 Fall Flow models and optimal routing Origin for OD pair w 1 Origin for OD pair w 2 Destination for OD pair w 1 r w1 r w2 x1x1 x2x2 x3x3 W: Set of all OD pairs w 1, w 2, … P W : Set of all directed paths connecting OD pair w x p : Flow (data units/s) of path p r w : Traffic input of OD pair w Path 1 Path 2 Path 3
D. AriflerCMPE 548 Fall Formulation of optimal routing problem Define the following: –C ij : Transmission capacity of link (i,j) –F ij : Traffic arrival rate on link (i,j) –d ij : Processing and propagation delay Cost function: –Average no. of packets on link (i,j): Optimal routing problem: Note: D ij is defined on [0,C ij )
D. AriflerCMPE 548 Fall 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” U w –Utility functions map service delivered (rate) into performance We will consider the problem that combines optimal routing and congestion control: –Select x p and r w to maximize sum of utilities of flows minus the sum of link costs
D. AriflerCMPE 548 Fall 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. AriflerCMPE 548 Fall Fair allocation (1) Consider a vector of allocations x=(x 1, …, x n ) –x i : Amount allocated to i th user Suppose x is constrained to lie in a set S assumed to be a closed, bounded and convex 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 U i measures the “value” of allocation to user i
D. AriflerCMPE 548 Fall Fair allocation (2) A reasonable allocation criteria is to select x to solve –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*
D. AriflerCMPE 548 Fall Fair allocation (3) Letting ε→0, the following is a necessary and sufficient condition for x* to be optimal: When we have logarithmic utility functions, U i (x i )=β i log(x i ):
D. AriflerCMPE 548 Fall Proportionally fair allocation 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. AriflerCMPE 548 Fall Optimal routing and congestion control Origin for OD pair w 1 Destination for OD pair w 1 r w1 x1x1 x2x2 x3x3 r w : Desired input by OD pair w x p : Flow (data units/s) of path p r w : Traffic input of OD pair w y w : Overflow (portion blocked out) Overflow link: y w =r w -r w
D. AriflerCMPE 548 Fall Combined problem Combined optimal routing and congestion control problem:
D. AriflerCMPE 548 Fall 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 F ij <C ij This is normally ignored since D ij →∞ as F ij →C ij, and its effect is automatically brought into play
D. AriflerCMPE 548 Fall 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 –A mn =1 if path n crosses link m, and A mn =0, otherwise –c is a vector whose elements are the capacities of corresponding links x1x1 x2x2 Example:
D. AriflerCMPE 548 Fall Additional note on the derivative Question: Apply the definition of the derivative to the expression on slide 7 to obtain the necessary and sufficient condition on slide 8.
D. AriflerCMPE 548 Fall Additional notes: (p,α)-proportionally fair Let p=(p 1, …, p n ) and α be positive numbers x* is (p,α)-proportionally fair if it is feasible and for any other x –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 x i cannot be increased without decreasing some x j which is smaller than or equal to x i
D. AriflerCMPE 548 Fall 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”