Flow Models and Optimal Routing
How can we evaluate the performance of a routing algorithm –quantify how well they do –use arrival rates at nodes and flow on links View each link as a queue with some given arrival statistics, try to optimize mean and variance of packet delay – hard to develop analytically
… cont Measure average traffic on link F ij –Measure can be direct (bps) or indirect (#circuits) –Statistics of entering traffic do not change (much) over time –Statistics of arrival process on a link –Change only due to routing updates
Some Basics What should be “optimized” D ij = link measure = C ij is link capacity and d ij is proc./prop delay max (link measure) link measure These can be viewed as measures of congestion
… cont Consider a particular O – D pair in the network W. Input arrival is stationary with rate W is set of all OD pairs P w is set of all paths p connection an OD pair X p is the flow on path
The Path flow collection { X p | w W, p P W } must satisfy The flow Fij on a link is minimize subject to
This cost function optimizes link traffic without regard to other statistics such as variance. Also ignores correlations of interarrival and transmission times
ODs are (1,4), (2,4), (3,4) A rate base algorithm would split the traffic 1 2 4 and 1 3 4 What happens if source at 2 and 3 are non-poisson Link capacity is 2 for all links
Recall that D(x) = Now, Where the derivative is evaluated at total flows corresponding to X If D’ ij | x is treated as the “length” of link, then is the length of path p aka first derivative length of p aka first derivative of length p
Let X* = {X p *} be the optimal path flow vector We shouldn’t be able to move traffic from p to p’ and still improve the cost ! X p * > 0 Optimal path flow is positive only on paths with minimum First Derivative Length This condition is necessary. It is also sufficient in certain cases e.g. 2 nd derivative of D ij exists and is positive over [0,C ij ]
, r < C 1 + C 2 minimize D(X) = D1(X1) + D2(X2) at optimum X 1 * + X 2 * = r, X 1 *, X 2 * 0 r 1 > 2 > X2X2 X1X1 C 2 low capacity C 1 high capacity
X 1 * = r, X 2 * = 0 X 1 * > 0, X 2 * > 0 The 2 path lengths must be the same 222
X1* + X2* = r X1*X1* X2*X2* 0 r X1*X1* X2*X2* C 1 +C 2
Topology Design Given Location of “terminals” that need to communicate OD Traffic Matrix Design Topology of a Communication Subnet location of nodes, their interconnects / capacity The local access network
Topology Design … cont Constrained by Bound on delay per packet or message Reliability in face of node / link failure Minimization of capital / operating cost
Subnet Design Given Location of nodes and traffic flow select capacity of link to meet delay and reliability guarantee –zero capacity no link –ignore reliability –assume liner cost metric Choose C ij to minimize
Subnet Design … cont Assuming M/M/1 model and Kleinrock independence approximation, we can express average delay constraint as is total arrival rate into the network
Subnet Design … cont If flows are known, introduce a Lagrange multiplier to get at L = 0 2
Subnet Design … cont Solving for C ij gives Substituting in constraint equation, we obtain Solving for A
Subnet Design … cont Substituting in equation A Given the capacities, the “optimal” cost is -So far, we assume F ij s (routes) are known -One could now solve for F ij by minimizing the cost above w.r.t. F ij (since C ij s are eliminated) -However this leads to too many local minima with low connectivity that violates reliability
Subnet Design … cont C1C1 C2C2 CnCn r Minimize C 1 + C 2 + … + C n while meeting delay constraint This is a hard problem !!
Some Heuristics We know the nodes and OD traffic We know our routing approach (minimize cost?) We know a delay constraint, a reliability constraint and a cost metric
Use a “Greedy” approach Loop Step 1: Start with a topology and assign flows Step 2: Check the delay and reliability constraints are met Step 3: Check improvement gradient descent Step 4: Perturb 1 End Loop For Step 4 -Lower capacity or remove under utilized links -Increase capacity of over utilized link -Branch Exchange Saturated Cut