1
Compact routing schemes with improved stretch
Shiri Chechik
Doctoral Dissertation Award forPrinciples Of Distributed Computing (PODC) 2013
2
Compact routing schemes with improved stretch
This paper is an improvement on the work of TZ.Where?
3
Intuition
S T
Close enough
4
Intuition
S
T
Far enough
5
Intuition
S
T
Questionable
6
TZ compact routing
• Every node holds a routing table with information
• Stretch on routing is
7
TZ compact routing
• Every node holds a routing table with information
• Stretch on routing is
We will talk about the case where
:
:
8
h𝑠𝑡𝑟𝑒𝑡𝑐 =h𝑙𝑒𝑛𝑔𝑡 ¿ (𝑠 ,𝑡)
𝑑 (𝑠 , 𝑡)
9
Model – definitions
• Graph .• Each node is a processor.
• Each node is assigned with a unique key .
10
Something we’ll need later on…
11
Search Mechanism
Problem:Given a graph with arbitrary node Ids, how can we quickly route to any given node when given its Id?
Solution:Use a shortest path spanning tree to route to any node at cost of
12
Search Mechanism
Problem:Where do we store the routing information? (the tree is not sorted, for even has sequential Ids…)
Solution:Distribute the routing information among a selected subset of nodes (the nodes…)
13
Search scheme
How can we build a search mechanism on a tree without keeping too much information in any
given node?
14
Search scheme (query)
For some node , does belong to T?If so, how can we route to it?
15
Search scheme (definitions)
Given tree where:1. 2. is the depth of the tree 3.
16
Search scheme (definitions)
is a set of nodes chosen to store the information s.t.
Each node will store information for nodes
17
Search scheme (requirements)
1. In every node the scheme stores information.
2. Given a key the algorithm can find or determine that . This is to be done on a path from no longer than .
18
Search scheme (construction)
is the set of nodes in where has ordered them in a certain way.
The interval is divided into intervals s.t.
Each interval is assigned to the proper node.
19
Search scheme (construction)
20
Search scheme (construction)
21
Search scheme (construction)
22
Search scheme (construction)
23
Search scheme (routing)
Step 1: Route the query to .Step 2: Find the interval and node associated with it.Step 3: Route the message to via T.Step 4: node determines if or not.
24
Search scheme (proof)
1. Each holds information for nodes. The information itself (taken from TZ) for each node is of size . So holds information.
2. The distance the query has to travels is exactly . Since ,
25
We now move to construction
26
Construction - definitions
We start off with constructing the Thorup-Zwick routing tables and labels. ( and )
The routing tables and labels we use are based on those of TZ, but with some additions.
v
’s, clusters & bunches
v
w
𝐵𝐴 (𝑣 )={𝑤∈𝑉∨𝑑 (𝑣 ,𝑤 )<𝑑 (𝐴 ,𝑣)}
’s, clusters & bunches
v
cluster
w
’s, clusters & bunches
𝐶𝐴 (𝑤 )={𝑣∈𝑉∨𝑑 (𝑤 ,𝑣 )<𝑑 (𝐴 ,𝑣)}
30
Construction – definitions
Reminder:
Definition: is the distance between and the closest node . (the pivot of )
31
Construction – definitions
(The label of ) is a concatenation of:
Notice that because we know , the label is
32
Construction – definitions
: A node in G.: The cluster of .
: The shortest path spanning tree of
: , trimmed at a distance of from the root.
33
Construction – search mechanism
For every node and for every we calculate (denoted: ) and do:We sample every node independently with probability of .These chosen nodes are then part of .
34
Construction – search mechanism
We then construct the search mechanism we defined earlier for each node . The information is stored in .Every node holds the routing information to
This is the additional information to we mentioned earlier.
35
Construction – analysis
Lemma 4.2:a. For every node :
b. For every node there at most nodes s.t.
36
Lemma 4.2 – proof
Reminder – Chernoff’s bound:
For a binomial random variable X, where , then
37
Lemma 4.2 – proof
:
The expected size of is . Since , we can say that: .
So with high probability, claim a holds.
38
Lemma 4.2 – proof
At most
• We know from TZ that node belongs to clusters.• .
So the expected number of nodes s.t. is .
39
Lemma 4.2 – proof
At most
By Chernoff’s law we get that with high probability there at most nodes s.t.
40
Construction
Lemma 4.3: the expected size of is
Proof:Our routing table is constructed from and our additions. From TZ, we know the size of is .
41
Lemma 4.3 – proof
Lemma 4.3:
Our addition stores information (requirement of the search scheme) in every node in any for any .
From Lemma 4.2 we know that belongs at most to .
42
We now move to routing
43
Routing – definitions
Reminder:
Definition: is the distance between and the closest node . (the pivot of )
44
Routing – definitions
Definition:
v 𝐴1
𝐴2
𝐴3
𝑑(𝑣 , 𝐴 1)
𝑑(𝑣 , 𝐴2 )
𝑑(𝑣 ,𝐴 3
)
45
Routing – definitions
𝑣 𝑎1∈ 𝐴1 𝑎2∈ 𝐴2 𝑎3∈𝐴3
Δ0(𝑣)Δ1(𝑣 )
Δ2(𝑣)
𝑑(𝑣 , 𝐴1)𝑑(𝑣 , 𝐴2) 𝑑(𝑣 , 𝐴3)
46
Routing – definitions
Let be the minimal index s.t. . If or , then .
Remember,
47
Routing – definitions
How can we calculate this? How does know or ?
48
Routing – definitions
Reminder:When we route to , we have made of
Lemma 4.4: If then
49
Routing – algorithm
Node wants to send a message to node .
1. If and route the message to on (from TZ).2. If route the message on .3. If route the message on .
50
Routing – algorithm
4. If invoke TZ. ()5. Else, Define for the smallest s.t. .
Check if . This is done by routing the message to on and searching for in .
1. If it exists – route to it and quit.2. Otherwise, return the message to and run TZ.
51
Routing – analysis
We know from TZ:
and so and we can route directly from to .
The claim works the same for
52
Routing – analysis
So we assume this is not the case. Namely, . Reminder: is the minimal index s.t.
.
In other words, and (We now have a lower bound on )
53
Routing – analysis
From the analysis of TZ, the worst stretch () is achieved when and are roughly () and .
Lemma 4.5: The stretch of the routing process is at most
54
Lemma 4.5 – proof
The algorithm has the following cases:1. and .2. .
55
Lemma 4.5 – proof
We look at the first 3 cases:1. and .2. .
In one of these cases, by the analysis of TZ, the stretch is at most 7 (instead of 11 in TZ).
56
Lemma 4.5 – proof
We look at the first 3 cases:1. and .2. .
In one of these cases, by the analysis of TZ, the stretch is at most 7 (instead of 11 in TZ).
So we assume it is not one of these cases.
57
Lemma 4.5 – proof
Case 4: In this case the message is routed on so the length of the path is
.
We know that:
58
Lemma 4.5 – proof
And so:
We also know that:
59
Lemma 4.5 – proof
Stretch for case 4
60
Lemma 4.5 – proof
Case 5: In this case the message is routed to on and then is searched in the tree on a path of at most .The length so far is . Since and ,.
61
Lemma 4.5 – proof
Case 5.1: The message will be routed to on with an additional length of .The total length of the route will be
62
Lemma 4.5 – proof
Stretch for case 5.1
63
Lemma 4.5 – proof
Case 5.2: The message will be routed back to and then using TZ with an additional length of .The total length of the route will be
64
Lemma 4.5 – proof
Case 5.2: The message will be routed back to and then using TZ with an additional length of .The total length of the route will be
Note that this case can only occur if .
65
Lemma 4.5 – proof
Stretch for case 5.2
66
Routing – conclusion
we found that the upper bound on the stretch is
By choosing we minimize the stretch down to
67
The case for
The algorithm is very similar.
Changes are mainly in the condition for steps 4 & 5 and a more complicated search mechanism.
68
Thank you