Flow Models and Optimal Routing
description
Transcript of Flow Models and Optimal Routing
![Page 1: Flow Models and Optimal Routing](https://reader036.fdocuments.in/reader036/viewer/2022062500/56815b07550346895dc8b75f/html5/thumbnails/1.jpg)
Flow Models and Optimal Routing
![Page 2: Flow Models and Optimal Routing](https://reader036.fdocuments.in/reader036/viewer/2022062500/56815b07550346895dc8b75f/html5/thumbnails/2.jpg)
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
![Page 3: Flow Models and Optimal Routing](https://reader036.fdocuments.in/reader036/viewer/2022062500/56815b07550346895dc8b75f/html5/thumbnails/3.jpg)
… 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
![Page 4: Flow Models and Optimal Routing](https://reader036.fdocuments.in/reader036/viewer/2022062500/56815b07550346895dc8b75f/html5/thumbnails/4.jpg)
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
links all
measurelink
CijFij
ijijijij
ij Fd F - C
F
![Page 5: Flow Models and Optimal Routing](https://reader036.fdocuments.in/reader036/viewer/2022062500/56815b07550346895dc8b75f/html5/thumbnails/5.jpg)
… 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
W
![Page 6: Flow Models and Optimal Routing](https://reader036.fdocuments.in/reader036/viewer/2022062500/56815b07550346895dc8b75f/html5/thumbnails/6.jpg)
• The Path flow collection{ Xp | w W, p PW } must satisfy
The flow Fij on a link is
minimize
0 X W w,Pp ; r X W,w pWW
Pp
p
W
j)(i, containing
p paths all
pX
j)(i,
ijij )(F D
] X [ Dijj)(i, containing
paths allp subject to
![Page 7: Flow Models and Optimal Routing](https://reader036.fdocuments.in/reader036/viewer/2022062500/56815b07550346895dc8b75f/html5/thumbnails/7.jpg)
• This cost function optimizes link traffic without regard to other statistics such as variance.
• Also ignores correlations of interarrival and transmission times
![Page 8: Flow Models and Optimal Routing](https://reader036.fdocuments.in/reader036/viewer/2022062500/56815b07550346895dc8b75f/html5/thumbnails/8.jpg)
• 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
4
3
2
1
Link capacity is 2 for all links
![Page 9: Flow Models and Optimal Routing](https://reader036.fdocuments.in/reader036/viewer/2022062500/56815b07550346895dc8b75f/html5/thumbnails/9.jpg)
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
] X [ Dijj)(i, containing
paths allp
p onj)(i, all
ijp
D'X
D(x)
pX D(x)
![Page 10: Flow Models and Optimal Routing](https://reader036.fdocuments.in/reader036/viewer/2022062500/56815b07550346895dc8b75f/html5/thumbnails/10.jpg)
• 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]
pp' X D(x*)
X D(x*)
![Page 11: Flow Models and Optimal Routing](https://reader036.fdocuments.in/reader036/viewer/2022062500/56815b07550346895dc8b75f/html5/thumbnails/11.jpg)
ii
iii
X-CX )(XD , r < C1+ C2
minimize D(X) = D1(X1) + D2(X2)
at optimum X1* + X2* = r , X1*, X2* 0
r
1
>
2
>
X2
X1
C2 low capacity
C1 high capacity
![Page 12: Flow Models and Optimal Routing](https://reader036.fdocuments.in/reader036/viewer/2022062500/56815b07550346895dc8b75f/html5/thumbnails/12.jpg)
X1* = r, X2* = 0
X1* > 0, X2* > 0
The 2 path lengths must be the same
r)-(CC
0)-(CC
r)-(CC
1
1
2
2
1
1
211 CC - C r
2 2 2
2
2
1
1
dX(0)dD
dX(r)dD
2
22
1
11
dX*)(XdD
dX*)(XdD
![Page 13: Flow Models and Optimal Routing](https://reader036.fdocuments.in/reader036/viewer/2022062500/56815b07550346895dc8b75f/html5/thumbnails/13.jpg)
*)X-(CC
*)X-(CC
22
2
11
1
21
21211
CC)]CC - (C - r [ C *X
21
21122
CC)]CC -(C - r [ C *X
X1* + X2* = r
X1*
X2*
0 r
X1* X2
*
C1+C2211 CC-C
![Page 14: Flow Models and Optimal Routing](https://reader036.fdocuments.in/reader036/viewer/2022062500/56815b07550346895dc8b75f/html5/thumbnails/14.jpg)
Topology DesignGiven• Location of “terminals” that need to
communicate• OD Traffic MatrixDesign• Topology of a Communication Subnet
location of nodes, their interconnects / capacity
• The local access network
![Page 15: Flow Models and Optimal Routing](https://reader036.fdocuments.in/reader036/viewer/2022062500/56815b07550346895dc8b75f/html5/thumbnails/15.jpg)
Topology Design … cont
Constrained by• Bound on delay per packet or message• Reliability in face of node / link failure• Minimization of capital / operating cost
![Page 16: Flow Models and Optimal Routing](https://reader036.fdocuments.in/reader036/viewer/2022062500/56815b07550346895dc8b75f/html5/thumbnails/16.jpg)
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 metricChoose Cij to minimize
j)(i,
ijijCp
![Page 17: Flow Models and Optimal Routing](https://reader036.fdocuments.in/reader036/viewer/2022062500/56815b07550346895dc8b75f/html5/thumbnails/17.jpg)
Subnet Design … cont
• Assuming M/M/1 model and Kleinrock independence approximation, we can express average delay constraint as
T F - C
F 1j)(i, ijij
ij
is total arrival rate into the network
![Page 18: Flow Models and Optimal Routing](https://reader036.fdocuments.in/reader036/viewer/2022062500/56815b07550346895dc8b75f/html5/thumbnails/18.jpg)
Subnet Design … cont
• If flows are known, introduce a Lagrange multiplier to get
) F - C
F Cp ( Lijij
ij
j)(i,ijij
at L = 0
0 )F-(C
F - p CijL
ijij
ijij
2
![Page 19: Flow Models and Optimal Routing](https://reader036.fdocuments.in/reader036/viewer/2022062500/56815b07550346895dc8b75f/html5/thumbnails/19.jpg)
Subnet Design … contSolving for Cij gives
ij
ijijij
pF F C
Substituting in constraint equation, we obtain
j)(i,j)(i, ijij
ij pijFij F - C
F 1 T
Solving for
j)(i,
ijijFp T1
A
![Page 20: Flow Models and Optimal Routing](https://reader036.fdocuments.in/reader036/viewer/2022062500/56815b07550346895dc8b75f/html5/thumbnails/20.jpg)
Subnet Design … contSubstituting in equation A
n)(m,
mnmnFp pij
Fij T1 Fij Cij
Given the capacities, the “optimal” cost is
) pijFij ( T1 pijFij pijCij
j)(i,j)(i,j)(i,
- 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
![Page 21: Flow Models and Optimal Routing](https://reader036.fdocuments.in/reader036/viewer/2022062500/56815b07550346895dc8b75f/html5/thumbnails/21.jpg)
Subnet Design … contC1
C2
Cn
.......
r
Minimize C1 + C2 + … + Cn while meeting delay constraint
This is a hard problem !!
![Page 22: Flow Models and Optimal Routing](https://reader036.fdocuments.in/reader036/viewer/2022062500/56815b07550346895dc8b75f/html5/thumbnails/22.jpg)
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
![Page 23: Flow Models and Optimal Routing](https://reader036.fdocuments.in/reader036/viewer/2022062500/56815b07550346895dc8b75f/html5/thumbnails/23.jpg)
• Use a “Greedy” approachLoop
Step 1: Start with a topology and assign flowsStep 2: Check the delay and reliability constraints are metStep 3: Check improvement gradient descentStep 4: Perturb 1
End LoopFor Step 4- Lower capacity or remove under utilized links- Increase capacity of over utilized link- Branch Exchange Saturated Cut