• No results found

Search Heuristics for Load Balancing in IP-networks

N/A
N/A
Protected

Academic year: 2021

Share "Search Heuristics for Load Balancing in IP-networks"

Copied!
43
0
0

Loading.... (view fulltext now)

Full text

(1)

Search Heuristics for

Load Balancing in IP-networks

Mattias S¨oderqvist

Swedish Institute of Computer Science

mso@sics.se

3rd March 2005

SICS Technical Report T2005:04

ISSN 1100-3154

ISRN:SICS-T--2005/04-SE

Abstract

Two of the most commonly used intra-domain Internet routing pro-tocols are Open Shortest Path First (OSPF) and Intermediate System to Intermediate System (IS-IS). In both these protocols the traffic is routed along shortest paths to the destination without considering other traffic demands or load in the network. The weight of the links, and thereby the shortest paths, can be set by the network operator. This creates the possibility for the network operator to redirect traffic from congested links to less utilised links and achieve a more efficient use of the network.

We study three different heuristics for the problem of finding a set of OSPF/IS-IS weights that optimises the performance of the network. We evaluate the heuristics in topologies with power-law properties and compare the obtained results with those from a standard weight setting recommended by Cisco (a major router vendor) as well as with those from an optimal multi-commodity flow routing. Our main conclusion is that one of the heuristics performs better than the rest of the heuristics and achieves results reasonable close to optimum. The overall results for all heuristics are better than the standard weight setting recommended by Cisco.

Keywords: load balancing, IP-networks, power-law topologies, search heuristics.

This projects is funded in part by the Swedish Agency for Innovation Systems (Vinnova)

via the EvaluNet project, the Swedish Foundation for Strategic Research (SSF) through the Winternet project, and the European Commission via the Ambient Networks project.

(2)

Contents

1 Background 1

1.1 Internet routing . . . 1

1.2 Related work . . . 2

2 Routing 3 2.1 The general routing problem . . . 3

2.2 Link state routing . . . 4

2.3 The OSPF weight setting problem . . . 5

2.4 Optimal routing . . . 5

2.5 Difference between OSPF/IS-IS and general routing . . . 7

3 Search heuristics 9 3.1 Local search . . . 9

3.1.1 Objective function . . . 9

3.1.2 Local search techniques . . . 9

3.1.3 Guiding the search with hash tables . . . 10

3.1.4 Speeding up evaluation . . . 10

3.2 Changing few weights . . . 11

3.2.1 Reasons to avoid weight changes . . . 11

3.2.2 Algorithm description . . . 11

3.3 Strictly descending search . . . 12

3.3.1 Objective function . . . 12

3.3.2 Local search technique . . . 12

3.3.3 Creating the neighbourhood . . . 13

4 Power-laws and the Internet Topology 16 4.1 Power-laws . . . 16 4.1.1 Rank exponent . . . 16 4.1.2 Degree exponent . . . 16 4.1.3 Eigenexponent . . . 17 4.1.4 Hop-plot exponent . . . 17 4.2 Origin of power-laws . . . 17

4.3 Topology generator models . . . 18

4.3.1 First model (AB1) . . . 18

4.3.2 Second model (AB2) . . . 18

4.3.3 Third model (BT) . . . 19

5 Numerical Experiments 20 5.1 Normalising . . . 21

5.2 Traffic demands . . . 21

5.3 Performance of the algorithms . . . 22

5.4 Discussion . . . 34

5.5 Cost variation . . . 34

5.6 Hot spots . . . 35

5.7 Conclusions and further work . . . 39

(3)

1

Background

The traffic volume on the Internet increases as the demand for Internet ser-vices increases. This increase in traffic volume leads to a higher frequency of overloaded connections in the network, causing a decrease in performance. To achieve better performance in the network and better utilisation of network re-sources, balancing the traffic in the network becomes important. When link loads approach link capacities, the network becomes congested with resulting packet loss and back-off in TCP. Balancing, or traffic engineering, is performed in order to redirect traffic from congested links to less utilised links and achieve a more efficient utilisation of the network.

Two of the most commonly used intradomain Internet routing protocols on the Internet today are the link state protocols Open Shortest Path First (OSPF) and Intermediate System to Intermediate System (IS-IS). The traffic is normally routed without consideration of traffic demands or the capacity of the links in the network. Hence, there is a possibility that some links become overloaded. On the other hand, if the traffic demands and the capacities are taken into consideration, it is possible to improve the utilisation of the network and thus decrease the number of overloaded links.

In this Master’s thesis, the problem of finding a routing that optimises the utilisation of resources in networks using link state protocols is explained, and three different heuristics to address the problem are evaluated. Internet topolo-gies with power-law properties is explained and the heuristics are evaluated in such topologies. Earlier the heuristics have been studied in random topologies and in a few real topologies, but not for topologies with power-law properties. In addition it is interesting to compare the different heuristics against each other, since this has not been done before. Different scenarios with hot spots, where the traffic to a router increases significantly, are also considered. Different types of routings are described and a mathematical formulation for the lower bound of the problem of optimising the routing is given. In all experiments the results are compared against this lower bound. The heuristics evaluated in this thesis are not the only ones proposed for the optimising the routing and a short overview of other methods for the problem is also given in this thesis.

The rest of this thesis is organised as follows. First we give an introduction to Internet routing and present related work. In Section 2 we introduce different types of routings and formulate the OSPF weight setting problem. Section 3 present the three heuristics that are evaluated. Power-laws in Internet topologies is presented in Section 4. In Section 5 we present the evaluated instances and the methods used to generate them. Here we also present the results obtained for the heuristics and provide comments about the obtained results.

1.1

Internet routing

The Internet Protocol (IP) is the communication protocol that is the basis of the Internet. One of the main design principles of the Internet Protocol is the end-to-end principle. This principle means that as much of the complexity of the network as possible should occur at the end points of the system. Trans-lated to the Internet this means that client computers make the communications operations, while the Internet Protocol simply moves datagrams across the net-work. The Internet Protocol handles the transmission of data on the Internet,

(4)

but there is no direct link between the packet’s source and destination; it is a connectionless system. To make the packet arrive at its destination, the Internet Protocol needs a routing mechanism that finds a route from the source to the destination and delivers the packet along this route. It is also desirable that this routing is efficient, in terms of transmission time, use of network resources, etc. In the most commonly used routing protocols the traffic is routed along the shortest path from the source to the destionation. The shortest path is cal-culated using the weights that is assigned to each link. Hence, by changing the weights of the links it is also possible to change the routing. This type of routing is simple, but it makes it diffucult to achieve load balancing. However, there are several heuristics that can calculate weights that improve routing performance, and some of them are discussed in this Master’s thesis.

1.2

Related work

There are several ways to approach the problem of optimising the routing and a number of different heuristics for the problem have been proposed. It is possible to use some kind of local search heuristic like the ones proposed in [12, 13, 17]. All these heuristics work in different ways and with, on the whole, good performance. Attempts to create heuristics have also been made with both genetic algorithms [10, 16] and hybrid genetic algorithms [7, 19, 20]. In a genetic or hybrid genetic algorithm it is desirable to have a simple cost function that is quick to evaluate. Unfortunately the cost function for the problem of optimising the routing involves computing the shortest paths between all pairs which makes it relatively slow to evaluate. Despite this drawback the mentioned genetic and hybrid genetic algorithms are reported to perform well [7, 10, 16, 20].

(5)

2

Routing

There are several different types of routings, each one with different rules and restrictions. In this section we describe general routing and routing on the Internet, and discuss differences between them.

2.1

The general routing problem

The general routing problem can be defined as the problem of optimising the use of existing resources in a network while routing the traffic according to given traffic demands. The network can be seen as a directed graph G(N, A), A ⊆ N ×N . The nodes (N ) in the graph represent routers and the arcs (A) represent

the links between the routers. Each arc a ∈ A has a capacity ca which is the

capacity of the link that the arc a represents. To optimise the routing in the network we also need a demand matrix which tells us how much traffic is sent between each node pair. The entry D(s, t) in the demand matrix is the amount of traffic sent from node s to node t. However, the demand matrix can be difficult to estimate as the traffic in the network is changing constantly. It is possible to compensate for this by optimising the network while considering multiple demand matrices [13]. To optimise the routing we also need a formal objective. For that we need a measure to quantify the routing cost. To this end

we define the utilisation, ua, of an arc to be the load, la, on the arc divided by

the capacity of the arc:

ua=

la

ca

. (1)

The objective can be defined in several ways, one straight forward approach is to minimise the maximum utilisation over all arcs. If the objective value being minimised is Ω, the function becomes

Ω = max

a∈A(ua). (2)

Another slightly more complicated approach is to associate a cost function f , which depends on the arc’s utilisation. And then minimise a function that summarises the cost over all arcs.

Ω =X

a∈A

f (ua) (3)

The cost function proposed by Fortz and Thorup [12] is a function that sum-marises the cost over all arcs in the graph. The equation of the cost function for the graph is

Φ =X

a∈A

Φa(la). (4)

For each arc, a ∈ A, the cost depends on the load, la, on the arc and on the

capacity, ca, of the arc. The cost function, Φa, associated with each arc tries

to resemble the characteristics of the delay function in an M/M/1 queue. An M/M/1 queue is a queue where the arrivals are Poisson distributed and enter an infinite buffer with an exponential service time distribution. One server is being used and the entries in the queue are handled first-come-first-served. The

(6)

notation used is due to D. G. Kendall and has now become a standard notation in the queueing literature. The cost function is a piecewise continuous linear

increasing convex function with Φa(0) = 0 and derivative

Φ0 a(la) =                1 for 0 ≤ la/ca < 1/3, 3 for 1/3 ≤ la/ca < 2/3, 10 for 2/3 ≤ la/ca < 9/10, 70 for 9/10 ≤ la/ca < 1, 500 for 1 ≤ la/ca < 11/10, 5000 for 11/10 ≤ la/ca < ∞. (5)

Equation (5) is illustrated in Figure 1. Clearly this function gives low costs to arcs with low utilisation and penalises arcs with loads approaching or exceeding

the maximum capacity of the arc. The function Φa gives an arc which has the

load exactly equal to its capacity a cost of 1023. This cost is shown by the dashed

line in the Figure 1.

The general routing problem consists of routing the traffic, given by the demand matrix D, in the graph G while minimising an objective function. In the general routing problem, the flow between an origin node and a destination node can be arbitrarily split among several different paths.

0 0.2 0.4 0.6 0.8 1 1.2 1.4 0 2 4 6 8 10 12 14 16 18 20 utilisation arc cost

Figure 1: Cost function for load on a link

2.2

Link state routing

In link state or shortest path first (SPF) routing protocols, such as OSPF [15] and IS-IS [8], each router collects information about the network topology. Each router puts together information about all its outgoing links in a Link State Ad-vertisement (LSA) that is flooded to all other routers in the network. This can be described as telling the world who your neighbours are. In that way, all routers in the network will obtain the same information about the network topology. Each router that receives an LSA adds that information to its description of the

(7)

topology and resends the LSA to its neighbours. Eventually all routers have an identical database describing the networks topology. In particular the database contains information about the cost for each link in the network, described by a single dimensionless metric. From the database a routing table is derived. In this routing table each destination that the router can forward packages to is represented by a cost and a set of paths, where a path is described by its type and next hop. All the traffic from a router will be forwarded along the path stated in the routing table. The cost and the path is calculated by the router using Dijkstra’s shortest path algorithm [4]. The cost for each link can also be seen as the length or the weight of that link and is set by the network operator. Changing this cost for a link will affect all shortest paths containing that link and it may lead to new shortest paths between some pair of routers with subsequent updates in the routing tables. Hence it is possible to achieve load balancing in the network by changing the costs for the links. If this is done properly congested links and inefficient use of the network can be avoided. Changing the link weights is also the only way in which a network operator can change the routing. However, since manual tuning of the routing metric is far from trivial, the weights are usually left at their default values. The recom-mended value is normally the inverse of the link’s capacity [9]. The straight forward approach, to increase the weight on overloaded links, may lead to a routing of the traffic where other links become overloaded and it is very unpre-dictable. Unfortunately there is no simple way to change the link weights as the problem of finding weights to optimise the routing in the network is known to be NP-hard [12]. By using search heuristics it is possible to obtain a set of weights that increases the overall performance of the network. Different heuristics for optimisation of the link costs have been proposed [7, 10, 12, 13, 16, 17].

An extension to OSPF is Equal-cost multi-path (ECMP) which allows split-ting of traffic flows between multiple paths of equal cost. The traffic is split evenly among all equal-cost paths, which will make the different paths share the load that otherwise would have been put on one single path.

In the OSPF and IS-IS protocols a weight is assigned to each link by the network operator, and the shortest paths from each router to each destination are computed using these weights as lengths of the links.

2.3

The OSPF weight setting problem

Clearly the weights set by the network operator in a OSPF or IS-IS network will influence the routing performance as they determine along which paths the traffic is routed. The OSPF weight setting problem consists of assigning positive integer weights to each arc a ∈ A such that the routing cost is optimised when the demands are routed according to the rules of the OSPF or the IS-IS protocol. Unfortunately when taking the restrictions of the OSPF or IS-IS protocols into consideration the problem of finding weights that optimises the routing, in terms of cost or max utilisation, is NP-hard [12].

2.4

Optimal routing

With linear programing (LP) it is possible to find an optimal solution to the general routing problem. We define two different LP-problems, the first one has equation 4 as objective function and the second one is formulated with

(8)

equation 2 as objective function. In both problems the input is a directed graph G with n nodes and m arcs and a demand matrix D. To formulate the problem

as an LP-problem, we use the variables defined in Section 2.1. Further let ft

a

denote the traffic flow on arc a with destination node t. The characteristic cost

function used for the arcs, Φa is the one given by equation (5). The problem

can now be formulated as the LP-problem:

min Φ =X a²A Φa (6) subject to Φa ≥ la a ∈ A (7) Φa≥ 3la− 2 3ca a ∈ A (8) Φa≥ 10la− 16 3 ca a ∈ A (9) Φa ≥ 70la− 178 3 ca a ∈ A (10) Φa ≥ 500la− 1468 3 ca a ∈ A (11) Φa ≥ 5000la− 16318 3 ca a ∈ A (12) la = X t²N ft a a ∈ A (13) X u:(u,v)∈A f(u,v)t − X u:(v,u)∈A f(u,v)t = ½ −D(v, t) if v 6= t P u∈ND(u, t) if v = t t, v ∈ N. (14)

Constraints (7) to (11) define the cost on each arc, where ca is the capacity on

arc a. Constraints (13) define the load on each arc la as the sum of all flows

with different destinations on the arc. Constraints (14) is the flow conservation constraints, (u, v) is the arc from node u to node v. Further, u : (u, v) means all the arcs that are going to node v and u : (v, u) means all the arcs that are going out from v. The flow conservation constraints dictates that all incoming flow to a node must be forwarded if the flow has another destination node. Totally

there are mn + 2m variables and n2+ 7m constraints in the problem, where m

is the number of arcs and n is the number of nodes in the graph.

In order to solve the problem of minimising the maximum utilisation over all links we have to modify the LP-problem slightly. First we introduce a variable u that we want to minimise. The new constraints are that the utilisation on all links should be less or equal to u. The LP-problem is then as follows:

(9)

min u (15) subject to la ca ≤ u a ∈ A (16) la = X t²N ft a a ∈ A X u:(u,v)∈A f(u,v)t − X u:(v,u)∈A f(u,v)t = ½ −D(v, t) if v 6= t P u∈ND(u, t) if v = t t, v ∈ N.

This last LP-problem has mn + m + 1 variables and n2+ 2m constraints. It

can be seen that the last two constraints are the same as (13) and (14), in the previous problem. But the constraints given by (16) are different from the previous formulation, it states that the utilisation of each arc has to be less than or equal to u. Both problems have been solved using the function linprog in MATLAB.

As shown, the general routing problem can be formulated as an uncapaci-tated multi-commodity flow problem, which is a linear programing problem. In particular, it allows arbitrary routing whereas in OSPF/IS-IS routing the traf-fic needs to be routed along shortest paths and can only be split evenly along those, not arbitrary along all paths. This makes the general routing problem a relaxation of the OSPF weight setting problem. Hence the general routing problem can be used as a lower bound to the OSPF weight setting problem. This lower bound is useful when evaluating the results from the heuristics, we know that it is not possible to obtain better results than the lower bound. It enables us to measure how far away from this limit the results are.

2.5

Difference between OSPF/IS-IS and general routing

In this section we illustrate the differences between OSPF/IS-IS routing and optimal routing with a simple example. The graph in Figure 2 illustrates a network with four nodes and eight links. The capacity of each link is 4 units and the traffic demands from node A to node D is 6 units and 2 units from node C to node D. With general routing this can be done by splitting the traffic from A to D over two paths. The first path is A − B − D with 2/3 of the traffic sent over this path. The second path is A−C −D with 1/3 of the traffic. The second traffic demand is sent directly from C to D. It can be seen in Table 1 that this routing does not overload any of the links.

Table 1: Utilisation on the links with optimal routing.

Link l1 l2 l3 l4

Utilisation 1 1 0.5 1

With OSPF/IS-IS routing the traffic has to be sent along a shortest path. Hence with the same network and traffic demands as before, the best OSPF/IS-IS routing we can find is the one where all traffic from A to D is sent over the

(10)

1 l l2 l4 l3

B

D

C

A

Figure 2: Example graph for OSPF/IS-IS and general routing.

path A − B − D and the traffic from C to D is directed directly between the two

nodes. However, this will overload the links l1and l2and give them a utilisation

of 1.5. In Table 2 we can see the utilisations for the links with this routing and

we notice that link l3will have no traffic at all.

Table 2: Utilisation on the links with OSPF/IS-IS routing.

Link l1 l2 l3 l4

Utilisation 1.5 1.5 0 0.5

By taking advantage of ECMP we can improve the previous situation. With ECMP we can split the traffic from A to D equally over two paths. The first path is A − B − D and the second one is A − C − D. Like in the previous case, The traffic from C to D is routed directly between the two nodes. This routing is an improvement, but it still contains overloaded links. The utilisations for the links with this routing is depicted in Table 3.

Table 3: Utilisation on the links with ECMP routing.

Link l1 l2 l3 l4

Utilisation 0.75 0.75 0.75 1.25

From the examples we see that the optimal routing does not congest any links, whereas both the OSPF/IS-IS routing and ECMP routing overload one ore several links. The ECMP routing has an advantage over OSPF/IS-IS as it overloads only one link compared to two.

(11)

3

Search heuristics

The heuristics evaluated are local search heuristics with the objective to opti-mise the routing cost in a network by evaluating different OSPF weights. A capacitated graph G = (N, A) and a demand matrix is given as input to the heuristics and the output consists of a set of weights, where each weight is as-sociated with an arc in the graph. To find the set of weights that constitute the output, a local search is performed. The heuristics evaluate points in a search space, where a point is represented by a set of weights. A neighbour to a point is another set of weights produced by changing the value of one or more weights from the first point. In the heuristics, different neighbours are produced and the cost of each one is calculated using a cost function. From each heuristic the neighbour with the best cost is the one that will be the output. Each heuristic is explained in further detail in the following sections.

3.1

Local search

The first heuristic we study is the local search proposed by Fortz and Tho-rup [12]. Each part in the heuristic is explained in the following sections.

3.1.1 Objective function

In order to optimise the set of link weights, an objective function, Φ, is intro-duced. The formal objective of the local search is to minimise this cost function, which is the sum of the resulting costs over all arcs. The objective function used in this heuristic is described by equations (4) and (5).

3.1.2 Local search techniques

The local search performs 5000 iterations, each iteration involves selecting a number of neighbours of a given point and then calculating the cost for all these neighbours. The neighbour with the best cost is then passed forward to the next iteration as the new point to select neighbours of. The cost of the best neighbour will also be compared to the best cost found in all iterations so far and if appropriate the currently best solution is updated.

A solution of the weight setting problem is completely characterised by its

vector w = (wa)a∈A of weights. The weights in the vector are all limited to

be in the range [1, . . . , 20]. This restricted range increases the chance of even splitting due to multiple shortest paths form a node to some destination [12]. Further the OSPF and IS-IS protocols state that the link weights should be integers. Each vector can be seen as a point in the search space. A neighbour solution can be produced in two different ways, single weight change and evenly balancing flows.

• Single weight change:

In this method the value of a single weight in w is changed and a new point in the search space is created.

• Evenly balancing flow:

This method aims at splitting the flow as evenly as possible between dif-ferent arcs by taking advantage of ECMP to minimise the load on the

(12)

arcs. Splitting the flow between several paths can be done if there are multiple shortest paths (with the same distance) between the source and destination node. One way to obtain this is by changing the weights on the outgoing arcs from the source node such that all paths between the source and the destination have equal lengths. Since all weights still have to be in the range [1, . . . , 20] the lengths of the paths have to be chosen such that no arc get a weight outside this range. As an example consider the graph in Figure 3. The traffic from node A to node E can be split by the three different paths that exist between the nodes. In order for the routing to split the flow in this way the paths need to have the same

length. This can be arranged by changing the weights on the links l1, l2,

l3, such that the distances of l1+ P1and l2+ P2 and l3+ P3are all equal.

P3 P1 P2 2 l 3 l 1 l

B

C

D

E

A

Figure 3: Splitting the flow among several paths

3.1.3 Guiding the search with hash tables

When the neighbours are created, it is possible that the same weight setting will arise and be evaluated multiple times. To avoid this and increase the efficiency of the algorithm a hash table is used. The hash table is a boolean table T with all values set to false at the beginning. The hash table records if a hash value, produced by the the corresponding hash function h(w), has already been encountered. Let w be the solution produced at a given iteration, the corresponding value T (h(w)) in the hash table is then set to true and none of the subsequent solutions that are mapped to the same hash value will be evaluated. As the hash table is a boolean table it does not handle collisions at all. This leads to roughly 10% [12] of all produced neighbours being eliminated without evaluation because of collisions in the hash table. There is a risk that several of those neighbours are potentially good solutions that the local search would benefit from evaluating. However, in many cases there are several weight settings that have the same cost, so chances are that a weight setting with the same cost will be found elsewhere. The neighbours eliminated through collisions in the hash table are essentially random, also the heuristic does not evaluate the entire search space and is already highly randomised when deciding which points to evaluate. Altogether this means that the collisions in the hash table are not as critical as they first may seem to be [12].

3.1.4 Speeding up evaluation

A drawback with the neighbourhood structure in the local search is that the number of neighbours of a given solution is very large and evaluating the cost of

(13)

all neighbours may be too time consuming. To reduce the time spent exploring the neighbourhood only a randomly selected set of neighbours is evaluated. When the search starts, 20% of the neighbourhood is evaluated. Then every time the current best solution is improved the size of the sampling is divided by three and every time it is not improved the sampling size is multiplied by two, with the exception that at least 1% of the neighbourhood is evaluated.

Normally the cost evaluation involves computing the shortest distances be-tween all pairs of nodes from scratch, but when only a few weights are changed the cost evaluation can be more efficient by using the previous calculations and considering only those paths that change. For further details see the algorithm by Ramalingam and Reps [18].

3.2

Changing few weights

The second heuristic is proposed by Fortz and Thorup in [13]. As their previous heuristic, described in Section 3.1, this version also has as its objective to route demands through an OSPF/IS-IS based network as efficiently as possible.

3.2.1 Reasons to avoid weight changes

This heuristic also considers a second objective; to change as few weights as pos-sible, which can be done in situations where the network or the traffic changes. There are two major reasons why the number of weight changes should be kept to a minimum. First, every weight change is disruptive for a network as it may take several seconds before the change has been spread to all routers and they can compute the new shortest paths. Meanwhile the routers may have very diverging opinions of the weights and shortest paths which can create loops, leading to a chaotic behaviour. This drawback may be acceptable if the weight changes are not too frequent. The second disadvantage with changing many weights is that a human network operator controls the weight configuration and makes sure that the resulting routing satisfies a divers set of requirements. These requirements can include congestion control, but also other network spe-cific requirements. If the network operator only has to change a few weights it would be easier to understand what the effects on the routing will be.

3.2.2 Algorithm description

The algorithm for few weight changes takes the same input parameters as the local search in Section 3.1, a capacitated graph G, a demand matrix D and

in addition an original weight setting w0. It also uses the same cost function

Φ (equation 5) as in the previous local search. The heuristic for improving a

weight setting starts from the original weight setting w0. As in the previous

heuristic (Section 3.1.4) exploring the entire neighbourhood would be too time consuming. In order to reduce the number of neighbours to explore, random sampling is applied to the neighbourhood. The sample size is set so that from the original weight setting a neighbourhood with approximately 1000 neighbours is created, each one by making a single weight change to the original weight setting. When all neighbours are evaluated the 100 best are kept in a family F .

The next iteration starts from F instead of w0and from each weight setting in

(14)

roughly 100 000 new weight settings. From these 100 000 neighbours, the 100 best ones are once again kept in a family F and a new iteration can begin. Since only one weight changes in each iteration the number of weight changes in the final solution will not be more than the number of iterations the heuristic performs. Hence it is possible to control the number of changed weights in the solution by limiting the number of iterations.

3.3

Strictly descending search

Another heuristic for the OSPF weight setting problem is proposed by Rama-krishnan and Rodrigues in [17]. Their approach is to use a combinatorial ap-proximation algorithm which finds a locally optimal solution. As in the previous two methods described in Section 3.1 and Section 3.2, an objective function that is composed of the arcs’ costs, is used to calculate the cost for a weight setting, which in turn is used to compare different weight settings. The cost function for each arc used in this heuristic is different than the previous one, but follows the same principle; arcs with a high utilisation will be associated with a high cost and arcs with a low utilisation will be associated with a low cost. Also the way the search is performed differs from the two previous methods: in this heuristic the search is strictly descending.

3.3.1 Objective function

In order to optimise the set of arc weights, an objective function, Φ, is in-troduced. The formal objective of the local search is to minimise this objective function, which is the sum of the resulting costs over all arcs. As in Section 3.1.1 the cost for each arc, a ∈ A, depends on the load, l(a), on the arc and on the

capacity, c(a), of the arc, but the cost function Φa associated with each arc is

different and has the equation.

Φa(l(a)) =

l(a)

c(a) − l(a). (17)

Equation (17) is illustrated in Figure 4, which shows that the equation ap-proaches infinity as the arc load apap-proaches the capacity of the arc. The equa-tion also gives negative values to arcs that have a higher load than capacity. As the goal for the heuristic is to minimise the objective function, the restric-tion l(a) < c(a) has to be imposed on all arcs, or the costs for the arcs with l(a) ≥ c(a) has to be handled specially. We can also rewrite the cost function

Φa slightly to avoid the problem. We let Θa be the new cost function for the

arcs,

Θa=½ Φ∞, otherwise.a, if l(a) < c(a) (18)

This function clearly avoids the problem of associating overloaded arcs with neg-ative costs, but also makes it impossible to decide which of two weight settings with overloaded arcs is better.

3.3.2 Local search technique

The local search algorithm is strictly descending, it starts from a point P0 and

(15)

0 0.2 0.4 0.6 0.8 1 0 10 20 30 40 50 60 70 80 90 100 utilisation arc cost

Figure 4: Cost function for load on an arc

starts from the best point found so far, P , and all the neighbours of P are found and evaluated with the objective function. If the neighbour with the best value is better than P the search continues with the best neighbour as the starting point in the next iteration, otherwise a locally optimal solution is found and the search ends.

3.3.3 Creating the neighbourhood

The neighbourhood of a point in the search space consists of several different points that all are represented by different weight settings. When a neighbour point is created, it is done in such a way that the load on one arc will decrease.

This method starts with an arc a and a set pa with the node pairs that have

paths over a. Here the goal is to increase the weight on the arc a such that at least one path is diverted from that arc. This will occur when the distances between a pair of nodes is shorter over a different path than the path containing a. To find the weight increase for arc a first the arc is removed from the graph,

all the shortest paths between the pairs in pa will thus change. Then those

node pairs are sorted in increasing order with respect to their distance increase (the difference between their distances after and before arc a was removed). Now the paths with the least increases in distances are the paths that should be diverted from a. To divert the path with the least distance increase, the weight on a has to be increased with a value greater than the least distance change, and to divert that path only, the value also has to be smaller than the next-to-least distance change. Ramakrishnan and Rodrigues choose the exact midpoint between the least and next-to-least distance change as the value for the weight increment. When the weight is changed the neighbour is produced and no more weights will be changed. One problem that needs to be solved to use this method in practise is that it can produce non integer arc weights and the OSPF and IS-IS specifications dictate that the weights should be integers.

(16)

If the weights are not too large this can in most cases be solved by multiplying all weights by a common factor, such that all weights obtain integer values.

Ramakrishnan and Rodrigues do not consider an algorithm to create new neighbours that takes advantage of ECMP in their search heuristic. However it is simple to modify their algorithm such that it produces neighbours intended for ECMP routing. It can be noticed that if the weight increase is set to be equal to the least distance change there will be two shortest paths with the same distance between the pair of nodes, and if ECMP is used the flow can be split evenly between the two paths.

We illustrate the method of finding new neighbours by a short example. Figure 5 shows a network with five nodes and ten links. The link weights are shown in Table 4. For this example the traffic demands are as follows; A to C is 2 units, B to C is 4 units and E to C is 1 units. All link capacities are 4 units.

1 l l2 l9 l3 l5 l6 l4 l7 l8 l10 A B D C E

Figure 5: Diverting a flow from link l8.

Table 4: Weights for the links in the graph in Figure 5.

Link l1 l2 l3 l4 l5 l6 l7 l8 l9 l10

Weight 3 3 4 4 4 2 2 3 3

The shortest distances between all origin-destination (OD) pairs for this weight setting are given in Table 5.

Table 5: OD pairs and their shortest path distances.

From \ To A B C D E A 0 3 4 6 9 B 3 0 6 4 7 C 4 6 0 2 5 D 6 4 2 0 3 E 9 7 5 3 0

(17)

protocol (with or without ECMP), for this weight setting is shown in Table 6.

The table shows that the link l8 will be overloaded, with an utilisation of 1.5.

Table 6: Utilisation on the links with original weight setting.

Link l1 l2 l3 l4 l5 l6 l7 l8 l9 l10

Utilisation 0 0 0.25 0 1 0 0 1.5 0 0.5

To find another weight setting that can decrease the utilisation on link l8

we calculate the new weight for the link. We do this by first removing the link and recalculate the shortest distances for all OD pairs. This gives us the new shortest distances in Table 7.

Table 7: OD pairs and their shortest path distances with link l8 removed.

From \ To A B C D E A 0 3 4 6 9 B 3 0 7 4 7 C 4 6 0 2 5 D 6 4 11 0 3 E 10 7 10 3 0

Now we consider the paths that have changed distances. The ones with the smallest change is A − D, A − E and B − C, which all change by 1 unit. The one with the second smallest distance change is the path D − C, which change by 9

units. This gives us ∆1= 1 and ∆2= 9. The weight on link l8 is now updated

by adding (∆1+ ∆2)/2 to its old value, giving it the new weight 7. This update

will divert the shortest path from B to C from both the links l5 and l8 so that

its new route is B − A − C and thus decreasing the load on the links l5and l8.

The new utilisations are presented in Table 8.

Table 8: Utilisation on the links with new weight setting.

Link l1 l2 l3 l4 l5 l6 l7 l8 l9 l10

Utilisation 0 1 1.25 0 0 0 0 0.5 0 0.5

This weight setting has a lower maximum utilisation, but there is still an overloaded link. If we take advantage of ECMP there is a possibility to improve the routing even more. The idea is to split the traffic between several different paths. We start with the original weight setting and calculate a new weight for

l8. This time, instead if adding the average of ∆1and ∆2to the old weight we

only add ∆1. This makes the paths B − A − C and B − D − C equally long

and the traffic from B to C will be split between them. The utilisations given by this weight setting are presented in Table 9.

Table 9: Utilisation on the links with ECMP weight setting.

Link l1 l2 l3 l4 l5 l6 l7 l8 l9 l10

Utilisation 0 0.5 0.75 0 0.5 0 0 1 0 0.5

This weight setting is better than the two previous ones as it does not over-load any links.

(18)

4

Power-laws and the Internet Topology

The structure of the Internet topology can appear to be uncontrolled and ran-dom, however Faloutsos et al. [11], show that the Internet can be described ac-curately with power-laws. These simple power-laws provide a novel perspective of the Internet structure and concisely describe skewed distributions of topology properties, such as the node out-degree. Where the out-degree is the number of outgoing links from a node. Other metrics, that are based on average, minimum or maximum, do not describe skewed distributions very well, because certain information about the network topology is not taken into consideration. With a profound understanding of the Internet power-laws it is possible to construct topology models that generate topologies that are more accurate and similar to the real Internet compared to what previous models produce. With better models it is also possible to evaluate algorithms and protocols for the Internet in more realistic topologies. The ideal would be to use real Internet topologies, but such information is difficult to obtain and typically proprietary.

4.1

Power-laws

In general, power laws can be written as: y ∝ xa, where x, y are the measured

values of interest, a is a constant and ∝ means “proportional to”. In the fol-lowing definition it is assumed that G is an undirected graph representing the topology of an Internet instance. When the x and y values are plotted in a log-log scale a linear fit is obtained and it is possible to calculate the correlation coefficient for the values.

Faloutsos et al. [11] define three different power-laws and evaluate them against four different Internet instances. The power-laws hold for all instances with a correlation coefficient of at least 96%. However, four instances is a rather small material to verify the power-law assumption from. The evolution of the Internet could rather quickly change the structure of the network topology to violate the power-law assumption. Siganos et al. [21] show that the power-laws where not just a coincidence in those four instances, but they are valid over several years and for thousands of instances.

4.1.1 Rank exponent

This power-law describes properties of the degrees of the nodes. The out-degree of a node is defined as the number of links leaving the node. Let the rank of node be its index in the order of decreasing out-degree, then the rank

of node v is rv. Also let the out-degree of node v be dv. With these definitions

the first power-law says that the out-degree, dv of a node v is proportional to

the rank of the node, rv, to the power of a constant, R.

dv ∝ r

R

v (19)

The rank exponent, R, can differ for different graphs, depending on the charac-teristics of the graph.

4.1.2 Degree exponent

The second power-law describes the distribution of the out-degrees in a graph.

(19)

out-degree d. The CCDF is the percentage of nodes that have a out-degree

greater than the out-degree d. The power-law states that the CCDF, Dd, of a

out-degree, d, is proportional to the out-degree to the power of a constant, D.

Dd∝ dD (20)

The degree exponent, D, is the slope of the plot of the CCDF for all out-degrees versus the degrees in log-log scale. This power-law suggests that the out-degrees of Internet nodes are not arbitrary.

4.1.3 Eigenexponent

The eigenvalues, λi, of a graph is defined as the eigenvalues of the graph’s

adjacency matrix. It has previously been found that the eigenvalues of a graph are related to some basic graph properties such as the diameter, the number of edges in the graph and the number of spanning trees [11]. In addition to these properties there is a power-law for the topology’s eigenvalues. When the

eigenvalues are sorted in decreasing order, λi is the i:th eigenvalue and the

eigenvalues are proportional to their order to the power of a constant.

λi∝ iε (21)

The constant ε is called the eigenexponent and it takes different values depend-ing on the type of graph that the eigenvalues belong to.

4.1.4 Hop-plot exponent

With the hop-plot exponent it is possible to get an approximation of the size of a neighbourhood within some distance. Let the distance between two nodes be the number of hops, link traversals, between them. Further let P (h) be the total number of pairs of nodes, including self pairs and counting all other pairs twice, within h hops. Then the total number of pairs of nodes, P (h), within h hops, is proportional to the number of hops to the power of a constant, H.

P (h) ∝ hH

, h ¿ δ. (22)

Where the hop-plot exponent H is a constant and δ is the diameter of the graph measured in number of hops.

4.2

Origin of power-laws

So far we have seen three different power-laws, but we have not examined any possible causes for the appearance of them. If we understand the reasons why power-laws arise it can help us to create models that can be used to generate topologies with laws properties. Below, four possible causes for power-laws are presented.

• Preferential connectivity suggests how a new node connects to other nodes. New nodes tend to connect to existing nodes that already are highly connected or popular. Medina et al. [14] find that preferential connectivity is a necessary condition for the rank exponent power-law as well as for the out-degree exponent power-law to hold.

(20)

• Incremental growth dictates that new nodes join the network in an incremental way. New nodes are connected to other nodes already in the network and the network gradually increases in size by the continual addition of new nodes.

• Geographical distribution of nodes is the factor that determines how nodes are distributed in space. This can be done in different ways, a heavy-tailed distribution or a random distribution.

• Locality of edge connections is another possible cause for power-laws. New nodes tend to connect to existing node(s) that are close in distance. Both preferential connectivity and incremental growth are suggested by Al-bert and Barab´asi [2], Both are attempts to explain how a network evolves. Medina et al. [14] examine these two possible causes and suggest two other factors for power-laws, geographical distribution of nodes and locality of edge connections. They find both preferential connectivity and incremental growth to be key contributors to the existence of the power-laws, whereas the other two causes have minor impact on the power-law properties of a topology. Their evaluation result in the topology generator BRITE [5], which is used in this study to make test topologies.

4.3

Topology generator models

With the causes for power-laws given in the previous section as a basis it is possible to create models for generation of topologies with power-law properties. The topologies used for testing in this project are all generated with BRITE using three different models that are all described below. All three models construct a graph G with a set of nodes N and a set of arcs A. Furthermore,

ki is the out-degree of node i.

4.3.1 First model (AB1)

The first attempt to create such a model was made by Albert and Barab´asi [2], who based their model on both preferential connectivity and incremental growth.

To generate the topology the model starts with a small number, m0, of connected

nodes and at every time step a new node is added and connected to m (m ≤ m0)

other nodes already present in the topology. In this way incremental growth is incorporated. To also obtain preferential connectivity in the model, the

proba-bility that a new node connects to node i depends on the out-degree, ki, of node

i. The probability that node i will be chosen as the end point of an arc from a new node is Π1(ki) = ki P v∈Nkv . (23)

4.3.2 Second model (AB2)

An extended version of the previous model is provided by Albert and Barab´asi [3].

As the previous model this one starts with m0 connected nodes. At each time

(21)

• With probability p add m (m ≤ m0) new arcs. For this a node is randomly

selected as the starting point of the new arc and the other end of the arc is selected to be node i with probability

Π2(ki) =

ki+ 1

P

v∈N(kv+ 1)

. (24)

This is repeated until m new arcs have been added.

• With probability q, rewire m arcs. This is done by randomly selecting a

node i and an arc aij going out from that node. The arc is then modified

so that it connects node i with node j0, where node j0 is chosen with

probability Π2(kj0). This is repeated until m arcs are rewired.

• With probability (1 − p − q) a new node is added. The new node is connected to m other nodes. The probability that the new node will

connect to node i is given by Π2(ki).

For this model, p and q need to fulfil the conditions, 0 ≤ p ≤ 1 and 0 ≤ q ≤ 1−p.

4.3.3 Third model (BT)

The third model for generating power-law topologies is proposed by Bu and Towsley [6] and it is another modification of the first model by Albert and Barab´asi [2]. In this model the probability that a node i will be chosen as the end point for a new arc is slightly redefined as

Π3(ki) =

ki− β

P

v∈N(kv− β)

. (25)

Where −∞ < β < 1 is a parameter that controls the impact of preferential connectivity. The smaller the value of β is, the less preference is given to nodes with high degrees. Like in the previous models this one also starts with a small

number, m0, of connected nodes and in each time step, one of the following two

operations is performed.

• With probability p, add m (m ≤ m0) new arcs. For each end of each arc,

node i is chosen as the node to connect to with probability Π3(ki).

• With probability (1 − p) a new node is added. Each one of the new node’s m arcs is connected to node i already in the network with probability

Π(ki).

(22)

5

Numerical Experiments

Here we present our results obtained for ten different networks. For each network we compare the results from the following methods:

• OPT, the optimal solution to the general routing problem. Included for comparison as it is a lower bound for the other methods.

• FT, the heuristic proposed by Fortz and Thorup [12] described in Sec-tion 3.1, starting from a random weight setting.

• FC1, the heuristic for few weight changes proposed by Fortz and Tho-rup [13] and described in Section 3.2, here with one weight change. In the starting point all weights are set to the inverse of the links capacity. • FC3, the heuristic for few weight changes proposed by Fortz and

Tho-rup [13] and described in Section 3.2, here with three weight changes. In the starting point all weights are set to the inverse of the links capacity. • RR, the heuristic proposed by Ramakrishnan and Rodrigues [17] and

de-scribed in Section 3.3. In our tests we have used the cost function for arcs given by equation (5) proposed by Fortz and Thorup, instead of the cost function originally proposed by Ramakrishnan (equation (17)). The main reason for this is that the latter gives negative values for overloaded arcs, making it difficult to compare two different weight settings (as described in Section 3.3.1).

• RRECMP, the heuristic proposed by Ramakrishnan and Rodrigues [17] with the ECMP extension described in Section 3.3.3. Also for this heuristic we have used equation (5) as the cost function for each arc.

• InvCap, this method sets the weight of an link inversely proportional to its capacity as recommended by Cisco [9]. Like OPT this one is also included for comparison as it is a weight setting normally used.

For each topology the algorithms were run with different scaling on the traffic demands. The scalings were obtained by multiplying the traffic demand matrix with scalars. All algorithms except InvCap use different weight settings for different scalings. In the results both the cost and the max utilisation is presented for each topology and for each scaling. For all algorithms except OPT the cost and the max utilisation is computed using the same weight setting. But for OPT the cost and the max utilisation are computed independently, using different objective functions.

Each algorithm was run once for each traffic demand scaling, except for the two largest scalings for topology 10, where ten different runs were made and the average value is presented.

All topologies have been created using BRITE, using the three models de-scribed in Section 4.3 with equal capacities on all links. The topologies all have correlation coefficients above 96% for the rank exponent power-law and for the degree exponent power-law. Table 10 shows all topologies used for testing along with their number of nodes and number of edges and the model used to create it.

(23)

Table 10: Test topologies, with number of nodes and number of links and model used to create them.

Topology Nodes Links Used model

1 40 120 BT 2 40 114 AB1 3 30 114 AB2 4 30 128 BT 5 30 110 AB1 6 25 96 BT 7 25 102 AB2 8 25 90 AB1 9 25 90 AB2 10 25 92 BT

5.1

Normalising

Networks with different sizes and structures will receive costs that are not di-rectly comparable with each other. To be able to compare costs from different networks it is useful to normalise the costs so that they only depend on the utilisations of the links. Fortz and Thorup [12] propose a normalising scaling factor which makes it possible to compare routing costs from different networks, this factor is defined as:

Φnorm = X

(s,t)∈N ×N

(D(s, t) · dist(s, t)). (26)

Here D(s, t) is the demand from node s to node t and dist(s, t) is the shortest distance between the nodes s and t measured with unit weights (hop plot). The normalising scaling factor Φnorm is the total load if all traffic flows goes along unit weight shortest paths. For any routing cost Φ, the scaled routing cost is defined as:

Φ∗

= Φ

Φnorm. (27)

The value of Φ∗ can be seen as the average cost for the arcs in the network. If

all arcs have utilisation exactly 1 the scaled cost is 1023 and it is natural to see

the network as congested if Φ∗≥ 102

3. However, the scaled cost can be seen as

an average arc cost and it may be 1023 or less even if there are overloaded arcs.

If Φ∗

= 1 it means that the maximum utilisation is less than 13 on all arcs.

5.2

Traffic demands

Several studies have shown that in Internet traffic a small percentage of flows dominate, e.g. see [1]. This is often referred to as the mice and elephants phenomenon. A typical value is that 10% of the flows stand for 80% of the total traffic (bytes). The mice and elephants phenomenon is taken into consideration when creating traffic demands used for testing purposes in this study. To create a model for the traffic demand matrices the topology generation model described in Section 4.3.3 is used as a basis. In this model, nodes with many outgoing arcs have a higher probability to produce large demands. This leads to a demand matrix where a small fraction of the flows account for the majority of the total

(24)

traffic. To specify the demand D(i, j), which is the demand between node i and node j, the model uses the equation:

D(i, j) = (α + r)(kP i− β)(kj− β)

v∈N(kv− β)

(28)

Here ki is the out-degree of node i, and r is a random variable in [0, 1]. The

variable α determines the proportion of randomness that is added. To control the dependency between large flow and high out-degree, for a node, the param-eter β can be adjusted in the range −∞ < β < 1, where a value closer to 1 gives a stronger dependency.

For the demand matrices used for evaluation the fraction that of flows that stand for 80% of the traffic is in the range 10% - 20%. Figure 6 illustrates the spatial traffic distribution for the traffic in topology 1, where 10% of the flows stand for 80% of the traffic. Each flow is depicted by a square and the darker the square is, the larger the flow is. We see in Figure 6 that a limited subset of flows account for the majority of the traffic demand.

Destination

Source

min max

Figure 6: Spatial distribution of traffic in topology 1.

5.3

Performance of the algorithms

We present the normalised costs we obtain by running the algorithms on topol-ogy 1 with different scalings in Table 11. In Table 12 we also present the max utilisation for topology 1.

It can be seen from Table 11 and 12 that FT is the algorithm that comes closest to OPT, both in terms of cost and max utilisation. The algorithms RR and RRECMP are the ones that are second closest to OPT. The results from RR and RRECMP are very similar for all scalings. But although their max utilisations are equal for all scalings, the normalised cost obtained by RR is slightly better for some scalings. The results obtained by FC1 and FC3 are not as good as the results from the other algorithms. But both FC1 and FC3 start from InvCap and manage to obtain a better normalised cost than InvCap for all scalings. However, the max utilisation that FC1 and FC3 achieve is not always an improvement from InvCap. This can be explained by the fact

(25)

Table 11: Normalised costs for topology 1 obtained with different algorithms.

Demand OPT FT FC1 FC3 RR RRECMP InvCap

16.28 1.35 1.40 80.81 3.35 1.63 1.63 179.48 18.32 1.45 1.72 158.89 19.73 1.77 1.86 257.44 20.46 1.60 1.81 254.03 64.41 2.14 2.41 351.69 22.49 1.80 2.13 336.42 145.36 3.79 4.38 434.24 24.43 2.00 3.31 405.86 221.92 13.11 13.11 504.81 26.56 2.42 3.49 469.05 289.86 24.02 24.00 572.47 28.50 3.50 6.24 548.17 381.64 53.17 53.07 639.37 30.53 8.34 13.40 637.68 464.09 125.35 124.87 705.96 32.57 36.91 65.33 723.05 531.72 188.51 187.15 769.31

Table 12: Max utilisations for topology 1 obtained with different algorithms.

Demand OPT FT FC1 FC3 RR RRECMP InvCap

16.28 0.56 0.67 2.05 2.06 0.80 0.80 1.89 18.32 0.64 0.88 2.12 2.32 0.90 0.90 2.12 20.46 0.71 0.89 2.36 2.57 0.98 0.98 2.36 22.49 0.78 0.94 2.59 2.84 1.05 1.05 2.60 24.43 0.85 1.03 2.83 3.09 1.15 1.15 2.83 26.56 0.92 1.00 3.07 3.34 1.25 1.25 3.07 28.50 0.99 1.09 3.30 3.61 1.43 1.43 3.31 30.53 1.06 1.10 3.54 3.82 1.67 1.67 3.54 32.57 1.13 1.31 3.78 4.13 1.83 1.83 3.77

that the heuristics try to optimise the cost, which is the sum of each arc’s cost (equation 4) and an increase in cost for one arc could be compensated by a decrease in cost for several other arcs.

In Figures 7 to 26 the results for all topologies are depicted graphically. For each topology there are two graphs, one illustrating the normalised cost and one illustrating the max utilisation. In the graphs with the normalised cost a

dashed horizontal line shows the threshold of 1023, where the network is regarded

as congested. In the graphs with the max utilisation the corresponding dashed line represents a max utilisation of 1.

(26)

0 5 10 15 20 25 30 35 0 5 10 15 20 25 30 35 40 45 50 Traffic demand Φ * OPT FT FC1 FC3 RR RRECMP InvCap

Figure 7: Normalised costs for topology 1.

0 5 10 15 20 25 30 35 0 0.5 1 1.5 2 2.5 3 Traffic demand Utilisation OPT FT FC1 FC3 RR RRECMP InvCap

(27)

0 5 10 15 20 25 0 5 10 15 20 25 30 35 40 45 50 Traffic demand Φ * OPT FT FC1 FC3 RR RRECMP InvCap

Figure 9: Normalised costs for topology 2.

0 5 10 15 20 25 0 0.5 1 1.5 2 2.5 3 Traffic demand Utilisation OPT FT FC1 FC3 RR RRECMP InvCap

(28)

0 5 10 15 0 5 10 15 20 25 30 35 40 45 50 Traffic demand Φ * OPT FT FC1 FC3 RR RRECMP InvCap

Figure 11: Normalised costs for topology 3.

0 5 10 15 0 0.5 1 1.5 2 2.5 3 Traffic demand Utilisation OPT FT FC1 FC3 RR RRECMP InvCap

(29)

0 5 10 15 20 25 30 0 5 10 15 20 25 30 35 40 45 50 Traffic demand Φ * OPT FT FC1 FC3 RR RRECMP InvCap

Figure 13: Normalised costs for topology 4.

0 5 10 15 20 25 30 0 0.5 1 1.5 2 2.5 3 Traffic demand Utilization OPT FT FC1 FC3 RR RRECMP InvCap

(30)

0 5 10 15 20 25 30 35 0 5 10 15 20 25 30 35 40 Traffic demand Φ * OPT FT FC1 FC3 RR RRECMP InvCap

Figure 15: Normalised costs for topology 5.

0 5 10 15 20 25 30 35 0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2 Traffic demand Utilization OPT FT FC1 FC3 RR RRECMP InvCap

(31)

0 5 10 15 20 25 30 0 5 10 15 20 25 30 35 40 45 50 Traffic demand Φ * OPT FT FC1 FC3 RR RRECMP InvCap

Figure 17: Normalised costs for topology 6.

0 5 10 15 20 25 30 0 0.5 1 1.5 2 2.5 3 Traffic demand Utilization OPT FT FC1 FC3 RR RRECMP InvCap

(32)

0 5 10 15 20 0 5 10 15 20 25 30 35 40 45 50 Traffic demand Φ * OPT FT FC1 FC3 RR RRECMP InvCap

Figure 19: Normalised costs for topology 7.

0 5 10 15 20 0 0.5 1 1.5 2 2.5 3 Traffic demand Utilization OPT FT FC1 FC3 RR RRECMP InvCap

(33)

0 5 10 15 20 25 30 35 0 10 20 30 40 50 60 Traffic demand Φ * OPT FT FC1 FC3 RR RRECMP InvCap

Figure 21: Normalised costs for topology 8.

0 5 10 15 20 25 30 35 0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2 Traffic demand Utilization OPT FT FC1 FC3 RR RRECMP InvCap

(34)

0 5 10 15 20 25 30 35 0 5 10 15 20 25 30 35 40 45 50 Traffic demand Φ * OPT FT FC1 FC3 RR RRECMP InvCap

Figure 23: Normalised costs for topology 9.

0 5 10 15 20 25 30 35 0 0.5 1 1.5 2 2.5 Traffic demand Utilization OPT FT FC1 FC3 RR RRECMP InvCap

(35)

0 5 10 15 20 25 30 35 40 0 5 10 15 20 25 30 35 40 45 50 Traffic demand Φ * OPT FT FC1 FC3 RR RRECMP InvCap

Figure 25: Normalised costs for topology 10.

0 5 10 15 20 25 30 35 40 0 0.5 1 1.5 2 2.5 3 Traffic demand Utilization OPT FT FC1 FC3 RR RRECMP InvCap

(36)

5.4

Discussion

In Figure 7 - 26 we see that the results for each algorithm are similar for all topologies. Considering the general picture for the normalised costs, we see that FT obtains a normalised cost that is fairly close to OPT for all instances. RR and RRECMP also obtain good normalised costs for most topologies, but they are generally higher then the ones from FT. Also, for some topologies RR and RRECMP do not perform so well and result in normalised costs that are far from optimality. The difference between RR and RRECMP is very small, although RRECMP have a slight advantage in most cases. For the heuristics which make few weight changes, FC1 and FC3, we see that FC3 manages to produce the best results for all tested topologies. The normalised cost obtained by FC3 is in general not as good as the one obtained by RR and RRECMP. However, for all scalings in topology 8, FC3 manages to produce a lower normalised cost than any of RR or RRECMP. For FC1 we see that it always improves from its starting point, which is InvCap.

As we also saw from Table 11 and 12, one weight setting can produce a good normalised cost at the expense of the max utilisation. A good example of this is illustrated by Figure 21 and Figure 22. Both FC1 and FC3 has InvCap as the starting point and manage to produce a lower normalised cost than their starting points for all scalings. Considering the max utilisation, we see that it increases for all scalings. As mentioned earlier this behavior can be explained by that it is the normalised cost that the heuristics try to minimise. This behavior seem to be more frequent for FC1 and FC3 than for the other heuristics.

All curves representing the normalised cost for each heuristic, are rather flat to start with, and then, as the traffic demand increases, grow rapidly. This gives the curves an appearance similar to the curve in Figure 1. Since that is the cost for a single arc, or a network with only one link, the similarity is not surprising. We see that FT achieves a normalised cost that is fairly close to OPT for all instances. Since OPT is a lower bound for the OSPF weight setting problem we know that none of the heuristics can obtain a better result than OPT. However, it is difficult to know if the solution to the OSPF weight setting problem obtained by these heuristic is close to the optimal solution of the problem. We only compare against the optimal solution of the general routing problem (OPT) and there might be a gap between the optimal solution for this problem and the optimal solution for the OSPF weight setting problem.

5.5

Cost variation

The FT algorithm is run only once for each scaling in every topology and it manages to get reasonably close to optimal solution for the general routing problem for the majority of the scalings. But for the two largest scalings in topology 10, this was not the case after the first run. The normalised costs for the two scalings were far from OPT. To see if this would be the case regardless of the starting point we made ten runs from different, randomly choosen, start-ing points. In Figure 27 the min, max and average normalised cost from the executions are presented.

The difference between min and max is rather large, partly depending on the characteristics of the curve in Figure 1. But it also shows that there is an amount of randomness in the heuristic that effects the final result. In Figure 28

(37)

33 34 35 36 37 38 39 0 10 20 30 40 50 60 70 80 90 100 Traffic demand Φ *

Figure 27: Min, max and average normalised costs for topology 10.

the max utilisation from the same executions are presented. Here the difference is not as large as for the normalised cost, but it is still rather large.

33 34 35 36 37 38 39 0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 Traffic demand Max utilisation

Figure 28: Min, max and average utilisations for topology 10.

5.6

Hot spots

A hot spot emerges in the network when the traffic to one router increases sign-ificantly. This leads to a partially new demand matrix and we would like to see how the old weight setting performs in this new situation. To simulate a hot spot we multiply all traffic to a node in the demand matrix by a factor of four. For each topology we create a hot spot from all nodes, one at a time, and calculate the cost and max utilisation for each of the hot spots using the old weight setting. The weight settings we use are the ones obtained from the heuristics evaluated in the previous section, FT, FC1, FC3, RR and RRECMP. For each scaling we calculate the average cost and worst case cost over all hot spots. In Figures 29 to 34, the results from creating hot spots in three of the topologies are depicted. The figures show both the values for the normalised cost, with a log scale on the y-axis, and the values for max utilisation. In each graph and for each scaling three values are given for every heuristic. First the original value, without any hot spots, secondly the average value over all hotspots and the third value is the worst case hot spot.

(38)

0 5 10 15 20 25 30 35 100 101 102 103 104 Traffic demand Φ * FT FT average FT max FC1 FC1 average FC1 max FC3 FC3 average FC3 max RR RR average RR max RRECMP RRECMP average RRECMP max

Figure 29: Normalised cost when creating hot spots in topology 1.

0 5 10 15 20 25 30 35 0 1 2 3 4 5 6 7 8 Traffic demand Utilization FT FT average FT max FC1 FC1 average FC1 max FC3 FC3 average FC3 max RR RR average RR max RRECMP RRECMP average RRECMP max

(39)

0 5 10 15 20 25 30 100 101 102 103 104 Traffic demand Φ * FT FT average FT max FC1 FC1 average FC1 max FC3 FC3 average FC3 max RR RR average RR max RRECMP RRECMP average RRECMP max

Figure 31: Normalised cost when creating hot spots in topology 7.

0 5 10 15 20 25 30 0 1 2 3 4 5 6 7 8 Traffic demand Utilization FT FT average FT max FC1 FC1 average FC1 max FC3 FC3 average FC3 max RR RR average RR max RRECMP RRECMP average RRECMP max

(40)

0 5 10 15 20 25 100 101 102 103 104 105 Traffic demand Φ * FT FT average FT max FC1 FC1 average FC1 max FC3 FC3 average FC3 max RR RR average RR max RRECMP RRECMP average RRECMP max

Figure 33: Normalised cost when creating hot spots in topology 8.

0 5 10 15 20 25 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 Traffic demand Utilization FT FT average FT max FC1 FC1 average FC1 max FC3 FC3 average FC3 max RR RR average RR max RRECMP RRECMP average RRECMP max

(41)

heuristic and calculate the normalised cost for the hot spots, the behavior for all heuristics is rather similar in all three tested topologies. For all heuristics the average normalised cost for the hot spots is a large increase from the original cost achieved by the heuristic. The increase in the normalised cost becomes even larger when we calculate the normalised cost for the worst hot spot in each topology.

5.7

Conclusions and further work

The local search heuristic proposed by Fortz and Thorup [12] obtains the best results for all evaluated topologies. For the majority of the tested instances the normalised cost obtained is reasonable close to the optimal normalised cost. But for the tested topologies it is also the most time consuming heuristic, mainly because it performs 5000 iterations, wheras the other heuristics perform sig-nificantly fewer iterations. From the results obtained from the heuristics that make few weight changes we also see that it is possible to improve the routing in a topology with small changes. The algorithm proposed by Ramakrishnan and Rodrigues [17] obtains good results for some topologies, but for some other topologies it get stuck in a local minimum with a normalised cost that is far from the optimal normalised cost. In all topologies, we see that compared to InvCap all other heuristics manage to find weight settings that allow more traffic to be sent before the networks become congested.

Based on our findings the following rule of thumb seems appropriate: • Use local search according to Fortz and Thorup, unless time is critical.

Execution times may well run into several hours for this algorithm. • Use the method of few weight changes local search according to Fortz and

Thorup is too time consuming but coming close to the optimum is still important.

• Use local search according to Ramakrishnan and Rodrigues if you need good average performance but occasional bad performance is acceptable. In future work it would be interesting to compare the heuristics presented in this Master’s project with genetic and hybrid genetic algorithms. Several such algorithms have been proposed [7, 10, 16, 19, 20], but they have not been evaluated in power-law topologies. In those algorithms, there are also several different methods to create new neighbours to a weight setting, and it would be possible to incorporate one of those methods in any of the heuristics presented here. It would also be interesting to evaluate the performance of the heuris-tics with more different traffic scenarios, such as noise in traffic and periodical changes in traffic.

(42)

References

[1] H. Abrahamsson and B. Ahlgren. Temporal characteristics of large IP traf-fic flows. Technical Report T2003:27, SICS – Swedish Institute of Computer Science, May 2004.

[2] R. Albert and A. Barabsi. Emergence of scaling in random networks. Sci-ence, 286:509–512, October 1999.

[3] R. Albert and A. Barabsi. Topology of evolving networks: Local events and universality. Physical Review Letters, 85(24):5234–5237, December 2000. [4] S. Basse and A. van Gelder. Computer Algorithms - Introduction to Design

& Analysis. Addison-Wesley, Reading, third edition, 2000.

[5] BRITE Random Topology Generator. http://www.cs.bu.edu/brite/, 21st January 2005.

[6] T. Bu and D. Towsley. On distinguishing between Internet power law topology generators. Proc. IEEE INFOCOM, 2002.

[7] L.S. Buriol, M.G.C. Resende, C.C. Ribeiro, and M. Thorup. A hybrid genetic algorithm for the weight setting problem in OSPF/IS-IS routing. Technical report, AT&T Labs Research, June 2003.

[8] R. Callon. RFC 1195 - Use of OSI IS-IS for Routing in TCP/IP and Dual Environments. www.faqs.org/rfcs/rfc1195.html, 5th February 2005 [9] Cisco. Configuring OSPF.

http://www.cisco.com/en/US/products/sw/iosswrel/ps1828/

products configuration guide chapter09186a00800ca56c.html, 27th

Jan-uary 2005.

[10] M. Ericsson, M.G.C Resende, and P.M. Pardalos. A genetic algorithm for the weight setting problem in OSPF routing. Journal of Combinatorial Optimization, 6(3):299–333, September 2002.

[11] M. Faloutsos, P. Faloutsos, and C. Faloutsos. On power-law relationships of the Internet topology. ACM SIGCOMM 99, August 1999.

[12] B. Fortz and M. Thorup. Internet traffic engineering by optimizing OSPF weights. Proc. IEEE INFOCOM 2000, pages 519–528, March 2000. [13] B. Fortz and M. Thorup. Optimizing OSPF/IS-IS weights in a changing

world. IEEE Journal on Selected Areas in Communications, pages 756–767, 2002.

[14] A. Medina, I. Matta, and J. Byers. On the origin of power laws in Internet topologies. ACM Computer Communication Review, 30(2), April 2000. [15] J. Moy. RFC 1247 - OSPF Version 2. www.faqs.org/rfcs/rfc1247.html, 5th

February 2005

[16] E. Mulyana and U. Killat. An alternative genetic algorithm to optimize OSPF weights. In Internet Traffic Engineering and Traffic Management, 15-th ITC Specialist Seminar, Wuerzburg Germany, July 2002.

References

Related documents

The aim of this research has been to view how practitioners of contemporary shamanism relate to the sacred, and how the meaning of the sacred is expressing itself in

It is known that the problem of minimizing the maximum link utilization can be solved by the multi-commodity network flow formulation of optimal multipath routing, which leads

The important observation from our result is therefore the general correlation between heuristics and MCTS: If someone implements a heuristic that plays well against human players,

Keywords: Dark matter, WIMP, neutralino, MSSM, Kaluza-Klein, IceCube, AMANDA, neutrino telescope Olle Engdegård, Department of Physics and Astronomy, High Energy Physics, 516,

International Graduate School of Management and Engineering, IMIE Dissertation No.. Den här avhandlingens syfte är att beskriva och analysera vilken påverkan samarbete i

Afterwards, the clipping effect on the SE of the non-ideal Massive MIMO system is as- sessed by simulating and comparing the performance of the general distortion models, the

When the lorry types and allowed trains have been determined for all demand occurrences, they are put on a list and sorted according to the potential cost savings in the road

Purpose – The purpose of this study is to firstly investigate the efficiency of the most com- monly used performance measures for minimizing the Number of Workstations (NWs)