Professional Documents
Culture Documents
Hybrid Overlay Structure Based On Random Walks: Ruixiong Tian, Yongqiang Xiong, Qian Zhang, Bo Li, Ben Y. Zhao, Xing Li
Hybrid Overlay Structure Based On Random Walks: Ruixiong Tian, Yongqiang Xiong, Qian Zhang, Bo Li, Ben Y. Zhao, Xing Li
Hybrid Overlay Structure Based On Random Walks: Ruixiong Tian, Yongqiang Xiong, Qian Zhang, Bo Li, Ben Y. Zhao, Xing Li
∗†
Ruixiong Tian, Yongqiang Xiong, Qian Zhang, Bo Li, Ben Y. Zhao, Xing Li
1
between clusters. We present simulation results in
C2
Section 5, and conclude in Section 6.
R2
2 Related work R1
2
3.2 Node clustering 3.3 Message routing
HONet is constructed through node clustering. If a message is destined for a local cluster node, nor-
When a node joins the network, it locates a closeby mal structured overlay routing is used. Otherwise,
cluster to join. Node clustering provides another way we can use two approaches, hierarchical routing and
to address topology-awareness in overlays. fast routing, both illustrated in Figure 1. In either
Before a node joins, it identifies its coordinates in case, DHT routing is utilized in the core network and
the network, possibly by using network coordinate inside local clusters.
systems such as GNP [12] and Vivaldi [5]. In HONet,
3.3.1 Hierarchical Routing
we implement a simple coordinate system using a set
In hierarchical routing, messages are delivered from
of distances from each node to a group of well-known
one cluster to another through the core network. In
landmark nodes. The coordinates of cluster roots are
HONet, the M ID for cluster root is fixed and a des-
stored in a distributed hash table (DHT) on the core
tination is identified by a (CID, M ID) pair. Thus if
network. A new node searches the DHT for cluster
the destination CID identifies the message as inter-
roots close by in the coordinate system.
cluster, the message routes to the local root first, then
Since most DHTs in structured overlays use a one- routes through the core network to the destination
dimensional namespace for keys, while coordinates cluster’s root node, and finally to the destination.
are multidimensional, we need to provide a mapping This is similar to routing in Brocade [19].
from the multidimensional coordinate space to the
Hierarchical routing is important for network con-
one-dimensional DHT space. The mapping should
struction and maintenance, and is a backup when
be: (1) a one-to-one mapping, (2) locality preserv-
fast routing fails. Since latencies in the core net-
ing, which means if two points are close in multi-
work are much larger than that inside clusters, we
dimensional space, corresponding mapped numbers
use fast routing across random connections to reduce
are also close. Space filling curves (SFC), such as z-
the path delay and bandwidth consumption in the
order or Hilbert curves [2, 17], have this property. In
core network.
HONet, we use Hilbert curves to map the coordinates
into numbers called locality number (L-number). 3.3.2 Fast Routing
With a SFC-based mapping, to find nodes closeby Fast routing utilizes the random connections between
to a new node coordinate l, the DHT searches the clusters as inter-cluster routing shortcuts. To imple-
range: X = {x : |x − l| < T }. This searches for roots ment fast routing, each cluster nodes publishes infor-
with L-numbers within T distance of l, where T is a mation about its inter-cluster links in the local cluster
cluster radius parameter. To find nearby roots, a new DHT. For example, if a node maintains a random con-
node sends out lookup message using l as key. The nection with neighbor cluster CID C, it stores this in-
message routes to nodes responsible for l in the DHT, formation in the local cluster DHT using C as the key.
who search the range X, forwarding the message to The node storing this information knows all the ran-
closeby roots, who then reply to the new node. If the dom connections to destination cluster C, and serves
new node cannot locate nearby cluster roots, or if as a reflector to C.
the distance to the closest cluster root is larger than If a source node doesn’t know the random connec-
cluster radius T , then this node joins the core network tion to the destination cluster, it simply sends the
as a new cluster root and announces its L-number and message to the local reflector through overlay rout-
its coordinates in the core network. Otherwise, the ing. The reflector will decide what to do next. If
node joins the cluster led by the closest cluster root. it knows of nodes with random connections to the
Since each node in a DHT maintains a continuous destination cluster, it forwards the message to one
zone of ID space, locality information about close L- of them, and across the random link to the destina-
numbers (because of SFC’s distance-preserving map- tion cluster. If the reflector knows of no such random
ping) will be kept in a small set of adjacent nodes. connection, the message routes to the local root and
Locating nearby clusters should be fast. Since clus- defaults to hierarchical routing. When the message
ters are significantly smaller than the overall network, enters another cluster using hierarchical routing, it
joining a local cluster is significantly quicker than can check again to see if fast routing is available. A
joining a flat structured overlay. Finally, a new node later reflector can tell the source node about the node
can add additional inter-cluster connections accord- with the random connection, so that later messages
ing to Section 4. can avoid inefficient trangle routing. Finally, reflec-
3
tors can also use its knowledge of shortcut links to satisfies, if s is large enough, the obtained nodes
balance traffic across them. are samples according to the distribution of fitness.
The difference between hierarchical routing and Moreover, since ki is proportional to fi in HONet,
fast routing is the number of inter-cluster routing pi,j ≈ 1/ki , the above random walk is similar to
hops. Since these latencies are much larger than the regular random walk in the network. For regular
intra-cluster links, fast routing can significantly re- random walk, the mixing time is O(log(N )/(1 − λ)),
duce end-to-end routing latency and bandwidth con- where λ is the second largest eigenvalue of the tran-
sumption between clusters. sition matrix of the regular random walk [8]. Usually
λ is much less than 1 and the mixing time is small
4 Random walks for general random network if the minimum node de-
To construct random connections easily and adap- gree in the network is large enough. Therefore the
tively, we use a random walk algorithm. s for above random walk is small and each random
A node’s capacity in HONet is measured by a connection can be created rapidly.
generic fitness metric (denoted by f ), which charac-
terizes service capacity and local network conditions. 5 Performance Evaluation
According to the definition of transition probability We use a De Bruijn graph as the structured overlay
pi,j in formula (1), the scale of f is not important network to construct HONet, and call it a Hybrid
when determining the quantity of pi,j . Thus the fit- De Bruijn Network (HDBNet). The performance of
ness metric only needs to be consistent across nodes. HDBNet is evaluated through extensive simulations
To consider node heterogeneity, a node’s fitness in this section.
metric determines the number of random connec-
tions it maintains. Our scheme samples the nodes 5.1 Simulation Setup
in HONet according to the node fitness distribution. We use GT-ITM to generate transit-stub network
Since random walks can sample nodes according to topologies for our simulation. We generate 5 topolo-
some distribution, we propose the following algorithm gies each with about 9600 nodes and 57000 edges. We
to construct random connections. Assuming node i assign different distances to the edges in the topolo-
with fitness fi has ki neighbors, the algorithm is: gies (with values from [1]): The distance of intra-stub
1. Node i determines the number of random con- edges is 1; the distance of the edges between transit
nections it will create according to fi . node and stub node is a random integer in [5, 15]; and
2. Node i initiates a random walk message with the distance between transit nodes is a random inte-
Time-to-Live (ttl) set to s for each random connec- ger in [50, 150]. Nodes in HDBNet are attached to
tion. s is the number of skipped steps for the mixing different routers and the size of HDBNet varies from
of random walk. 1000 to 6000. The radix of De Bruijn graph is 2. Five
3. If node i has a random walk message with ttl > runs are performed on each network topology and the
0, it performs the next step of random walk: select average value reported.
a neighbor j randomly and send the random walk We consider the following metrics:
message to node j with probability:
• Relative Delay Penalty (RDP): the ratio of end-
1 fj ki to-end HDBNet routing delay between a pair of
pi,j = min{1, } (1)
ki fi kj nodes over that of a direct IP path. RDP repre-
sents the relative cost of routing on the overlay.
Otherwise the message will stay at node i in next
step. ttl = ttl − 1. • Link cost: the average latency across all connec-
4. If node i receives a random walk message with tions. The link cost is a convenient, though sim-
ttl > 0, goto step 3. Otherwise, it is sampled by the plified metric to measure network structure and
random walk for corresponding random connection. data delivery performance in different overlays.
According to [6], we can see that above algorithm
is just a typical Metropolis scheme of Markov Chain • Hop count: the number of overlay hops in an
Monte Carlo (MCMC) sampling. Since the detailed end-to-end path.
balance equation
5.2 Evaluation results of HDBNet
fi fj We now compare the performance of HDBNet to a
fi pi,j = min{ , } = fj pj,i (2) flat De Bruijn overlays. The radix of flat De Bruijn
ki kj
4
12 18
16
10
14
Flat De Bruijn
8 12
Path Length
HDBNet (R=20)
10
RDP 6 HDBNet (R=30)
8
HDBNet (R=40)
4 6
4
2 Flat De Bruijn HDBNet (R=20)
2
HDBNet (R=30) HDBNet (R=40)
0 0
1000 2000 3000 4000 5000 6000 1000 2000 3000 4000 5000 6000
Figure 2: The average relative delay penalty (RDP) Figure 4: The average path length in term of hops in
between any pair of nodes in flat De Bruijn and HDB- flat De Bruijn and HDBNet when RC=4.
Net when RC=4. 5
400
4
350
3
RDP
300
2
Flat De Bruijn HDBNet (R=20)
Cost
Node Number
networks is set to 4 to have similar node degrees tions in HDBNet are intra-cluster connections, which
as HDBNet. Since the cluster radius and random are much shorter in term of latency than inter-cluster
connections are the main factors affecting the per- connections. While flat De Bruijn does not take net-
formance of HDBNet, we first evaluate the perfor- work proximity into account, and many neighbor con-
mance with different cluster radii (R = 20, 30, 40) nections are inter-cluster links.
when each cluster node has at most 4 random con- The comparison of average path length in term of
nections (RC = 4). Then we compare the perfor- hops between any pair of nodes in HDBNet and flat
mance of HDBNet by varying the number of random De Bruijn is shown in Figure 4. Average path length
connections (RC = 1, 2, 3, 4) for R = 30. These are in HDBNet is 2 times or more than in the De Bruijn
representative of results run using other radius val- network. While the inter-cluster hops are reduced
ues. Fast routing is used whenever possible. in HDBNet, intra-cluster hops increase. Despite this
Figure 2 shows the comparison of average RDP result, the path length still scales as O(log N ).
between any pair of nodes in HDBNet and flat De Figure 5, 6, 7 show the comparison of average RDP,
Bruijn. We can see that the RDP in HDBNet is link cost and average path length in terms of hops
much smaller than that in flat De Bruijn which does respectively when R = 30, and we vary the maxi-
not take the network locality into consideration. For mum number of random connections per node (RC =
R = 30 and R = 40, the RDP is very small (≈ 2), 1, 2, 3, 4). The number of random connections affects
roughly 1/5 of the De Bruijn RDP. When the net- performance dramatically. Just a few random con-
work size is fixed, RDP decreases as cluster radius nections can improve routing performance dramati-
grows. This is because larger cluster radii imply less cally. When more random connections are allowed,
clusters, and more clusters are likely to be connected messages are more likely to be delivered through ran-
directly via random links. dom connections. Thus inter-cluster routing will be
Figure 3 shows the comparison of link cost in HDB- reduced, resulting in lower RDP. Moreover, fewer
Net and flat De Bruijn. We can see that HDBNet has inter-cluster hops means less hops in intermediate
only half cost compared with flat De Bruijn, which clusters, resulting in shorter overlay path length.
indicates that the HDBNet is much more efficient in Since the intra-cluster connections are shorter than
terms of end-to-end latency. In fact, most connec- inter-cluster connections, the link cost increases with
5
200
puter Science 181, 1 (1997), 3–15.
160
[3] Castro, M., et al. Exploiting network proximity in dis-
120 tributed hash tables. In International Workshop on Peer-
Cost to-Peer Systems (2002).
80
[4] Chu, Y., et al. Enabling conferencing applications on
RC=1 RC=2
40
RC=3 RC=4
the internet using an overlay multicast architecture. In
ACM SIGCOMM (August 2001).
0
1000 2000 3000 4000 5000 6000 [5] Dabek, F., et al. Vivaldi: a decentralized network co-
Node Number
ordinate system. In ACM SIGCOMM (2004).
[6] Fill, A. Reversible markov chains and random walks
Figure 6: The link cost for different random connec- on graphs. Draft book, available online at http://stat-
tions (RC) in HDBNet when R=30. www.berkeley.edu/users/aldous/RWG/book.html
20 [7] Ganesan, P., Gummadi, K., and Garcia-Molina, H.
18 Canon in g major: Designing dhts with hierarchical struc-
16 ture. In ICDCS (March 2004).
14 [8] Gkantsidis, C., Mihail, M., and Saberi, A. Ran-
Path Length