230 likes | 340 Views
Flow Models and Optimal Routing. 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
E N D
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 Fij • 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” Dij = link measure = Cij is link capacity and dij 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 • Pw is set of all paths p connection an OD pair • Xp is the flow on path
The Path flow collection { Xp | w W, p PW } 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
Link capacity is 2 for all links 4 2 • 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 3 1
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* = {Xp*} be the optimal path flow vector • We shouldn’t be able to move traffic from p to p’ and still improve the cost ! Xp* > 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. 2nd derivative of Dij exists and is positive over [0,Cij]
C1 high capacity > X1 r 2 1 X2 > C2 low capacity minimize D(X) = D1(X1) + D2(X2) , r < C1+ C2 at optimum X1* + X2* = r , X1*, X2* 0
X1* = r, X2* = 0 X1* > 0, X2* > 0 The 2 path lengths must be the same 2 2 2
X1* X2* X1* X2* 0 r C1+C2 X1* + X2* = r
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 Cij 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 Cij gives A Substituting in constraint equation, we obtain Solving for
Subnet Design … cont Substituting in equation A Given the capacities, the “optimal” cost is • So far, we assume Fijs (routes) are known • One could now solve for Fij by minimizing the cost above w.r.t. Fij (since Cijs are eliminated) • However this leads to too many local minima with low connectivity that violates reliability
C1 C2 r . . . . . . . Cn Subnet Design … cont Minimize C1 + C2 + … + Cn 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