23
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

Embed Size (px)

Citation preview

Page 1: 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 Models and Optimal Routing

Page 2: 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 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. How can we evaluate the performance of a routing algorithm –quantify how well they do –use arrival rates at nodes and

… 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. How can we evaluate the performance of a routing algorithm –quantify how well they do –use arrival rates at nodes and

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

Cij

Fij

ijijijij

ijFd

F - C

F

Page 5: 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

… 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. How can we evaluate the performance of a routing algorithm –quantify how well they do –use arrival rates at nodes and

• 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 all

p subject to

Page 7: 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

• 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. How can we evaluate the performance of a routing algorithm –quantify how well they do –use arrival rates at nodes and

• 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. How can we evaluate the performance of a routing algorithm –quantify how well they do –use arrival rates at nodes and

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 all

p

p onj)(i, all

ijp

D'X

D(x)

pX

D(x)

Page 10: 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

• 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. How can we evaluate the performance of a routing algorithm –quantify how well they do –use arrival rates at nodes and

ii

iii

X-C

X )(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. How can we evaluate the performance of a routing algorithm –quantify how well they do –use arrival rates at nodes and

X1* = r, X2* = 0

X1* > 0, X2* > 0

The 2 path lengths must be the same

r)-(C

C

0)-(C

C

r)-(C

C

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. How can we evaluate the performance of a routing algorithm –quantify how well they do –use arrival rates at nodes and

*)X-(C

C

*)X-(C

C

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. How can we evaluate the performance of a routing algorithm –quantify how well they do –use arrival rates at nodes and

Topology DesignGiven

• 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

Page 15: 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

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. How can we evaluate the performance of a routing algorithm –quantify how well they do –use arrival rates at nodes and

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

j)(i,

ijijCp

Page 17: 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

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. How can we evaluate the performance of a routing algorithm –quantify how well they do –use arrival rates at nodes and

Subnet Design … cont

• If flows are known, introduce a Lagrange multiplier to get

) F - C

F Cp ( L

ijij

ij

j)(i,ijij

at L = 0

0 )F-(C

F - p

Cij

L

ijij

ijij

2

Page 19: 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

Subnet Design … contSolving for Cij gives

ij

ijijij

p

F 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

T

1

A

Page 20: 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

Subnet Design … contSubstituting in equation A

n)(m,

mnmnFp

pij

Fij

T

1 Fij Cij

Given the capacities, the “optimal” cost is

) pijFij ( T

1 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. How can we evaluate the performance of a routing algorithm –quantify how well they do –use arrival rates at nodes and

Subnet Design … cont

C1

C2

Cn

.

.

.

.

.

.

.

r

Minimize C1 + C2 + … + Cn while meeting delay constraint

This is a hard problem !!

Page 22: 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

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. How can we evaluate the performance of a routing algorithm –quantify how well they do –use arrival rates at nodes and

• Use a “Greedy” approachLoop

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