Presentation is loading. Please wait.

Presentation is loading. Please wait.

Internet Traffic Engineering by Optimizing OSPF Weights Bernard Fortz (Universit é Libre de Bruxelles) Mikkel Thorup (AT&T Labs-Research) Presented by.

Similar presentations


Presentation on theme: "Internet Traffic Engineering by Optimizing OSPF Weights Bernard Fortz (Universit é Libre de Bruxelles) Mikkel Thorup (AT&T Labs-Research) Presented by."— Presentation transcript:

1 Internet Traffic Engineering by Optimizing OSPF Weights Bernard Fortz (Universit é Libre de Bruxelles) Mikkel Thorup (AT&T Labs-Research) Presented by : Mordo Shalom

2 The Routing (Load) Optimization Problem Input: A directed graph G=(N,A) A demand function A capacity function A cost function is the cost incured by a routing with load l on an arc with capacity c. An instance is given by a triple (G,D,c), is known a priori.

3 The Objective Any routing R, implies a load function on the edges The cost induced by this load is: The total cost of the routing The Objective :Find a routing R such that is minimized.

4 OSPF Routing The network administrator assigns a weight to each arc (link): OSPF routes packets on the shortest path induced by the function w. When there are multiple shortest paths packets are routed on each of them with equal probability.

5 The OSPF Routing Optimization Problem Find a weight function such that. is minimized.

6 The cost function For each arc a is a piecewise-linear non decreasing function. In fact any convex function would do the job.

7 The Cost Function

8 Some Typical Routings OPT(G,D,c) : the optimal routing for the instance (G,D,c) OPTOSPF(G,D,c) : the optimal OSPF routing … UNITOSPF(G,D,c) : the OSPF routing for w(a)=1 INVCAP(G,D,c) : the OSPF routing for w(a) = 1/c(a)

9 A normalized cost d1(s,t) is the length of the shortest path from s to t where w(a)=1 for all a. When then, in particular. The cost of the OSPF routing under this setting: The above value is called

10 Properties of  UNCAP It is a lower bound for the cost of any routing: In particular: By definition :

11 Properties of  UNCAP (cont ’ d) Therefore for any routing R: In particular:

12 Properties of  UNCAP (cont ’ d) Summarizing: We define: We have:

13 The Main Results For each n there is an instance such that OPT(G,D,c) can be found in polynomial time. To find OPTOSPF is NP-Hard, moreover it is NP-Hard to find a 1.77-approximation to OPTOSPF A Local Search Heuristic to approximate OPTOSPF

14 The first result The family of instances s 1 2 3 n t n 2 -2 n 2 -4 n 2 -3 n 2 -n-1 3 3 3 3 3n 3 3 3 3

15 A possible (general) Routing s 1 2 3 n t n 2 -2 n 2 -4 n 2 -3 n 2 -n-1 3 3 3 3 3n 1 1 1 1 Each path has length n 2

16 A typical OSPF routing s 1 2 3 n t n 2 -2 n 2 -4 n 2 -3 n 2 -n-1 3 3 3 3 n/2 n/8 n/4 n n/2 n/4

17 The Second Result There is a polynomial time algorithm to find OPT(G,D,c) Proof: Define as the part of the demand D(s,t) routed through arc a. Formulate the problem as a Linear Programming problem.

18 The Linear Program for OPT

19 A Local Search Heuristic(HEUR) W={1,2, …,w max } is the set of all possible weights. The search is on all possible functions (vectors) Start with a random vector Do { } Until x meets some optimality criteria

20 The Neighborhood Structure if x ’ can be obtained from x by one of the following two: Single weight change: Choose an arc and change its weight There are |A|x(|W|-1) such neighbors Evenly balance flows: Choose a node x and a destination t and balance There are |N|x(|N|-1) such neighbors

21 Evenly Balancing Flows x x1x1 x2x2 x3x3 xpxp t P1P1 P2P2 P3P3 PpPp Every x i is on a shortest path to t.

22 Evenly Balancing (cont ’ d) We do not want to load already congested arcs, therefore we make the balancing on a maximal subset B such that: x1x1 x2x2 x3x3 xpxp x B ifthen Where  is chosen from [0.25,1] at random to diversify

23 Evenly Balancing (cont ’ d) We do not want w ’ > w max, therefore we impose on B the following additional condition:

24 Local Search Do { } Until x is a local minimum SEARCH returns x ’ s.t. cost(x ’ )<cost(x) Problem: A local minimum may be far from global minimum Solution: Allow non-improving moves

25 Local Search (cont ’ d) Problem: We may encounter cycles. Solution: Tabu Search (maintain a tabu list of the attributes of visited points) HEUR uses a hash function h and a table T with 1 bit for each possible value of h. If T(h(x ’ ))=true, SEARCH does not return x ’.

26 Local Search (cont ’ d) Problem: Duplicate neighbors due to the complex neighborhood structure. Solution: SEARCH maintains an internal hash table T ’. If T ’ (h(x ’ ))=true, SEARCH does not evaluate the cost of x ’.

27 Local Search (cont ’ d) Problem: Too much neighbors. Solution: r=0.2 At each iteration evaluate only a subset of the neighbors such that If (the cost is improved) {r=max(0.01,r/3)} Else {r=min(1,10c)}

28 Diversification Choose  at random as described before. If cost is not improved for 300 iterations, perturb x by adding a random perturbation, selected at random from [-2,2] to %10 of the weights.

29 Cost Calculation Compute Compute

30 Calculation of l a t Compute d(x,t) for each x using Dijkstra ’ s algorithm. Compute the set of arcs A t which are on a shortest path to t: Compute by visiting the nodes y in decreasing order of d(y,t).

31 Recalculation of l a t At each iteration the calculation should be repeated due to the changes in the weights: Recalculation of d(x,t) : At each iteration only edges emanating from a single node are changed. We use the Ramalingam & Reps algorithm (Dijkstra on dynamic graphs). Its running time is proportional to the number of edges incident to nodes for which d(x,t) changed.

32 Recalculation of l a t (cont ’ d) In the same manner A t ’ is calculated for edges incident to nodes x with d(x,y) changed. Maintain a set M of critical nodes: Initially M contains all the nodes with incident edges in i.e. the nodes with d(x,y) changed and their neighbors.

33 Numerical Results Two Additional routings are measured, along the others: L2OSPF : weights proportional to the Euclidean distance between nodes. RANDOMOSPF : Weight are assigned randomly (The first step of HEUR). The algorithms are compared on real and synthetic networks: AT&T proposed backbone (real) 2-level graphs (synthetic)

34 Costs on a real network

35 Max. Utilization on a real network

36 Max Utilization on a 2-level network

37 Conclusions from Numerical Results HEUR is the best algorithm. In fact it is the only algorithm “ knowing ” the demands It achieves performance close to %2 of OPT. InvCap is the best oblivious algorithm Surprisingly UnitOSFP performs almost as good as InvCap L2OSPF and RANDOMOSPF are worst. In fact there is almost no difference between the two.


Download ppt "Internet Traffic Engineering by Optimizing OSPF Weights Bernard Fortz (Universit é Libre de Bruxelles) Mikkel Thorup (AT&T Labs-Research) Presented by."

Similar presentations


Ads by Google