Routing Complexity of Faulty Networks Omer Angel Itai Benjamini Eran Ofek Udi Wieder The Weizmann...

Post on 26-Mar-2015

218 views 1 download

Tags:

Transcript of Routing Complexity of Faulty Networks Omer Angel Itai Benjamini Eran Ofek Udi Wieder The Weizmann...

Routing Complexity of Faulty Networks

Omer Angel Itai Benjamini Eran Ofek Udi Wieder

The Weizmann Institute of Science

Routing in a Faulty Network

Node u knows the topology of the graph. Can choose a path to node v.

Each link survives independently with probability p . u has partial knowledge on the topology of the graph. How many links (edges) should u probe before a path

to v is found (if a path exists).

u v

G:Gp:

Routing in a Faulty Network

Local Router – an algorithm which: Starts at node u. Probes edges which it has reached. Outputs a path to v.

Local Routing Complexity of A (with respect to u,v): The random variable counting the number of probed edges until a path is found (given that a path exists). Interesting when is bounded away from 0.

Efficiency: a local algorithm is efficient if its complexity is polynomial in the diameter of the largest component of Gp.

u v

Pr[u » v]

Routing in a Faulty Network

The existence of short paths does not guarantee the ability of finding them. A cycle with a random matching has diameter O(log n)

[BC88]. Finding a path requires time [Kleinberg00]. On the other hand: The Small World Phenomenon…

Our perspective: fault tolerance of networks. Study the effect of random failures on routing. Related to percolation theory – studies the effect of

random failures on connectivity.

(n1=2)

O(logn)

Outline

The Hypercube Lower bound: if local routing is not efficient. Tight upper bound: if . For short paths exist but are hard to

find.

The Mesh Tight upper and lower bounds. Whenever short paths

exist (as a function of p), they can be found.

The importance of the locality assumption Local and non local routers may have exponential gap. Another example: tight analysis of Gn,p .

p<< 1pn

p>> 1pn

1n

< p< 1pn

The Faulty Hypercube – Some History

– The n-dimensional hypercube in which each edge fails independently with probability 1-p . If then w.h.p. is connected [Burtin77].

Disconnected w.h.p. when .

If then w.h.p. Hn can emulate Hn with constant slowdown [HLN85] (considered node failures). Implicit: local routing in is possible.

If then w.h.p contains a giant component [AKS82]. Sharpened by [BKL92],[BSH+04]. Diameter of giant component is . Short paths

exist. When all components are of size O(n) w.h.p.

H pn

1¡ p

H pn

p< 12

p> 12

p> 12 H p

n

H pn

p> (1+²)n¡ 1 H pn

poly(n)p< (1¡ ²)n¡ 1

The Faulty Hypercube

Question: What probabilities in the range allow local routing (inside the g.c.) with complexity polynomial in n ?

• Graph is connected.

• Emulation (and routing) possible

No giant component

Threshold for constant distortion embedding of Hn in [AB03]

1n

< p< 12

1n

1pn p= 1p = 0

12

H pn

Local Routing Phase Transition

Let 0 < < ½. Lower bound (for ):

Any local routing algorithm makes at least queries w.h.p. . Short paths exist but cannot be efficiently found!

Upper bound (for ):There exists a local routing algorithm that finds a path between u,v in poly(n) time with high probability.

2 (n¯ )p= n¡ 1=2¡ ¯

p= n¡ 1=2+¯

The Faulty Hypercube

• Graph is connected.

• Emulation (and routing) possible

• No giant component

Threshold for constant distortion embedding of Hn in [AB03]

Local routing in poly(n) queries

• No efficient local routing

H pn

p= 0 p= 11n

1pn

12

Lemma: Assume V . Denote:

-– v is connected to u inside S. Q – the number of queries of a local router from u

to v. For each e crossing the cut .

The Lower Bound Lemma

V = S [ ¹S, v 2 S

S ¹S

vu

e

f (u S» v)g

(S; ¹S) , Pr[(v S» e)] < ³

8t Pr[Q < t] · t³ + Pr[(u S» v)]

The Lower Bound Lemma – Simple Example

Lemma: Assume V . Denote:

-– v is connected to u inside S. Q – the number of queries of a local router from u

to v. For each e crossing the cut .

Double Tree (0<p<1): S = the bottom tree, . Lemma implies: for ,

V = S [ ¹S, v 2 S

v

u

S

³ = pn

f (u S» v)g

(S; ¹S) , Pr[(v S» e)] < ³

8t Pr[Q < t] · t³ + Pr[(u S» v)]

t = ² 1pn

Pr[Q < t] · tpn = ²

The Double Tree – u,v are connected

Double Binary Tree – 2 depth n trees joined at their leaves. A path u~v exists iff there is a

leaf w and mirroring paths .

The event {u~v}is tantamount to a branching process with p2. Path exists with constant

probability, when p is a constant > .

u

v

u » v

u » w;v » wf u » vg

1p2

Lower Bound Lemma proof – Relaxed Model

If , the algorithm stops successfully (complexity = 0).

When a cut edge is probed, its entire component in S is given to the algorithm for free. If this component contains v the algorithm stops successfully. S ¹S

v

(u S» v)

Assume:

For each probed edge ei entering S:

Lower Bound Lemma - Proof

u

v

C0

C1 C2

Ci

u 2 S

Pr[(ei » v) 2 SjC0; : : : ;Ci ¡ 1] · ³

· t³ S

¹S

Pr[Q < t] · Pr[Q < t j (u S¿ v)]+ Pr[(u S

» v)]

Hyper Cube - Lower Bound

Fix: (almost surely ).

For any two vertices u,v , any local routing algorithm (almost surely) makes at least queries to find a path between u,v.

p = n¡ 1=2¡ ¯ (u » v)

n¡ (n¯ =2)

Fix: (almost surely ).

Claim: #of paths s of length is at most .s

Applying the Lemma to the Hypercube

(v » x) 2 S `+ 2knk 2̀k !̀

p = n¡ 1=2¡ ¯ (u » v)

v x ye

¹SS

` = n¯ =28e2 S £ ¹S : Pr[(v S

» e)] < ³

) Pr[Q < t] · t³ + Pr[(u S» v)]

· 2n¡ (n¯ =2)³ = Pr[(v S» x)] ·

1X

k=0

pl+2knk l2k l!

Lemma: #of paths s inside S of length is at most .s

Proof: Let Ak be the set of such paths of length . A0 = l!

There exists a mapping between Ak and Ak-1 that maps at most Ak-paths into one Ak-1-path.

A path is a list of coordinate changes:

n possible coordinates and possible indices in the path.

Applying the Lemma to the Hypercube`+ 2k

nk 2̀k !̀

jAkj · n 2̀jAk¡ 1j =) jAkj · nk 2̀k !̀

`+ 2k

1 8 31 7 20 8 3 .... 12

`+1

A0 = !̀

n ¢̀ 2

¡`+1

2

¢

(v » x)

Fix: (almost surely ).

Claim: #of paths s of length is at most .s

Applying the Lemma to the Hypercube

(v » x) 2 S `+ 2knk 2̀k !̀

p = n¡ 1=2¡ ¯ (u » v)

v x ye

¹SS

` = n¯ =2

³ = Pr[(v » x) 2 S] ·1X

k=0

pl+2knkl2kl!

8e2 S £ ¹S : Pr[(v S» e)] < ³

· 2n¡ (n¯ =2)

= o(1)) Pr[Q < t] · t³ + Pr[(u S

» v)]

Applying the Lemma to the Hypercube

Claim: for any vertex of distance m from v:

Proof sketch: #paths inside S of length m+2k is at most .

nk 2̀km!

vu

S

` = n¯ =2

[= n¡ m¯ =2]

u 2 S

Pr[(u S» v)] = o(1)

(v » u)

Pr[(u S» v)] ·

1X

k=0

pm+2knk l2km!= o(1)

Hyper Cube

So far we have shown: if , then #queries made by any local algorithm is exponential.

We will now show: a local algorithm which (almost surely) makes only poly(n) queries for .

p<< 1pn

p>> 1pn

The Hypercube – Efficient Algorithm for

We observe that the embedding of [AB03]: For any adjacent u,v in Hn: with probability

u,v are mapped to themselves and their distance in is at most .

The Algorithm: Fix a shortest path in Hn: .

With high probability all nodes are mapped to themselves. Any two adjacent vertices in the above path are at distance from each other in .

Exhaustively search balls around xi until xi+1 is found. Requires at most probes. The algorithm does not know the embedding.

p = n¡ 1=2+¯

` = (̀¯ )

u = x0;x1; : : : ;xk = v

`

n`

1¡ e¡ (p

n)

H pn

H pn

The Mesh Md

We will show: An efficient local algorithm for the mesh.

The Infinite Mesh Md

M - Each edge fails with probability . For each dimension d there exists such that:

If then contains one infinite component with prob .

If then with prob. all components of are finite.

The value of is not always known: . and decreasing.

For finite meshes: translates to high probability bounds on the existence of giant components.

M dp 1¡ p

11

pc

pdc

M dp

p< pdc

p> pdc

M dp

p2c = 1

2pd

c = (1+ o(1)) 12d

Routing in the Faulty Mesh

Theorem: let u,v be two vertices at distance k in Md. Assuming , there exists a routing algorithm which finds a path using O(k) probes in expectation.

The Algorithm – similar to the hypercube algorithm: Fix a shortest path – .

Once in xi – exhaustively search inside increasing balls

around xi until xj (j>i) is found.

Assuming the algorithm will output a path.

u » v

u » v

u = x0;x1; : : : ;xk = v

Proof Outline

x1 xi+1

¿xk = v

Pr[¿ > a] < e¡ ca

xi

1X

a=1

(2a)de¡ ca = O(1)

u = x0

Claim: Let xi be a vertex in the shortest path. Its potential contribution is expected to be O(1).

Show:

Let xi be a vertex in the shortest path and in the giant component:

[AP96] The next vertex in g.c. is not likely to be far:

Let d,D be the metrics before and after the percolation.

[AP96]: There is such that for any :

Proof – Bounding :

xi

xi+1

a > ½¢d(x;y)

u = x0

xk = v

l

xi+l+1

Pr[l > a] < e¡ (a)

Pr[(D(x;y) > a) ^(x » y)] < e¡ (a)

Local Routing vs. Oracle Rounting

Oracle Routing: The algorithm may probe any edge of the graph (even edges it did not reach).

Oracle Routing adds power: there are graphs in which there is a noticeable gap between Oracle and Local Routing complexities. Double binary tree – exponential gap. - polynomial gap.Gn;c=n

Double Binary Tree

Find a “mirror path”by querying simultaneouslyfrom both sides (using DFS).

Equivalent to finding a path from a root to a leaf in a super-critical tree. Bad branches are expected

to have constant size.

u

v

p2 > 12

Gn,c/n Lower Bound for Local Routing

Lower bound: Any local algorithm almost surely needs (n2/c2) queries.

Proof Sketch: After k queries the algorithm reveals roughly kp

vertices. Any new revealed vertex has probability p to be

connected to v.

total probability of connection to v after k queries is kp2

(=o(1) for k = o(n2/c2) ).

Gn,c/n Oracle Routing using O(n3/2) queries

Grow a (n1/2) size component around each of u,v.

Roughly n3/2/c queries are needed.

Almost surely there is an edge between Cu,Cv (and only O(n) queries are needed to find it).

Remark: the above algorithm is optimal up to constant factors.

Cu Cv

u v

Summary

connectivity Efficient oracle routing

Efficient local routing

Gap: double binary tree p2 > ½.

Gap: in Gn,p for p= c/n . Oracle router needs O(n3/2) queries but diameter is poly(log n).

Gap: Hyper-cube1/n < p < n-1/2