230 likes | 250 Views
Learn how to evaluate routing algorithm performance, optimize traffic flow, and design communication subnets effectively. Understand key measures of congestion, traffic flow statistics, and optimization techniques. Explore heuristic approaches and solutions for minimizing cost and meeting reliability constraints.
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