Scalable Routing Easy as PIE: a Practical Isometric Embedding - - PowerPoint PPT Presentation

scalable routing easy as pie a practical isometric
SMART_READER_LITE
LIVE PREVIEW

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


slide-1
SLIDE 1

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

slide-2
SLIDE 2

Internet routing has a scalability problem

from [Andersen et al. ’08]

  • Costly recomputation of tables
  • Instabilities
  • Costly lookups in huge tables
  • Energy hungry
  • Heavily relies on Moore’s law to keep up
  • Could get much worse with IPv6. . .

2 / 18

slide-3
SLIDE 3

Fundamental limit

  • Stretch: Length of a path found by a routing algorithm, divided by

the shortest possible path length [Gavoille et al. ’97] For a network of n nodes, guaranteeing a stretch strictly below 3 requires routing tables of size O(n)

⇒ Consider schemes that may inflate path length to achieve sub-linear scalability

3 / 18

slide-4
SLIDE 4

Geometric routing

Each node needs to know only the coordinates of its neighbors Forwarding: pick the neighbor closest to the destination x y d

×

s Problem: The packets can meet a dead end!

4 / 18

slide-5
SLIDE 5

The Internet has a hierarchical structure

5 / 18

slide-6
SLIDE 6

Tree routing

  • Trees are easy to build distributively
  • They can ensure 100% routing success (exactly one path between any

two nodes) d s stretch = 1.5

6 / 18

slide-7
SLIDE 7

Tree routing

  • Trees are easy to build distributively
  • They can ensure 100% routing success (exactly one path between any

two nodes) d s stretch = 1.5 Tree routing is not efficient. . .

6 / 18

slide-8
SLIDE 8

PIE embeds trees into metric spaces

  • Root has coordinate 0
  • Binary representation of each child

1, −1, −1 3, −3, −3, −2, 2 −1, 1, −1 −1, −1, 1 −1, −1, −1 −1, 1, 1 −2, 2, −2

stretch = 1.5

7 / 18

slide-9
SLIDE 9

PIE embeds trees into metric spaces

  • Then recursively, each parent:

◮ Send its coordinates to its children. The children keep the signs, but

increase absolute values of these coordinates by link cost to parent

◮ If more than one child: the parent also sends the binary representation

  • f each child, that is appended to the coordinates

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

stretch = 1.5

7 / 18

slide-10
SLIDE 10

PIE embeds trees into metric spaces

  • Then recursively, each parent:

◮ Send its coordinates to its children. The children keep the signs, but

increase absolute values of these coordinates by link cost to parent

◮ If more than one child: the parent also sends the binary representation

  • f each child, that is appended to the coordinates

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

stretch = 1.5

7 / 18

slide-11
SLIDE 11

PIE embeds trees into metric spaces

  • Then recursively, each parent:

◮ Send its coordinates to its children. The children keep the signs, but

increase absolute values of these coordinates by link cost to parent

◮ If more than one child: the parent also sends the binary representation

  • f each child, that is appended to the coordinates

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

stretch = 1.5

7 / 18

slide-12
SLIDE 12

Routing using the embedding

Distance computation: l∞-norm on the common coordinates

4, −4, −4, −3, 3

d

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

stretch = 1.5

8 / 18

slide-13
SLIDE 13

Routing using the embedding

Distance computation: l∞-norm on the common coordinates

4, −4, −4, −3, 3

d

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

stretch = 1.5

8 / 18

slide-14
SLIDE 14

Routing using the embedding

Distance computation: l∞-norm on the common coordinates

4, −4, −4, −3, 3

d

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

stretch = 1.5

8 / 18

slide-15
SLIDE 15

Routing using the embedding

Distance computation: l∞-norm on the common coordinates

4, −4, −4, −3, 3

d

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

stretch = 1.5

8 / 18

slide-16
SLIDE 16

Routing using the embedding

Distance computation: l∞-norm on the common coordinates

4, −4, −4, −3, 3

d

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

stretch = 1.5

8 / 18

slide-17
SLIDE 17

Routing using the embedding

Distance computation: l∞-norm on the common coordinates

4, −4, −4, −3, 3

d

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

stretch = 1.5 stretch = 1

8 / 18

slide-18
SLIDE 18

PIE embeds trees into metric spaces

  • This approach still guarantees 100% routing success
  • It is better than tree routing
  • But still lacks some topological information in some situations. . .

4, −4, −4, −3, 3

d

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

stretch = 1.5 stretch = 1

9 / 18

slide-19
SLIDE 19

PIE embeds trees into metric spaces

  • This approach still guarantees 100% routing success
  • It is better than tree routing
  • But still lacks some topological information in some situations. . .

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

d

−2, −2, 2 −2, 2, −2

stretch = 1.5 stretch = 2

9 / 18

slide-20
SLIDE 20

PIE embeds trees into metric spaces

  • This approach still guarantees 100% routing success
  • It is better than tree routing
  • But still lacks some topological information in some situations. . .

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

d

−2, −2, 2 −2, 2, −2

stretch = 1.5 stretch = 2

9 / 18

slide-21
SLIDE 21

Solution: build several smaller trees

  • Easy to build distributively (random self-elected roots)
  • Still scalable if each node belongs to O(log n) trees

−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

stretch = 1

10 / 18

slide-22
SLIDE 22

Solution: build several smaller trees

  • Easy to build distributively (random self-elected roots)
  • Still scalable if each node belongs to O(log n) trees

−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

d

−1

stretch = 1

10 / 18

slide-23
SLIDE 23

Solution: build several smaller trees

  • Easy to build distributively (random self-elected roots)
  • Still scalable if each node belongs to O(log n) trees

−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

d

−1

stretch = 1

10 / 18

slide-24
SLIDE 24

Trees covering several levels

  • Forwarding: use common tree that provides smallest distance
  • Big trees: good for long paths
  • Small trees: good for short paths
  • Match well the self-similar structure of the Internet
  • O(log n) levels → only O(log n) set of coordinates per node

Level 1: Level 2:

11 / 18

slide-25
SLIDE 25

Trees covering several levels

12 / 18

slide-26
SLIDE 26

Trees covering several levels

12 / 18

slide-27
SLIDE 27

Trees covering several levels

12 / 18

slide-28
SLIDE 28

Trees covering several levels

12 / 18

slide-29
SLIDE 29

Trees covering several levels

12 / 18

slide-30
SLIDE 30

Wrapping up

Theorem 1 The number of coordinates is O(log3 n) w.p. 1 for random power-law graphs

Proof uses recent results on the diameter of such graphs

Theorem 2 The embedding produced by PIE ensures 100% routing success

The embedding is greedy

  • Distributed

◮ Embedding procedure goes from root to leaves ◮ Self-elected roots

  • Local and fast forwarding decisions

◮ Only compute a few distances 13 / 18

slide-31
SLIDE 31

Performance

  • Internet AS level[1]
  • m: Number of levels
  • Link weights ∼ Unif[1, 10]

Stretch CDF:

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

Average stretch < 1.03 for 7 levels and more

[1]: DIMES [Shavitt et al. ’05], dataset of March 2010

14 / 18

slide-32
SLIDE 32

Performance

  • Synthetic graphs[1], with power-law exponent λ
  • Number of levels m ∈ O(log n)

Average stretch:

103 104 105 network size n 1.00 1.02 1.04 1.06 1.08 1.10 stretch

  • ✁2.0
  • ✁2.1
  • ✁2.2
  • ✁2.3

Low stretch scales with the size of the network

[1]: GLP [Bu et al. ’02]

15 / 18

slide-33
SLIDE 33

Scalability

  • Number of levels m ∈ O(log n)

Total number of coordinates per node (min, max, average):

103 104 105 network size n 50 100 150 200 250 300 number of coordinates

O(log3 n) PIE

Routing tables of size O(log3 n)

16 / 18

slide-34
SLIDE 34

Resilience to network failures

Geometric coordinates provide route diversity for free Routing success after failures:

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

For a given success ratio, PIE needs to re-compute its state less often

17 / 18

slide-35
SLIDE 35

Conclusion

  • Distributed construction of the coordinates
  • Scalable: routing tables of size O(log3 n) with probability 1
  • Efficient paths

◮ Can maintain average stretch < 1.03 ◮ Adapts well to weighted graphs

  • Guaranteed routing success on any connected graph
  • Other applications: overlay, peer-to-peer, distance estimation, etc...
  • Future work:

◮ Policy routing, traffic engineering, etc. . . ◮ Economic considerations (who is the root?) 18 / 18

slide-36
SLIDE 36

1 / 4

slide-37
SLIDE 37

Congestion

Congestion (number of packets relayed) CDF:

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

The congestion induced is the same than for shortest path routing

2 / 4

slide-38
SLIDE 38

Some related work

  • Geographic/geometric routing for ad-hoc networks

◮ Euclidean embeddings, not well suited for the Internet, local minima

  • Compact routing [Thorup et al. ’01] (TZ)

◮ Scalability O(n1/2) → still a fractional power of n

  • Hyperbolic embeddings of Internet topology [Papadopoulos et al.

2010] and [Boguna et al. 2010]

◮ Presence of local minima, routing success not guaranteed

  • Quasi-greedy embedding in Euclidean spaces [Westphal et al. ’09]

◮ Produces local minima and requires a recovery mechanism

  • Geometric routing with bounded stretch [Flury et al. ’09]

◮ Not distributed

  • Compact routing for power-law graphs [Brady et al. ’06] (BC)

◮ Not distributed 3 / 4

slide-39
SLIDE 39

Comparison with TZ, BC and TZ+BC

  • Power-law random graphs with exponent λ
  • Graphs and results for TZ, BC and TZ+BC come from [Brady et al.

’06] Average stretch:

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