Scalable Routing Easy as PIE: a Practical Isometric Embedding Protocol
Julien Herzen (EPFL)
joint work with
Cedric Westphal (Huawei Innovations) Patrick Thiran (EPFL) October 18th, 2011
1 / 18
Scalable Routing Easy as PIE: a Practical Isometric Embedding - - PowerPoint PPT Presentation
Scalable Routing Easy as PIE: a Practical Isometric Embedding Protocol Julien Herzen (EPFL) joint work with Cedric Westphal (Huawei Innovations) Patrick Thiran (EPFL) October 18th, 2011 1 / 18 Internet routing has a scalability problem from
1 / 18
2 / 18
3 / 18
4 / 18
5 / 18
6 / 18
6 / 18
1, −1, −1 3, −3, −3, −2, 2 −1, 1, −1 −1, −1, 1 −1, −1, −1 −1, 1, 1 −2, 2, −2
7 / 18
◮ Send its coordinates to its children. The children keep the signs, but
◮ If more than one child: the parent also sends the binary representation
2, −2, −2, 1, 1 1, −1, −1 2, −2, −2, −1, −1 2, −2, −2, 1, −1 2, −2, −2, −1, 1 3, −3, −3, −2, 2 −2, 2, 2 −1, 1, −1 −1, −1, 1 −1, −1, −1 −1, 1, 1 −2, −2, 2 −2, 2, −2
7 / 18
◮ Send its coordinates to its children. The children keep the signs, but
◮ If more than one child: the parent also sends the binary representation
2, −2, −2, 1, 1 1, −1, −1 2, −2, −2, −1, −1 2, −2, −2, 1, −1 2, −2, −2, −1, 1 3, −3, −3, −2, 2 −2, 2, 2 −1, 1, −1 −1, −1, 1 −1, −1, −1 −1, 1, 1 −2, −2, 2 −2, 2, −2
7 / 18
◮ Send its coordinates to its children. The children keep the signs, but
◮ If more than one child: the parent also sends the binary representation
4, −4, −4, −3, 3 2, −2, −2, 1, 1 1, −1, −1 2, −2, −2, −1, −1 2, −2, −2, 1, −1 2, −2, −2, −1, 1 3, −3, −3, −2, 2 −2, 2, 2 −1, 1, −1 −1, −1, 1 −1, −1, −1 −1, 1, 1 −2, −2, 2 −2, 2, −2
7 / 18
4, −4, −4, −3, 3
2, −2, −2, 1, 1 1, −1, −1 2, −2, −2, −1, −1 2, −2, −2, 1, −1 2, −2, −2, −1, 1 3, −3, −3, −2, 2 −2, 2, 2 s −1, 1, −1 −1, −1, 1 −1, −1, −1 −1, 1, 1 −2, −2, 2 −2, 2, −2
8 / 18
4, −4, −4, −3, 3
2, −2, −2, 1, 1 1, −1, −1 2, −2, −2, −1, −1 2, −2, −2, 1, −1 2, −2, −2, −1, 1 3, −3, −3, −2, 2 −2, 2, 2 s −1, 1, −1 −1, −1, 1 −1, −1, −1 −1, 1, 1 −2, −2, 2 −2, 2, −2
8 / 18
4, −4, −4, −3, 3
2, −2, −2, 1, 1 1, −1, −1 2, −2, −2, −1, −1 2, −2, −2, 1, −1 2, −2, −2, −1, 1 3, −3, −3, −2, 2 −2, 2, 2 s −1, 1, −1 −1, −1, 1 −1, −1, −1 −1, 1, 1 −2, −2, 2 −2, 2, −2
8 / 18
4, −4, −4, −3, 3
2, −2, −2, 1, 1 1, −1, −1 2, −2, −2, −1, −1 2, −2, −2, 1, −1 2, −2, −2, −1, 1 3, −3, −3, −2, 2 −2, 2, 2 s −1, 1, −1 −1, −1, 1 −1, −1, −1 −1, 1, 1 −2, −2, 2 −2, 2, −2
8 / 18
4, −4, −4, −3, 3
2, −2, −2, 1, 1 1, −1, −1 2, −2, −2, −1, −1 2, −2, −2, 1, −1 2, −2, −2, −1, 1 3, −3, −3, −2, 2 −2, 2, 2 s −1, 1, −1 −1, −1, 1 −1, −1, −1 −1, 1, 1 −2, −2, 2 −2, 2, −2
8 / 18
4, −4, −4, −3, 3
2, −2, −2, 1, 1 1, −1, −1 2, −2, −2, −1, −1 2, −2, −2, 1, −1 2, −2, −2, −1, 1 3, −3, −3, −2, 2 −2, 2, 2 s −1, 1, −1 −1, −1, 1 −1, −1, −1 −1, 1, 1 −2, −2, 2 −2, 2, −2
8 / 18
4, −4, −4, −3, 3
2, −2, −2, 1, 1 1, −1, −1 2, −2, −2, −1, −1 2, −2, −2, 1, −1 2, −2, −2, −1, 1 3, −3, −3, −2, 2 −2, 2, 2 s −1, 1, −1 −1, −1, 1 −1, −1, −1 −1, 1, 1 −2, −2, 2 −2, 2, −2
9 / 18
4, −4, −4, −3, 3 2, −2, −2, 1, 1 1, −1, −1 2, −2, −2, −1, −1 2, −2, −2, 1, −1 2, −2, −2, −1, 1 3, −3, −3, −2, 2 −2, 2, 2 s −1, 1, −1 −1, −1, 1 −1, −1, −1 −1, 1, 1
−2, −2, 2 −2, 2, −2
9 / 18
4, −4, −4, −3, 3 2, −2, −2, 1, 1 1, −1, −1 2, −2, −2, −1, −1 2, −2, −2, 1, −1 2, −2, −2, −1, 1 3, −3, −3, −2, 2 −2, 2, 2 s −1, 1, −1 −1, −1, 1 −1, −1, −1 −1, 1, 1
−2, −2, 2 −2, 2, −2
9 / 18
−2, −2 1, −1 −1, 1 −2, 2 1, 1 −1, −1 −2 2, 1, −1 1 2, −1, −1 2, −1, 1 2, −2 −1
10 / 18
−2, −2 1, −1 −1, 1 −2, 2 1, 1 −1, −1 −2 s 2, 1, −1 1 2, −1, −1 2, −1, 1 2, −2
−1
10 / 18
−2, −2 1, −1 −1, 1 −2, 2 1, 1 −1, −1 −2 s 2, 1, −1 1 2, −1, −1 2, −1, 1 2, −2
−1
10 / 18
11 / 18
12 / 18
12 / 18
12 / 18
12 / 18
12 / 18
◮ Embedding procedure goes from root to leaves ◮ Self-elected roots
◮ Only compute a few distances 13 / 18
1.0 1.2 1.4 1.6 1.8 2.0 stretch 0.55 0.60 0.65 0.70 0.75 0.80 0.85 0.90 0.95 1.00 proportion of routes
unweighted, m =1 unweighted, m =2 unweighted, m =4 unweighted, m =8 weighted, m =1 weighted, m =2 weighted, m =4 weighted, m =8
14 / 18
103 104 105 network size n 1.00 1.02 1.04 1.06 1.08 1.10 stretch
15 / 18
103 104 105 network size n 50 100 150 200 250 300 number of coordinates
O(log3 n) PIE
16 / 18
2 4 6 8 10 percent nodes failed 0.75 0.80 0.85 0.90 0.95 1.00 success ratio
m =8 m =6 m =2 m =1 shortest path
17 / 18
◮ Can maintain average stretch < 1.03 ◮ Adapts well to weighted graphs
◮ Policy routing, traffic engineering, etc. . . ◮ Economic considerations (who is the root?) 18 / 18
1 / 4
10
4
10
5
0.7 0.75 0.8 0.85 0.9 0.95 1 Proportion of nodes Congestion Congestion − Costs Unif[1,10], Barabasi topology. shortest path tree routing 1 level 5 levels
2 / 4
◮ Euclidean embeddings, not well suited for the Internet, local minima
◮ Scalability O(n1/2) → still a fractional power of n
◮ Presence of local minima, routing success not guaranteed
◮ Produces local minima and requires a recovery mechanism
◮ Not distributed
◮ Not distributed 3 / 4
2.00 2.05 2.10 2.15 2.20 λ 1.05 1.10 1.15 1.20 1.25 mean stretch
TZ BC TZ+BC PIE
4 / 4