Click here to load reader
Upload
meenakshi-tripathi
View
488
Download
1
Embed Size (px)
Citation preview
Compact routing schemes By Mikkel Thorup & Uri Zwick
Overview
• Each Vertex in n-vertex graph, assigned (1+O(1))log2n bit label.
• Routing table of a node is its label & header of a packet is label of the destination.
• Given label(u) and label(v), it is possible to find, in constant time, the right edge to take from u.
• Improvement of Routing Table size (in landmark based routing technique)
from O(n2/3 log4/3 (n)) to O(n1/2 log(n)) for stretch 3
Trees - Interval Routing
4 5 6
1
2
3
8
10
9
11
7
12
• Root tree arbitrarily & perform Depth first enumeration of vertices ,Vertex identifier is DFS no.
• For node w, fw be largest descendent of w. Then v is descendent of w iff v ∈[w,fw] • If yes, Predecessor search among children w1,….,wd is performed and packet is forwarded wi
(wi is last child smaller than or equal to v)• Else v is routed to parent of w
Advantages:
•Stretch=1•RT=O(d log n) where d= degree(node)•Header= O(logn)
1-23-11
Efficient Routing scheme for trees
• Each vertex „v‟ assigned (1+O(1))log2n-bit label
• Label is the only information stored at the vertex
• Label serves as header attached to messages sent to the vertex
• Routing decision takes constant time
Stretch Table Size Handshaking?
3 O(n1/2) no
5 O(n1/3) yes
7 O(n1/3) no
2k-1 O(n1/k) yes
4k-5 O(kn1/k) no
New Routing Schemes
Authors Stretch Table Size
Cowen 3 O(n2/3)
Eilam,Gavoille 5 O(n1/2)
Awerbuch, Peleg O(k2) O(kn1/k)
Awerbuch O(k29k) O(kn1/k)
Previous Available Schemes
Compact Scheme: Routing in Trees
• Integer b>1, RT=O(b) words & labels=O(logbn) words
• Weight sv of vertex v is no of descendants in the tree
• Child v‟ of v is heavy if sv‟ >= sv/b, light otherwise.
• light level lv of v is no. of light vertices on path from root r to vertex v
• Routing information stored at v =(v, fv,hv,Hv,Pv)= O(b) words
where
hv is the first heavy child of v, Hv -> array of heavy children of v
Pv -> array of port no. to parent & heavy nodes < v0,v1,v2,….,vk> where r=v0, vi is the light nodes
from r to node v and vk=v
LV = (port(vi1-1), port(vi2-1),…,port(vilv-1))=O(logbn) words , contains port no. to light vertices form r to v.
• label(v) = (v, Lv)
• b=2; ((v>=w && v<h) ? L[1] :P[v>=h && v<=f])
Compact Routing in Trees – first scheme cont.
• Label(v)=(v , Lv) at node w
• If w=v, done
• else check if v ∈(w , fw)
a) if not a descendent –f/w to parent of w using Pv[0]
b) else if descendent
• check if v ∈(hw , fw) – search Hw and get corresponding Pw
• else if light descendent – search Lv[lw]
More Compact Scheme: Routing in Trees
• Each non leaf vertex has single heavy child , with highest weight
• If for vertex v, v‟ is heavy child & v0, v1,….,vd-1 light children s.t.
sv‟ >= sv0>= sv1>=….>=svd-1 ; assign edge (v, vi ) for 0<=i< d & (v,v‟) port no “d”.
• lv light level of v then concatenate the bit strings of ports of light level. M
• is masking bit to identify location of bit strings
• Label(v)=(v, Lv, Mv) eg. lv=(2,0,5,3) =(11‟ 101‟ 0‟ 10) & M=(10‟ 100‟ 1‟ 10)
• Combined length Lv & Mv is max. (3.42 log2n) bit words.
• If packet with header (v,Lv,Mv) reaches w , light level lw, extract lwth number coded in Lv.
• If v s descendant of w , then lw-1 numbers coded in Lv are exactly
• same as in Lw.
• (Lv>>k) & (Mv>>kw)^(M>>kw-1)
14
8 2
17
1 41
3
11
3
11
• Code(s)=s.bin(||s||,|s|).bin(||s||,||s||)
• Label(v)=ID(v) + RT(v)
• ID(v) consists of – Binary representation of i, the index of heavy path
containing v, string sj corresponding to = in port pi, port of edge from v to , if v ≠
• The identifying label of v in subtree T
• ID(T; v) =ID(Tv ; v):code(i):code(sj ):code(port( ; ))if v ≠
=code(i):code(sj ) otherwise
• Label(v) = code(ID(v)):code(RT(v)):code(pnt(v))
• Pnt(v) is length of first three code words in ID(v)
Extremely Compact Scheme (1+O(1))log2n bit label :Routing in Trees
v
v
vv
U= u
v
v
v vj
v
v
v
Algorithm center(G,s)A ; W V;While W do{
A A sample(W,s);C(w) {v V|δ(w,v)< δ(A,v)} fore very w
VW {w V | C(w)>4n/s};
}Return A;
Improvement over Cowen’s landmark based routing scheme
• Recursive sampling algorithm to select set of landmarks(centers) A ,of expected size O(n1/2log n).
• Node v's label contains (v, centA(v), port(centA(v), v)) carried in every message to v
• Use hash table TABw at every node w, containing (v, port(w, v)) for each v A ∪C(w)
• Use a hierarchy of centers.• Construct a tree cover of the graph.• Identify an appropriate tree from the cover and route on it.• Smaller Tables, Larger stretch• Each vertex contained in at most n1/k trees.• For every u, v; there is a tree with a path of stretch at most 2k-1 between
them.• Uses handshaking
Generalized routing scheme: Tree Cover