Professional Documents
Culture Documents
I.
I NTRODUCTION
BACKGROUND
There have been many multipath routing solutions. Equalcost multi-path (ECMP) [10] allows packets to be routed
along multiple paths of equal cost, which can be tuned by
network operators in purpose. However, in certain cases it
is just impossible to achieve equal costs no matter what
link weights are used [11], and ECMP does not offer good
reliability. Source selectable deflection [2] deflects packets
based on the shortest path costs of a router and its neighbors to
each destination. It proposes three rules with increasing path
diversity as well as computation complexity, and its overhead
also increases proportionally to the degree of a node.
Multi-topology routing [7], [8] pre-computes routes based
on backup topologies tailored for specific failures, either
by removing the corresponding edges or by increasing their
associated costs. Thus it enables each router to save several
valid paths to each destination. Path splicing [3] is an enhancement to multi-topology routing. It creates a set of slices
for the network based on random link-weight perturbations,
and end system can control which slices the routers should
use by embedding control bits in packet headers. In [12],
multiple instances of a link state routing protocol are used to
provide multiple choices, where each link is associated with
a vector of weights tuned by end systems. The complexity of
these algorithms is proportional to the number of alternative
configurations they want to employ.
Discount Shortest Path Algorithm (DSPA) [13] computes
K-shortest paths and takes into account both path quantity and
path independence. However, computing the K-shortest paths
is still much more computationally intensive than finding a
single shortest path.
Since the performance of routing and forwarding is critical
to the Internet, efficient route computation methods, in particular, dynamica algorithms for shortest path tree computation
have been extensively studied in the literature [14][17].
These algorithms only need to incrementally update their data
structures when network state changes, thus are much faster
than the static algorithms which do recomputation from scratch
each time. However, they only concern about one single path
for each destination. Recently, TBFH [9] was proposed to
accelerate multipath computation based on the next-hop rule
presented in [18], but it is still a static algorithm, and we are
not aware of any dynamic algorithm for efficient multipath
computation, which is the focus of this paper.
III.
TABLE I: Notations
G = (V, E)
L(u, v)
Tc
Cc (v)
Hc (v)
Pc (v)
Dc (v)
Nc (v)
Bc (v)
(1)
(2)
dynamic f alse
for v V do
C(v) , H(v) , P (v) nil, N (v)
v.visited f alse
Enqueue(Q, < c, nil, 0 >)
ComputeNextHopSets
1) Static Version: To build the SPT and compute the nexthop sets from scratch, DMPA-f first put the computing node c
into the priority queue Q, then goes through several iterations.
In each iteration, a node v with the smallest tentative cost will
be popped out of Q by the ExactMin function and added to
the tree (lines 8-11). 5 The best next-hop for v is then updated
according to equation (1) (lines 14-17). For each neighbor u
of v in the network, if the path from c to v to u leads to a
smaller cost of u than previously known, the algorithm will
update Q using the Enqueue function (lines 19-21). In this
way, more nodes will be included in Q and will be selected
to add to the tree later. At last, it will check whether u and
v can contribute to each other according to equation (2), and
update their next-hop sets if necessary (lines 24-35).
2) Dynamic Version When Link Cost Increases: The dynamic cases are more tricky. When a link =< s, e > increases
its cost by inc, where s and e are the two ends of this link,
may either be in the previously constructed shortest path tree
or not. Algorithm 3 illustrates the detailed procedure.
In the former case, the tree structure will not be affected,
neither will the cost C(v) of any node v. So according to
the rules to construct the next-hop set, only N (s) and N (e)
may change due to a new L(s, e) in equation (2). Consider
whether s contributes its best next-hop B(s) to N (e). If s
contributes (or does not contribute) to e both before and after
the change, N (e) will not be affected. Otherwise, since the
4 If B(u) = B(v), then N (v) already includes B(u), and there is no need
to check whether equation (2) can be satisfied (lines 25-26).
5 In the dynamic version, v is actually attached to a new parent in the tree.
Algorithm 2 ComputeNextHopSets
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
dynamic true
L(s, e) L(s, e) + inc
if ( T ) (s = c) (e = c) then
if (h[s, e] = true) (s cannot contribute to e) then
Del(B(s), N (e)), h[s, e] f alse
if (h[e, s] = true) (e cannot contribute to s) then
Del(B(e), N (s)), h[e, s] f alse
if T then
//assuming s is the parent of e in T
R D(e)
for v R do
v.visited f alse
for v R do
for each neighbor u of v do
if u.visited = true then
newdist C(u) + L(u, v)
if newdist C(v) + change then
Enqueue(Q, < v, u, newdist >)
ComputeNextHopSets
dynamic true
L(s, e) L(s, e) dec
//assuming C(e) C(s)
if C(e) < C(s) + L(s, e) then
if (h[s, e] = f alse) (s can contribute to e) then
Add(B(s), N (e)), h[s, e] true
if (h[e, s] = f alse) (e can contribute to s) then
Add(B(e), N (s)), h[e, s] true
else
newdist C(s) + L(s, e)
Enqueue(Q, < e, s, newdist >)
ComputeNextHopSets
link < c, g > lies in the old SPT in Fig. 2(a), lines 43-53
in Algorithm 3 will be executed. All old descendents of g,
i.e., g, j, k, l, m and n in D(g) will re-compute their next-hops
from scratch, while their neighboring nodes (not in D(g)), i.e.,
e, f and i with a thick circle in the figure, only incrementally
update their next-hops, in the ComputeNextHopSets function.
C. Examples
In steps (2), (3) and (4), node b, c and d select the root a
as their parent, so B(b) = b, B(c) = c and B(d) = d according
to the best next-hop rule. Each best next-hop is also added to
the corresponding next-hop set.
B(b)=b
N(b)={b}
F
B(c)=c
N(c)={c}
F
G N(d)={d,b}
N(c)={c,b}
B(e)=b
H N(e)={b,c,d}
G
B(d)=d
N(d)={d}
Fig. 1: Step by step construction of the SPT rooted at node a and the next-hop sets
E
H
1O ^F`
K>PO@ IDOVH
1P ^F`
K>OP@ IDOVH
G
1N ^FG`
K>LN@ WUXH
1Q ^F`
1M ^F`
K>HM@ IDOVH
!
!
1L ^GF`
K>NL@ WUXH
1M ^FE`
K>HM@ WUXH
K>JM@ IDOVH
1I ^EF` 1J ^F`
K>MI@ WUXH K>>NJ@ IDOVH
1H ^EF`
K>MH@ WUXH
M
1O ^E`
K>PO@ IDOVH
1P ^E`
K>OP@ IDOVH
1L ^G`
K>NL@ IDOVH
1M ^EF`
K>HM@ IDOVH
K>JM@ WUXH
^E`
!
K>MI@ IDOVH 1J ^FG`
K>NJ@ WUXH
N
Q
1I
1H ^E`
+>MH@ IDOVH
1N ^G`
K>LN@ IDOVH
1Q ^G`
Fig. 2: Incremental Update using DMPA-i (Algorithm 3) when link cost increases
P ERFORMANCE E VALUATION
N
20-1000
HS
1000
LS
100
m
2-40
NodePlacement
Random
GrowthTypem
Incremental
alpha
0.15
beta
0.2
BWDist
Constant
BwMin
10.0
BwMax
1024.0
9 We are still in the progress of porting the code of TBFH and testing
its performance under the same setting as we use in this paper. However,
we believe directly using the results in [9] is meaningful, because [9] also
compares TBFH with ECMP and Rule1, and the results for ECMP and Rule1
there closely match our results.
10
10
10
10
ECMP
Rule1
DMPAf
DMPAi
10
ECMP
Rule1
DMPAf
DMPAi
10
10
10
50
100
Topology Size
150
200
10
10
10
ECMP
Rule1
DMPAf
DMPAi
10
20
30
Average Degree of The Topology
40
10
20
30
Average Degree of The Topology
40
A. Computing Time
First, we compare the computation efficiency of the different algorithms. For each network topology, we let one link
change its cost at a time and execute each algorithm on each
node. This procedure is repeated for a random selected 30%
links, and the final result for each algorithm is its computation
time averaged on all nodes and all selected link changes. The
results on the real or inferred topologies are listed in table III,
while the results on the synthetic topologies are shown in Fig.
3. Note that DMPA-i dynamically updates its next-hops, while
all other algorithms have to recompute from scratch, including
DMPA-f, the static version of our algorithm.
Our dynamic algorithm DMPA-i has a clear advantage in
all cases, running nearly an order of magnitude faster than all
the other algorithms. For example, on average, DMPA-i uses
only 0.65s to handle a link cost change in the Sprint network,
while the fastest among the others, ECMP, uses 7.51s.
Fig. 3(a) shows how their computing time increases with
the topology size, using synthetic topologies with an average
node degree of four, while fig. 3(b) and 3(c) show their time
with respect to larger average node degrees, under synthetic
topologies of 200 and 1000 nodes, respectively. We can see the
speed of DMPA-f is comparable to that of ECMP in all cases,
demonstrating that we are simply constructing a single SPT
and computing multiple next-hops based on this tree. Actually,
on average, DMPA-f is 20% slower than ECMP, while the
results in [9] show that TBFH is around 50% slower than
ECMP, indicating DMPA-f is 20% faster than TBFH. 10 Rule1
runs much slower than them, especially when the average node
degree is large, since it construct a tree for each neighbor, while
our dynamic DMPA-i runs nearly an order of magnitude faster
than all of them, since in most cases only a small portion of the
tree needs to be adjusted. So in the face of topology changes,
DMPA-i consumes much less computing resources, which is
already scarce for todays core routers.
10 The time cost by ECMP in these figures is similar to that in [9], so can
be used as a reference point.
Abilene
Sprint
Exodus
ECMP
6.82
7.51
44.36
Computing time(s)
Rule1
DMPA-f
7.27
6.82
7.96
7.55
128.29
61.23
DMPA-i
0.32
0.65
7.12
B. Reliability
One primary motivation of multipath routing is to provide
redundant and diverse paths, so that when any link fails, a new
path avoiding this link can quickly be found to improve the
network reliability. To demonstrate this capability, we define
disconnect fraction as the ratio of the number of disconnected
source-destination pairs to the number of all source-destination
pairs, when each link fails independently with a probability p.
Here, for a certain routing algorithm, connected means there
exists a forwarding path from the source to the destination,
using any next-hop computed by this algorithm. A smaller
disconnect fraction means better reliability.
Fig. 4 shows the disconnect fraction achieved by each
algorithm on Abilene, Sprint and Exodus. Since the static and
dynamic version of DMPA output exactly the same results,
we do not distinguish them here. As the link fail probability p
increases from 0.01 to 0.1, the reliability of ECMP decreases
very fast. DMPA achieve a slightly larger (but very close)
disconnect fraction than Rule1, since it uses a slightly more
strict rule than Rule1. For example, when p = 0.1, the
disconnect fraction of ECMP, Rule1 and DMPA in Exodus
is 91.66%, 35.23% and 30.23% respectively. As shown in [9],
TBFH also achieves a slighter worse (but comparable) result
than Rule1, since it also uses a more strict rule. 11
The disconnect fraction results on synthetic topologies of
different sizes are shown in Fig. 5. The curves have a similar
trend to those in Fig. 4, where ECMPs reliability decreases
11 In [9], a metric called coverage is used to measure the path diversity,
which is defined as the number of s-d pairs with at least one valid alternate
next-hop on the source to the number of all s-d pairs. Although that does
not guarantee a valid path, we believe it is reasonable to conjecture that, two
algorithms that achieve similar coverage also achieve similar disconnect
fraction.
0.3
ECMP
Rule1
DMPA
0.35
Disconnect Fraction
Disconnect Fraction
0.35
0.25
0.2
0.15
0.1
0.05
0
0.4
ECMP
Rule1
DMPA
0.3
ECMP
Rule1
DMPA
0.8
Disconnect Fraction
0.4
0.25
0.2
0.15
0.1
0.6
0.4
0.2
0.05
0.02
0.04
0.06
0.08
Probability of Link Failure
0.1
0.02
(a) Abilene
0.04
0.06
0.08
Probability of Link Failure
0.1
0.02
(b) Sprint
0.04
0.06
0.08
Probability of Link Failure
0.1
(c) Exodus
0.5
ECMP
Rule1
DMPA
0.4
Disconnect Fraction
Disconnect Fraction
0.4
0.3
0.2
0.1
0.5
ECMP
Rule1
DMPA
0.3
0.2
0.1
50
100
150
Topology Size
200
ECMP
Rule1
DMPA
0.4
Disconnect Fraction
0.5
0.3
0.2
0.1
50
100
150
Topology Size
200
50
100
150
Topology Size
200
0.2
Disconnect Fraction
0.035
0.03
0.025
0.02
0.015
0.01
0.4
ECMP
Rule1
DMPA
0.15
0.1
0.05
0.005
0
ECMP
Rule1
DMPA
0.35
Disconnect Fraction
ECMP
Rule1
DMPA
Disconnect Fraction
0.04
0.3
0.25
0.2
0.15
0.1
0.05
10
20
30
40
Average Degree of The Topology
10
20
30
Average Degree of The Topology
40
10
20
30
Average Degree of The Topology
40
0.4
ECMP
Rule1
DMPA
0.3
0.35
Disconnect Fraction
Disconnect Fraction
0.35
0.25
0.2
0.15
0.1
0.05
0
1
ECMP
Rule1
DMPA
0.3
ECMP
Rule1
DMPA
0.8
Disconnect Fraction
0.4
0.25
0.2
0.15
0.1
0.6
0.4
0.2
0.05
0.02
0.04
0.06
0.08
Probability of Link Failure
0.1
(a) Abilence
0.02
0.04
0.06
0.08
Probability of Link Failure
0.1
0.02
(b) Sprint
0.04
0.06
0.08
Probability of Link Failure
0.1
(c) Exodus
VI.
ACKNOWLEDGE
C ONCLUSION
In this paper, we propose a shortest path tree based multipath routing algorithm called DMPA. We carefully define the
next-hop contribution rule for computing multiple next-hops,
and prove that no loop will be introduced when this distribute
algorithm is executed independently on each router. DMPA
not only avoids the overhead of computing multiple shortest
path trees, but also dynamically handles the link state changes,
so that the next-hops can be incrementally updated, but not
recomputed from scratch. In this way, it runs much faster than
the other multipath algorithms, and consumes little computing
resource which is scarce on todays routers. DMPA effectively
increases the network reliability. It can help fast recovery with
a simple forwarding scheme, and can be partially deployed in
the network. We believe DMPA provides a basic mechanism
on which the network can be made more efficient and reliable.
R EFERENCES
[1] G. Iannaccone, C. nee Chuah, R. Mortier, S. Bhattacharyya, and C. Diot,
Analysis of link failures in an ip backbone, in In Proc. of the Internet
Measurement Workshop. ACM, 2002, pp. 237242.
[2] X. Yang and D. Wetherall, Source selectable path diversity via routing
deflections. in SIGCOMM. ACM, 2006, pp. 159170.
[3] M. Motiwala, M. Elmore, N. Feamster, and S. Vempala, Path splicing,
in SIGCOMM, 2008, pp. 2738.
[4] J. Chen, S. Chan, and V. Li, Multipath routing for video delivery over
bandwidth-limited networks, Selected Areas in Communications, IEEE
Journal on, vol. 22, no. 10, pp. 19201932, 2004.
[5] S. Vutukury and J. Garcia-Luna-Aceves, Mpath: a loop-free multipath
routing algorithm, Microprocessors and Microsystems, vol. 24, no. 6,
pp. 319327, 2000.
[6] J. He and J. Rexford, Toward internet-wide multipath routing, Network, IEEE, vol. 22, no. 2, pp. 1621, 2008.
0.5
ECMP
Rule1
DMPA
0.4
Disconnect Fraction
Disconnect Fraction
0.4
0.5
ECMP
Rule1
DMPA
0.3
0.2
0.1
0.3
0.2
0.1
50
100
150
Topology Size
0.3
0.2
0.1
200
ECMP
Rule1
DMPA
0.4
Disconnect Fraction
0.5
50
100
150
Topology Size
200
50
100
150
Topology Size
200
1
ECMP
DMPA(10%)
DMPA(20%)
DMPA(50%)
DMPA(100%)
0.6
0.8
Disconnect Fraction
Disconnect Fraction
0.8
0.4
0.2
1
ECMP
DMPA(10%)
DMPA(20%)
DMPA(50%)
DMPA(100%)
0.6
0.4
0.2
0.02
0.04
0.06
0.08
Probability of Link Failure
0.1
ECMP
DMPA(10%)
DMPA(20%)
DMPA(50%)
DMPA(100%)
0.8
Disconnect Fraction
0.6
0.4
0.2
0.02
0.04
0.06
0.08
Probability of Link Failure
0.1
(b) Random
0.02
0.04
0.06
0.08
Probability of Link Failure
0.1
[7]
[8]
[9]
[10]
[11]
[12]
[13]
[14]
[15]
[16]
[17]
[18]
[19]
[20]
[21]
[22]
[23]
[24]
[25]