Universal Steiner Trees for Efficient Data Aggregation in Sensor Networks Costas Busch Division of Computer Science and Eng. Louisiana State University 1
Talk Overview Oblivious Network Design Distr. Transactional Memory 2
Single-Sink Network Design Task: For each terminal, sink choose a path to sink. : terminals
Single-Sink Network Design Task: For each terminal, sink choose a path to sink. Goal: Minimize w e E e edge weights Communication Cost : terminals
Oblivious Network Design Task: pre-compute paths to sink. sink Goal: Minimize w e E e Communication Cost For every set of terminals : terminals
Different Steiner trees for different sources on top of same universal spanning tree sink sink Tree 1 Tree 2 : terminals
Applicability Sensor Networks Distributed sensor nodes send information to central node(s) Content-based publish-subscribe systems Users “publish” or “subscribe” to information VLSI, Transportation, Power Grids, Pipelines
Problem Hardness Steiner Tree Problem is NP-complete For universal Steiner trees: log n stretch log log n
Our Results Busch, Dutta, Radhakrishnan, Rajaraman and Srinivasagopalan “Split and Join: Strong Partitions and Universal Steiner Trees for Graphs” IEEE Symposium on Foundations of Computer Science (FOCS 2012) General graphs O ( log n ) 2 stretch Planar graphs poly log n stretch Srinivasagopalan, Busch, and Iyengar “An Oblivious Spanning Tree for Single-Sink Buy-at-Bulk in Low Doubling-Dimension Graphs” IEEE Transactions on Computers, 2012 Doubling dimension poly log n stretch 9
Partitions ( , , ) partition 10
( , , ) partition Cluster strong diameter 11
( , , ) partition Cluster strong diameter #clusters in radius 12
Partition Hierarchy ( , , ) partition hierarchy ( P , P , , P ) d log ( D G / a ) 0 1 d …… 0 P : ( a , b , ) partition 0 13
Partition Hierarchy ( , , ) partition hierarchy ( P , P , , P ) d log ( D G / a ) 0 1 d …… 1 P : ( a , b , ) partition 1 …… 0 P : ( a , b , ) partition 0 14
( , , ) partition hierarchy ( , , , ) P P P d log ( D G / a ) 0 1 d …… i P : ( a , b , ) partition i …… i 1 P : ( a , b , ) partition 1 i …… …… 1 P : ( a , b , ) partition 1 …… 0 P : ( a , b , ) partition 0 15
( , , ) partition hierarchy ( , , , ) P P P d log ( D G / a ) 0 1 d Whole graph d P : ( a , b , ) partition d …… …… i P : ( a , b , ) partition i …… i 1 P : ( a , b , ) partition 1 i …… …… 1 P : ( a , b , ) partition 1 …… 0 P : ( a , b , ) partition 0 16
Root padding i r i P : ( a , b , ) partition i r 1 i i 1 P : ( a , b , ) partition i 1 17
Universal Tree 0 P : ( a , b , ) partition 0 18
Universal Tree Combine sub-trees of clusters by organizing them on a virtual shortest path tree …… 1 P : ( a , b , ) partition 1 0 P : ( a , b , ) partition 0 19
Universal Tree …… i P : ( a , b , ) partition i …… i 1 P : ( a , b , ) partition 1 i …… …… 1 P : ( a , b , ) partition 1 0 P : ( a , b , ) partition 0 20
Universal Tree Whole graph root d P : ( a , b , ) partition d …… …… i P : ( a , b , ) partition i …… i 1 P : ( a , b , ) partition 1 i …… …… 1 P : ( a , b , ) partition 1 0 P : ( a , b , ) partition 0 21
Approximation: ( , , ) partition hierarchy ( P , P , , P ) 0 1 d stretch log n 2 O ( ) log n Bad! For small (constant) , , stretch is some root of n 22
Top Down Approach P d P d 1 P d 1 P d 1 P d 1 23
Top Down Approach P d P d 1 P d 1 P d 1 P d 1 Find shortest paths from lower level leader to the root 24
Top Down Approach P d P d 1 P d 1 P d 1 P d 1 Find shortest paths from lower level leader to the higher level 25
Top Down Approach P d P d 1 P d 1 P d 1 P d 1 Find shortest paths from lower level leader to the higher level 26
Approximation: ( , , ) partition hierarchy ( P , P , , P ) 0 1 d stretch 2 2 log O n Better! 27
Why Partitions? Many long paths BAD CASE Many nearby nodes 28
Why Partitions? Many long paths Impossible with partitions Many nearby nodes 29
Partition Algorithm for General Graphs ( , , ) partition hierarchy ( , , , ) P P P 0 1 d Recursive construction We will build …… i P : ( a , b , ) partition i Assuming …… i 1 P : ( a , b , ) partition i 1 Basis of Recursion: …… 1 partition P Individual nodes 30
Recursive step works in stages The rank of a cluster is the stage that it has been created rank 0 rank 0 rank 0 rank 0 …… Stage 0 1 i P : ( a , b , ) partition i 1 31
Recursive step works in stages 1 Problematic nodes: clusters of rank 0 in k n i neighborho od rank 1 rank 1 Stage 1 Merge Merge rank 0 rank 0 rank 0 rank 0 …… Stage 0 i i 1 i P : ( a , b , ) partition i 1 32
A stage has 2 phases 1 clusters of rank 0 in Problematic nodes k n i with rank 1: neighborho od rank 1 Phase 2: Merge rank 1 rank 1 rank 0 …… Phase 1: i 33
In stage 2 we merge clusters of rank 1 or less if there are problematic nodes Algorithm repeats to higher stages Final stage has no more problematic nodes 34
Analysis Stage j, Phase 1: rank j Merge i rank j-1 rank j-1 rank j-1 Problematic node 35
Stage j, Phase 2: rank j-1 rank j i rank j-1 rank j-1 Problematic node 36
Stage j, Phase 2: rank j rank j-1 rank j rank j-1 rank j-1 37
Stage j, Phase 2: IMPOSSIBLE! rank j rank j-1 rank j-1 rank j i rank j-1 rank j-1 rank j-1 rank j-1 New problematic node 38
Stage j, Phase 2: The only possibility for problematic nodes rank j rank j-1 rank j-1 i rank j rank j-1 rank j-1 rank j-1 rank j-1 39
Stage j, Phase 2: Problematic nodes can only be at core rank j rank j-1 rank j-1 rank j core rank j-1 rank j-1 rank j-1 rank j-1 40
Stage j, Phase 2: Problematic nodes can only be at core rank j rank j-1 rank j-1 rank j core rank j-1 rank j-1 rank j-1 rank j-1 This helps to bound the diameter D 4 D 2 D 6 D j j 1 j 1 j 1 41
How many stages? Minimum size of cluster Stage 0: 1 1 Stage 1: k n 1 1 2 Stage 2: k k k n n n j Stage j: k n 42
Minimum size of cluster j Stage j: k n Therefore, maximum stage: k Maximum diameter: k k D 6 D 0 43
( , , ) partition hierarchy ( P , P , , P ) 0 1 d O log n O log n O log n 2 , 2 , 2 partition hierarchy ( P , P , , P ) 0 1 d 1 log n Take k O log n k n 2 log 6 level i level i-1 k log n k D 6 D D 2 D 0 i i 1 log n a 2 44
( , , ) partition hierarchy stretch 2 2 log O n O log n O log n O log n 2 , 2 , 2 partition hierarchy O ( log n ) 2 stretch 45
For planar graphs: 3 4 3 log n , log n , log n partition hierarchy By recursively splitting the graph 46
Talk Overview Oblivious Network Design Distr. Transactional Memory 47
Distributed Transactional Memory • Transactions run on network nodes • They ask for shared objects distributed over the network for either read or write • They appear to execute atomically The reads and writes on shared objects are supported • through three operations: Publish Lookup Move 48
Recommend
More recommend