Distributed computing of efficient routing schemes Nicolas Nisse 1 - - PowerPoint PPT Presentation

distributed computing of efficient routing schemes
SMART_READER_LITE
LIVE PREVIEW

Distributed computing of efficient routing schemes Nicolas Nisse 1 - - PowerPoint PPT Presentation

Distributed computing of efficient routing schemes Nicolas Nisse 1 an Rapaport 2 Karol Suchan 3 Iv 1 MASCOTTE, INRIA, I3S, CNRS, UNS, Sophia Antipolis, France 2 DIM, Universidad de Chile, Santiago, Chile 3 Universidad Adolfo Ib a nez,


slide-1
SLIDE 1

1/12

Distributed computing of efficient routing schemes

Nicolas Nisse1 Iv´ an Rapaport2 Karol Suchan3

1 MASCOTTE, INRIA, I3S, CNRS, UNS, Sophia Antipolis, France 2 DIM, Universidad de Chile, Santiago, Chile 3 Universidad Adolfo Ib´

a˜ nez, Santiago, Chile

Working group June 15th 2009, Alcatel Lucent Belgique/MASCOTTE/LaBRI

Nicolas Nisse, Iv´ an Rapaport, Karol Suchan Distributed computing of efficient routing schemes

slide-2
SLIDE 2

2/12

The Routing Problem

Problem input: a network G

  • utput: a routing scheme for G

Routing Scheme: protocol that directs the traffic in a network Any source must be able to route a message to any destination, given the destination’s ID. name-based: IDs are chosen by the designer of the scheme

Nicolas Nisse, Iv´ an Rapaport, Karol Suchan Distributed computing of efficient routing schemes

slide-3
SLIDE 3

3/12

Complexity Measures

Stretch Multiplicative stretch: ratio between the length of the computed route and the distance. |route(x, y)| ≤ mult-stretch · d(x, y). Additive stretch: difference between the length of the computed route and the distance. |route(x, y)| ≤ add-stretch + d(x, y). Routing tables’ size Space necessary to store local routing table (per node) Time complexity Distributed protocol to setup data structures

Nicolas Nisse, Iv´ an Rapaport, Karol Suchan Distributed computing of efficient routing schemes

slide-4
SLIDE 4

4/12

Example: Interval Routing [Santoro & Khatib, 82]

Nodes labeled using integers Outgoing arc labeled with an interval of the name range Message sent through the arc containing the destination mult-stretch:

route(1,5) d(1,5)

= 4 add-stretch:

route(1, 5)-d(1, 5)= 3

space per node: O(∆ log n)

2 3 1 5 4 6

[1] [1,2] [1,3] [5] [2,6] [3,6] [4,6] [6] [1,5] [6,4]

Nicolas Nisse, Iv´ an Rapaport, Karol Suchan Distributed computing of efficient routing schemes

slide-5
SLIDE 5

5/12

Related Works: name-based

Labels are of polylogarithmic size network mult-stretch table arbitrary 1 n log n folklore (k ≥ 2) 4k − 5 O(n1/k) Thorup & Zwick tree 1 O(1) TZ/Fraigniaud & Gavoille doubling-α 1 + ǫ log ∆ Talwar/Slivkins dimension O(1) Chan et al./Abraham et al. planar 1 + ǫ O(1) Thorup H-minor free 1 + ǫ O(1) Abraham & Gavoille

Table: Routing schemes

Nicolas Nisse, Iv´ an Rapaport, Karol Suchan Distributed computing of efficient routing schemes

slide-6
SLIDE 6

6/12

Related Work: k-chordal Graphs

k-chordal graph: any cycle with length ≥ k contains a chord. chordal graph ⇔ 3-chordal graph (a.k.a. triangulated graph) network stretch table computation +2 O( log3 n

log log n)

O(m + n log2 n) Dourisboure chordal Gavoille, 02 k + 1 O(log2 n) poly(n) Dourisboure k-chordal 04

Table: Routing schemes for k-chordal graphs

Nicolas Nisse, Iv´ an Rapaport, Karol Suchan Distributed computing of efficient routing schemes

slide-7
SLIDE 7

6/12

Our results: k-chordal Graphs

k-chordal graph: any cycle with length ≥ k contains a chord. chordal graph ⇔ 3-chordal graph (a.k.a. triangulated graph) network stretch table computation +2 O( log3 n

log log n)

O(m + n log2 n) Dourisboure chordal Gavoille, 02 +1 O(∆ log n) O(n) this work k + 1 O(log2 n) poly(n) Dourisboure k-chordal 04 k − 1 O(∆ log n) O(D) this work

Table: Routing schemes for k-chordal graphs

Nicolas Nisse, Iv´ an Rapaport, Karol Suchan Distributed computing of efficient routing schemes

slide-8
SLIDE 8

7/12

Routing scheme RS(G, T)

G a network and T a routed spanning tree of G x a source node and y a destination node If x = y, stop. If there is w ∈ NG(x), an ancestor of y in T, choose w minimizing dT(w, y); Otherwise, choose the parent of x in T.

root x y

Nicolas Nisse, Iv´ an Rapaport, Karol Suchan Distributed computing of efficient routing schemes

slide-9
SLIDE 9

7/12

Routing scheme RS(G, T)

G a network and T a routed spanning tree of G x a source node and y a destination node If x = y, stop. If there is w ∈ NG(x), an ancestor of y in T, choose w minimizing dT(w, y); Otherwise, choose the parent of x in T.

root x y w

Nicolas Nisse, Iv´ an Rapaport, Karol Suchan Distributed computing of efficient routing schemes

slide-10
SLIDE 10

7/12

Routing scheme RS(G, T)

G a network and T a routed spanning tree of G x a source node and y a destination node If x = y, stop. If there is w ∈ NG(x), an ancestor of y in T, choose w minimizing dT(w, y); Otherwise, choose the parent of x in T.

root x y

Nicolas Nisse, Iv´ an Rapaport, Karol Suchan Distributed computing of efficient routing schemes

slide-11
SLIDE 11

7/12

Routing scheme RS(G, T)

G a network and T a routed spanning tree of G x a source node and y a destination node If x = y, stop. If there is w ∈ NG(x), an ancestor of y in T, choose w minimizing dT(w, y); Otherwise, choose the parent of x in T.

root x y

Nicolas Nisse, Iv´ an Rapaport, Karol Suchan Distributed computing of efficient routing schemes

slide-12
SLIDE 12

7/12

Routing scheme RS(G, T)

G a network and T a routed spanning tree of G x a source node and y a destination node If x = y, stop. If there is w ∈ NG(x), an ancestor of y in T, choose w minimizing dT(w, y); Otherwise, choose the parent of x in T.

root x y

Nicolas Nisse, Iv´ an Rapaport, Karol Suchan Distributed computing of efficient routing schemes

slide-13
SLIDE 13

7/12

Routing scheme RS(G, T)

G a network and T a routed spanning tree of G x a source node and y a destination node If x = y, stop. If there is w ∈ NG(x), an ancestor of y in T, choose w minimizing dT(w, y); Otherwise, choose the parent of x in T. Once T has been chosen Space: labeling of nodes: any rooted subtree ⇔ interval routing table: each node knows the interval of its neighbors O(∆ log n) bits per node Time: easy in time O(D) in synchronous distributed way

Nicolas Nisse, Iv´ an Rapaport, Karol Suchan Distributed computing of efficient routing schemes

slide-14
SLIDE 14

8/12

Performances

Lemma 1 If T is any BFS-tree of G k-chordal graph, then Add-stretch of RS(G, T) = k − 1 Lemma 2 If T is any MaxBFS-tree of G chordal graph, then Add-stretch of RS(G, T) = 1 Lemma 3: in synchronous distributed way, a BFS-tree can be computed in time O(D); a MaxBFS-tree can be computed in time O(n).

Nicolas Nisse, Iv´ an Rapaport, Karol Suchan Distributed computing of efficient routing schemes

slide-15
SLIDE 15

9/12

BFS orderings and BFS-trees

Let r be an arbitrary node: the root. BFS-tree: parent = greatest neighbor Breadth First Search Labeled r with n, While ∃ unlabeled vertices Label a neighbor of greatest v with unlabeled neighbors

r 8 = n

Nicolas Nisse, Iv´ an Rapaport, Karol Suchan Distributed computing of efficient routing schemes

slide-16
SLIDE 16

9/12

BFS orderings and BFS-trees

Let r be an arbitrary node: the root. BFS-tree: parent = greatest neighbor Breadth First Search Labeled r with n, While ∃ unlabeled vertices Label a neighbor of greatest v with unlabeled neighbors

r 8 = n 7 5 6

Nicolas Nisse, Iv´ an Rapaport, Karol Suchan Distributed computing of efficient routing schemes

slide-17
SLIDE 17

9/12

BFS orderings and BFS-trees

Let r be an arbitrary node: the root. BFS-tree: parent = greatest neighbor Breadth First Search Labeled r with n, While ∃ unlabeled vertices Label a neighbor of greatest v with unlabeled neighbors

r 8 = n 7 5 6 4 3

Nicolas Nisse, Iv´ an Rapaport, Karol Suchan Distributed computing of efficient routing schemes

slide-18
SLIDE 18

9/12

BFS orderings and BFS-trees

Let r be an arbitrary node: the root. BFS-tree: parent = greatest neighbor Breadth First Search Labeled r with n, While ∃ unlabeled vertices Label a neighbor of greatest v with unlabeled neighbors

r 8 = n 7 5 6 4 3 2

Nicolas Nisse, Iv´ an Rapaport, Karol Suchan Distributed computing of efficient routing schemes

slide-19
SLIDE 19

9/12

BFS orderings and BFS-trees

Let r be an arbitrary node: the root. BFS-tree: parent = greatest neighbor Breadth First Search Labeled r with n, While ∃ unlabeled vertices Label a neighbor of greatest v with unlabeled neighbors

r 8 = n 7 5 6 4 3 1 2

Nicolas Nisse, Iv´ an Rapaport, Karol Suchan Distributed computing of efficient routing schemes

slide-20
SLIDE 20

9/12

BFS orderings and BFS-trees

Let r be an arbitrary node: the root. BFS-tree: parent = greatest neighbor Maximum NeighborhoodBFS Labeled r with n, While ∃ unlabeled vertices Label a neighbor of greatest v with unlabeled neighbors that has maximum labeled neighbors

r 8 = n 7 3 6 1 2 5 4

Nicolas Nisse, Iv´ an Rapaport, Karol Suchan Distributed computing of efficient routing schemes

slide-21
SLIDE 21

9/12

BFS orderings and BFS-trees

Let r be an arbitrary node: the root. BFS-tree: parent = greatest neighbor Maximum NeighborhoodBFS Labeled r with n, While ∃ unlabeled vertices Label a neighbor of greatest v with unlabeled neighbors that has maximum labeled neighbors

r 8 = n 7 6 5 6 1 2 3 4 5

Nicolas Nisse, Iv´ an Rapaport, Karol Suchan Distributed computing of efficient routing schemes

slide-22
SLIDE 22

9/12

BFS orderings and BFS-trees

Let r be an arbitrary node: the root. BFS-tree: parent = greatest neighbor Maximum NeighborhoodBFS Labeled r with n, While ∃ unlabeled vertices Label a neighbor of greatest v with unlabeled neighbors that has maximum labeled neighbors

r 8 = n 7 6 5 4 3 2 1 6 5 2 1 3 4

Nicolas Nisse, Iv´ an Rapaport, Karol Suchan Distributed computing of efficient routing schemes

slide-23
SLIDE 23

10/12

Lemma 2: Sketch of proof

If T is any MaxBFS-tree of G chordal graph, then Add-stretch of RS(G, T) = 1 Main tools T is a BFS-tree G chordal ⇔ any minimal separator is a clique [Dirac] MaxBFS-ordering and G chordal ⇒ (v > w > z and {z, w}, {z, v} ∈ E ⇒ {v, w} ∈ E) [BKS 05] Remainder: Routing Scheme: follows T but if one neighbor is an ancestor of the destination.

Nicolas Nisse, Iv´ an Rapaport, Karol Suchan Distributed computing of efficient routing schemes

slide-24
SLIDE 24

11/12

MaxBFS-tree + chordal graph ⇒ add-stretch=1

Source x ancestor/descendant of destination y ⇒ add-stretch=0 because T BFS-tree

x y

Nicolas Nisse, Iv´ an Rapaport, Karol Suchan Distributed computing of efficient routing schemes

slide-25
SLIDE 25

11/12

MaxBFS-tree + chordal graph ⇒ add-stretch=1

r0 closest commun ancestor of x and y P a shortest path between x and y Let us prove that |Route(x, y)| ≤ |P| + 1

r P y x

Nicolas Nisse, Iv´ an Rapaport, Karol Suchan Distributed computing of efficient routing schemes

slide-26
SLIDE 26

11/12

MaxBFS-tree + chordal graph ⇒ add-stretch=1

r0 closest commun ancestor of x and y P a shortest path between x and y Let us prove that |Route(x, y)| ≤ |P| + 1

r P x y

Nicolas Nisse, Iv´ an Rapaport, Karol Suchan Distributed computing of efficient routing schemes

slide-27
SLIDE 27

11/12

MaxBFS-tree + chordal graph ⇒ add-stretch=1

Case r0 / ∈ N(P). ∃S minimal r0, P-separator in N(P). u, v ∈ S s.t. d(u, x) + d(v, y) minimum Let us prove that |Route(x, y)| ≤ |P| + 1

S u v r P x y

Nicolas Nisse, Iv´ an Rapaport, Karol Suchan Distributed computing of efficient routing schemes

slide-28
SLIDE 28

11/12

MaxBFS-tree + chordal graph ⇒ add-stretch=1

G chordal ⇒ S clique, thus {u, v} ∈ E(G) d(x, u) + 1 + d(v, y) upper bound on |Route(x, y)| Let us prove that |Route(x, y)| ≤ |P| + 1 d(x, u) + d(v, y) ≤ |P|

S u v r P x y

Nicolas Nisse, Iv´ an Rapaport, Karol Suchan Distributed computing of efficient routing schemes

slide-29
SLIDE 29

11/12

MaxBFS-tree + chordal graph ⇒ add-stretch=1

{u, v} ∈ E(G) and u, v ∈ N(P) G chordal ⇒ u, v have a commun neighbor z in P Let us prove that |Route(x, y)| ≤ |P| + 1 d(x, u) + d(v, y) ≤ |P|

S z u v r P x y

Nicolas Nisse, Iv´ an Rapaport, Karol Suchan Distributed computing of efficient routing schemes

slide-30
SLIDE 30

11/12

MaxBFS-tree + chordal graph ⇒ add-stretch=1

T BFS-tree d(u, x) ≤ d(x, z) + 1 and d(v, y) ≤ d(z, y) + 1 Let us prove that |Route(x, y)| ≤ |P| + 1 d(x, u) + d(v, y) ≤ |P| We know d(u, x) ≤ d(x, z) + 1 d(v, y) ≤ d(z, y) + 1

S z u v r P x y

Nicolas Nisse, Iv´ an Rapaport, Karol Suchan Distributed computing of efficient routing schemes

slide-31
SLIDE 31

11/12

MaxBFS-tree + chordal graph ⇒ add-stretch=1

W.l.o.g., u > v. Recall d(v, y) ≤ d(z, y) + 1 d(v, y) ≤ d(z, y), otherwise Pz→y would belong to T Let us prove that |Route(x, y)| ≤ |P| + 1 d(x, u) + d(v, y) ≤ |P| We know d(u, x) ≤ d(x, z) + 1 d(v, y) ≤ d(z, y)

S z u v r P x y

Nicolas Nisse, Iv´ an Rapaport, Karol Suchan Distributed computing of efficient routing schemes

slide-32
SLIDE 32

11/12

MaxBFS-tree + chordal graph ⇒ add-stretch=1

Assume d(u, x) = d(x, z) + 1. T BFS-tree ⇒ v > w > z. G chordal ⇒ {w, z} ∈ E(G) Let us prove that |Route(x, y)| ≤ |P| + 1 d(x, u) + d(v, y) ≤ |P| We know d(u, x) ≤ d(x, z) + 1 d(v, y) ≤ d(z, y)

S z u v w r P x y

Nicolas Nisse, Iv´ an Rapaport, Karol Suchan Distributed computing of efficient routing schemes

slide-33
SLIDE 33

11/12

MaxBFS-tree + chordal graph ⇒ add-stretch=1

v > w > z and {z, v}, {w, z} ∈ E(G) ⇒ {w, v} ∈ E(G) |Route(x, y)| ≤ d(x, w) + 1 + d(v, y) ≤ |P| + 1 Let us prove that |Route(x, y)| ≤ |P| + 1 d(x, u) + d(v, y) ≤ |P| We know d(u, x) ≤ d(x, z) + 1 d(v, y) ≤ d(z, y) If d(u, x) = d(x, z) + 1 then {w, v} ∈ E(G)

S z u v w r P x y

Nicolas Nisse, Iv´ an Rapaport, Karol Suchan Distributed computing of efficient routing schemes

slide-34
SLIDE 34

12/12

Current/Further works

Can we improve the size of routing tables? Other graph classes? Other BFS-ordering? Case of k-chordal graphs: can we improve the stretch?

Nicolas Nisse, Iv´ an Rapaport, Karol Suchan Distributed computing of efficient routing schemes