Presentation slides - Computer Science Division

Load Balance and Efficient
Hierarchical Data-Centric Storage
in Sensor Networks
Yao Zhao, List Lab, Northwestern Univ
Yan Chen, List Lab, Northwestern Univ
Sylvia Ratnasamy, Intel Research
1
Outline
• Background and Motivation
• Hierarchical Voronoi Graph based
Routing
– Basic routing algorithm
– Practical design issues
• Evaluation
• Conclusions and Future Work
2
Generic Storage Schemes
• External Storage
• Local Storage
• Data-Centric Storage (DCS)
3
Generic Storage Schemes
• External Storage
– Hotspot problem (if no need to
store all events )
Event
4
Generic Storage Schemes
• Local Storage
– Overhead of flooding
Event
5
Generic Storage Schemes
• Data-Centric Storage [CCR03]
– Good to avoid hotspots and flooding
overhead in some scenarios
Event
6
Motivation
• Routing Primitive for Data-Centric
Storage vs Any-to-any Routing
– DCS doesn’t require any-to-any routing
• E.g. in pathDCS [NSDI06], not all nodes are
routable
– Any-to-any routing may not be suitable
for DCS
• E.g. BVR[NSDI05] and S4[NSDI07]
– Only a few any-to-any routing can be DCS
routing
• E.g. VRR [Sigcomm06], GEM[Sensys03]
7
Motivation
• Routing Primitive for Data-Centric
Storage vs Any-to-any Routing
• Desirable Properties of DCS Routing
– No GPS (or other location device)
– Scalability
– Efficiency
• Path stretch (routing path length / shortest
path length)
– Load Balancing
• In routing (forwarding overhead)
• In Storage
• Our Goal
– Design routing primitive for DCS with the
above properties
8
Outline
• Background and Motivation
• Hierarchical Voronoi Graph based
Routing
– Basic routing algorithm
– Practical design issues
• Evaluation
• Conclusions and Future Work
9
Hierarchical Voronoi Graph based Routing
• Basic Routing Algorithm
– Hierarchical coordinate
– Region oriented routing
– Name based routing for DCS
• Practical Issues
– Landmark selection
– Path stretch reduction
– Handling dynamic changes
10
Voronoi Graph
11
Hierarchical Coordinate
• Divide the network based on the hop
distance to landmarks
Irregular
borderline in
realilty
12
Hierarchical Coordinate
• Divide the network based on the hop
distance to landmarks
In smallest
region,
nodes know
each other
13
Overhead of Building Coordinate
• Initialization Overhead
– Each Layer
• O(mN) messages where m is the
number landmarks splitting a region,
and N is the number of nodes
– K Layers
• K ~ O(log N)
– Total Overhead
• O(mN·log N) messages
• Memory Usage
– Km ~ O(m·log N)
14
Name Based Routing
Bypass
landmarks
• S has an event E
– Take a hash
function H1 and
get j = H1(E)%3
– S sends E to the
jth 1st level
landmark and
enter Lj’s region
via node a
– Node a compute
H2(E)%3 to
determine the
next landmark
L2
L1,2
s
d
a
L1,2,3
L1
L3
15
Load Balancing in Storage
• Load Balancing Problem
– In naïve name based routing, non-uniform
division of regions causes non-uniform
storage distribution
– To divide regions uniformly is very hard
• Our Approach: Non-uniform Hash
Function
– Collect the number of nodes in each
region
– Hashed value is proportional to the
population of possible sub-regions
16
Outline
• Background and Motivation
• Hierarchical Voronoi Graph based
Routing
– Basic routing algorithm
– Practical design issues
• Evaluation
• Conclusions and Future Work
17
Evaluation
• Simulation Setup
– C++ implementation
– Simple MAC without collision
– Unit disk graph model in 2D space (communication
range 1)
– Baseline simulation
• 3200 nodes
• Density: 3π neighbors in average
– Simulate HVGR, HVGR+ and VRR[Sigcomm06]
• m = 6 (number of landmarks splitting a region)
• Metrics
–
–
–
–
–
Path stretch
Load balancing: CDF for visualization
Route table size
Initialization overhead
Maintenance overhead
18
Efficiency
• The stretch of HVGR doesn’t increase as N
increase.
19
Scalability
• The route table size and initialization
overhead increase logarithmically.
20
Routing Load Balancing
• The routing load balancing feature of HVGR
is close to that of shortest path routing.
21
Storage Load Balancing
• The storage load balancing feature of HVGR
is close to that of ideal hash based storage.
22
Conclusion
• Design HVGR/HVGR+
– Topology based routing (No GPS)
– Good scalability (log N memory)
– High efficiency (close to shortest
path routing)
– Balanced load in both routing and
storage
• Future Work
– Theoretical analysis
– Tinyos implementation
23
Thanks!
Q&A?
24
25
26
Backup
27
Name Based Routing for DCS
• Convert Name to Label
–
–
–
–
Event name S
A series of hash functions Hi
Order the m landmarks
Let j = Hi(S) mod m, the ith level
label is the j th landmark
28
Voronoi Graph
29
Voronoi Graph
• Divide the regions based on the closest
landmark rule.
30
Number of Landmark (m) in Each Level
• m is not critical
31
Number of Landmark (m) in Each Level
• The larger the m, the more overhead. We
pick m=6 finally.
32
Desirable Properties of DCS
• DCS without Location Information
– No GPS or other location devices
• Scalability
– Memory usage
– Control message overhead
• Efficiency
– Path stretch (routing path length /
shortest path length)
• Load Balancing
– In routing (forwarding overhead)
– In Storage
33
Outline
• Background and Motivation
• Hierarchical Voronoi Graph based
Routing
– Basic routing algorithm
– Practical design issues
• Evaluation
• Conclusions and Future Work
34
Region Oriented Routing
• From s to d with label (L1, L1,2, L1,2,3)
Bypass
landmarks
L1,2
s
d
a
L1,2,3
L1
35
Hierarchical Coordinate
• Divide the network based on the hop
distance to landmarks
36