• No results found

Performance Analysis of the Algorithm

3.3 Greedy ASPP Search Algorithm

3.3.3 Performance Analysis of the Algorithm

Now let us conduct an analysis on the performance of the Greedy ASPP Search Algorithm:

Observation 2 The greedy ASPP search algorithm stops after

a finite number of iterations for any single AS.

Consider ASv with m providers, and use a vector (l1, l2, . . . li

. . . lm) to represent one of its prepending configuration, where li

is the prepending length on its ith provider link in this prepend- ing configuration.

Let n be the diameter of the network which is the length of the longest AS path among all possible paths within this network. Obviously, prepending a link with a length of n should be enough to shift all traffic whose routing can be affected by ASPP on this link to other links, therefore prepending a link with a length of more than n should have the same effect with a prepending with a length of n. In other words , the maximum useful prepending length in this network is n, or we can say that

n is the upper bound of the length of a useful prepending.

So we can assume 0 ≤ li ≤ n(i = 1 . . . m). For ASv, there

are (n + 1)m possible prepending configurations. Let us sort all these prepending configuration as (p1, p2, . . . , pi, . . . , p(n+1)m), where f (t(pi)) ≤ f(t(pj)) when i < j.

During the execution, the greedy algorithm would generate a series of prependings configurations P = (pa1, pa2, . . . , pai. . . pak)

where pai is the prepending configuration after ith iteration.

f (t(pai)) < f (t(paj)) must hold for any i < j because the algo- rithm should improve the traffic distribution in each iteration.

So we have a1 < a2 < . . . < ak ≤ (n + 1)m. We can see that k

should be a finite integer which means the greedy ASPP search algorithm stops after a finite number of iterations for any single AS.

Observation 3 The result of the greedy ASPP search algorithm

is not guaranteed to be optimal, but the performance is good and the algorithm converges fast.

The result of the greedy algorithm is not guaranteed to be optimal because the AS only tries prepending changes on two links in each iteration, while other links are ignored. However, our simulation shows that the performance of this algorithm is really acceptable and it converges fast.

We do the simulation as follows. We focus on one stub AS, say ASv. The goal of ASv is to balance its incoming traffic

using ASPP approach. We assume all links in the network have the same bandwidth in order to simplify the simulation. ASv

measures the degree of load balance on its provider links by Equation 3.1.

In each simulation run, we generate a set of top 100 flows des- tined to this AS. The intensity of these flows obeys the “power law” distribution. Particularly, we generate the flow intensity according to the measurement data shown in Figure 3 of [46] and Figure 12 of [32]. Each flow can reach ASv via multiple

paths. The distribution of their path lengths is based on the measurement data of Cernet IPv4 [1]. We apply the greedy al- gorithm to search for the best prepending configuration. We then compute the optimal configuration by exhaustive search and compare this optimal configuration with the result from the greedy algorithm. After 3000 runs, we summarize the results in terms of cumulative distribution functions of different outcomes, as shown in Figure 3.2 and Figure 3.3.

CHAPTER 3. INTERDOMAIN TRAFFIC ENGINEERING 52 0 0.02 0.04 0.06 0.08 0.1 0.12 0.14 0.16 0.9 0.92 0.94 0.96 0.98 1 x F(x) Empirical CDF x: 0 y: 0.9319 x: 0.08165 y: 0.9915

Figure 3.2: Comparison of the Result from the Greedy Algorithm with the Optimal Result

In Figure 3.2, we compare the resultant load balance index from the greedy algorithm with the result from the optimal con- figuration (derived by exhaustive search). Let po denote the

optimal prepending configuration, and pg denote the prepend-

ing configuration resulting from the greedy algorithm. We plot the cumulative distribution function of x = f (t(po))− f(t(pg))

f (t(po))

to evaluate the performance of our greedy algorithm.

We can see that the greedy algorithm gives the optimal bal- ance in about 93.19% simulations, and x > 0.08165 only in 0.85% simulations. It shows the performance of our algorithm is acceptable.

In Figure 3.3, we plot the cumulative distribution function of the iteration numbers of 3000 simulation runs. We can see that 9.362% simulations stop in three iterations, 98.3% simula- tions stop in four iterations, and only less than 1.7% simulations take more than 4 iterations to converge. This result shows our algorithm converges fast.

2 3 4 5 6 0 0.2 0.4 0.6 0.8 1 x F(x) Empirical CDF x:3 y:0.09362 x:4 y:0.983

Figure 3.3: The Distribution Function of Iteration Numbers

An exhaustive search algorithm can find the optimal prepend- ing configuration. However, it is infeasible in practice, especially when the ISP has many provider links. There are at least two reasons for this infeasibility. First, there are many prepending configurations so that the AS cannot try all of them. Second, the procedure to evaluate the impact of each ASPP configura- tion can be very tedious and time consuming.

Currently ISPs always perform ASPP by trial-and-error, and the process may produce a lot of route update messages. Our proposed algorithm is a feasible approach for ISPs to perform ASPP systematically and efficiently.