Sensor Networks Costas Busch Division of Computer Science and Eng. - - PowerPoint PPT Presentation

sensor networks
SMART_READER_LITE
LIVE PREVIEW

Sensor Networks Costas Busch Division of Computer Science and Eng. - - PowerPoint PPT Presentation

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


slide-1
SLIDE 1

Universal Steiner Trees for Efficient Data Aggregation in Sensor Networks Costas Busch

Division of Computer Science and Eng. Louisiana State University

1

slide-2
SLIDE 2

2

Talk Overview

Oblivious Network Design

  • Distr. Transactional Memory
slide-3
SLIDE 3

Single-Sink Network Design

Task: For each terminal, choose a path to sink. : terminals sink

slide-4
SLIDE 4

Single-Sink Network Design

Task: For each terminal, choose a path to sink. : terminals sink Goal: Minimize 

E e e

w

edge weights

Communication Cost

slide-5
SLIDE 5

Oblivious Network Design

Task: pre-compute paths to sink. : terminals sink Goal: Minimize 

E e e

w

For every set of terminals Communication Cost

slide-6
SLIDE 6

: terminals sink sink Tree 1 Tree 2 Different Steiner trees for different sources

  • n top of same universal spanning tree
slide-7
SLIDE 7

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

slide-8
SLIDE 8

Problem Hardness

Steiner Tree Problem is NP-complete For universal Steiner trees:

stretch log log log           n n

slide-9
SLIDE 9

Our Results

9

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) Srinivasagopalan, Busch, and Iyengar “An Oblivious Spanning Tree for Single-Sink Buy-at-Bulk in Low Doubling-Dimension Graphs” IEEE Transactions on Computers, 2012

stretch 2

) log (

n O

General graphs

stretch log poly  n

Planar graphs

stretch log poly  n

Doubling dimension

slide-10
SLIDE 10

Partitions

10

partition ) , , (    

slide-11
SLIDE 11

11

partition ) , , (    

      Cluster strong diameter

   

slide-12
SLIDE 12

12

partition ) , , (    

Cluster strong diameter

   

      #clusters in radius

  

slide-13
SLIDE 13

Partition Hierarchy

13

) , , , ( hierarchy partition ) , , (

1 d

P P P      ) / ( log d a DG

partition ) , , ( :   b a P

……

slide-14
SLIDE 14

Partition Hierarchy

14

) / ( log d a DG

……

partition ) , , ( :

1 1

  b a P

……

partition ) , , ( :   b a P

) , , , ( hierarchy partition ) , , (

1 d

P P P     

slide-15
SLIDE 15

15

) / ( log d a DG

……

partition ) , , ( :

1 1

  b a P

……

partition ) , , ( :

1 1

  i i

b a P 

……

partition ) , , ( : 

i i

b a P 

…… ……

partition ) , , ( :   b a P

) , , , ( hierarchy partition ) , , (

1 d

P P P     

slide-16
SLIDE 16

16

) / ( log d a DG

……

partition ) , , ( :

1 1

  b a P

……

partition ) , , ( :

1 1

  i i

b a P 

……

partition ) , , ( : 

i i

b a P 

……

partition ) , , ( : 

d d

b a P 

Whole graph …… ……

partition ) , , ( :   b a P

) , , , ( hierarchy partition ) , , (

1 d

P P P     

slide-17
SLIDE 17

17

Root padding

partition ) , , ( :

1 1

  i i

b a P  partition ) , , ( : 

i i

b a P  i

1  i

 r

r

slide-18
SLIDE 18

Universal Tree

18

partition ) , , ( :   b a P

slide-19
SLIDE 19

Universal Tree

19

partition ) , , ( :   b a P partition ) , , ( :

1 1

  b a P

…… Combine sub-trees of clusters by organizing them on a virtual shortest path tree

slide-20
SLIDE 20

Universal Tree

20

partition ) , , ( :   b a P partition ) , , ( :

1 1

  b a P

……

partition ) , , ( :

1 1

  i i

b a P 

……

partition ) , , ( : 

i i

b a P 

…… ……

slide-21
SLIDE 21

Universal Tree

21

partition ) , , ( :   b a P partition ) , , ( :

1 1

  b a P

……

partition ) , , ( :

1 1

  i i

b a P 

……

partition ) , , ( : 

i i

b a P 

……

partition ) , , ( : 

d d

b a P 

Whole graph

root

…… ……

slide-22
SLIDE 22

22

Approximation:

) , , , ( hierarchy partition ) , , (

1 d

P P P     

  stretch

n O

n

 log ) (

2 log 



Bad! For small (constant) stretch is some root of n

   , ,

slide-23
SLIDE 23

Top Down Approach

23

d

P

1  d

P

1  d

P

1  d

P

1  d

P

slide-24
SLIDE 24

Top Down Approach

24

d

P

1  d

P

1  d

P

1  d

P

1  d

P

Find shortest paths from lower level leader to the root

slide-25
SLIDE 25

Top Down Approach

25

d

P

1  d

P

1  d

P

1  d

P

1  d

P

Find shortest paths from lower level leader to the higher level

slide-26
SLIDE 26

Top Down Approach

26

d

P

1  d

P

1  d

P

1  d

P

1  d

P

Find shortest paths from lower level leader to the higher level

slide-27
SLIDE 27

27

Approximation:

) , , , ( hierarchy partition ) , , (

1 d

P P P     

  stretch

n O  log

2 2

  

Better!

slide-28
SLIDE 28

Why Partitions?

28

Many nearby nodes Many long paths BAD CASE

slide-29
SLIDE 29

Why Partitions?

29

Many nearby nodes Many long paths Impossible with partitions

slide-30
SLIDE 30

Partition Algorithm for General Graphs

30

partition

1  

P

……

Individual nodes

Recursive construction Basis of Recursion:

partition ) , , ( :

1 1

  i i

b a P 

……

partition ) , , ( : 

i i

b a P 

…… Assuming We will build

) , , , ( hierarchy partition ) , , (

1 d

P P P     

slide-31
SLIDE 31

31

Recursive step works in stages

partition ) , , ( :

1 1

  i i

b a P 

…… Stage 0

rank 0 rank 0 rank 0 rank 0

The rank of a cluster is the stage that it has been created

slide-32
SLIDE 32

32

Recursive step works in stages

partition ) , , ( :

1 1

  i i

b a P 

…… Stage 0

rank 0 rank 0 rank 0 rank 0

Stage 1

rank 1 rank 1

Merge Merge Problematic nodes:

k

n

1

clusters of rank 0 in

  • d

neighborho

i 

i

i

slide-33
SLIDE 33

33

A stage has 2 phases Phase 1:

rank 1 rank 1

Problematic nodes with rank 1:

k

n

1

clusters of rank 0 in

  • d

neighborho

i 

……

rank 0

Phase 2:

i

rank 1

Merge

slide-34
SLIDE 34

34

In stage 2 we merge clusters of rank 1

  • r less if there are problematic nodes

Final stage has no more problematic nodes Algorithm repeats to higher stages

slide-35
SLIDE 35

Analysis

35

Stage j, Phase 1:

rank j rank j-1 rank j-1 rank j-1

Merge

Problematic node

i

slide-36
SLIDE 36

36

Stage j, Phase 2:

rank j

Problematic node

rank j-1 rank j-1 rank j-1 i

slide-37
SLIDE 37

37

Stage j, Phase 2:

rank j rank j-1 rank j-1 rank j-1 rank j

slide-38
SLIDE 38

38

Stage j, Phase 2:

rank j rank j-1 rank j-1 rank j-1 rank j i

rank j-1 rank j-1 rank j-1

New problematic node IMPOSSIBLE!

slide-39
SLIDE 39

39

Stage j, Phase 2:

rank j rank j-1 rank j-1 rank j-1 rank j i

rank j-1 rank j-1 rank j-1

The only possibility for problematic nodes

slide-40
SLIDE 40

40

Stage j, Phase 2:

rank j rank j-1 rank j-1 rank j-1 rank j rank j-1 rank j-1 rank j-1

core Problematic nodes can only be at core

slide-41
SLIDE 41

41

Stage j, Phase 2:

rank j rank j-1 rank j-1 rank j-1 rank j rank j-1 rank j-1 rank j-1

core Problematic nodes can only be at core This helps to bound the diameter

1 1 1

6 2 4

  

  

j j j j

D D D D

slide-42
SLIDE 42

42

Minimum size of cluster

1

k

n

1 k k k

n n n

2 1 1

 

Stage 0: Stage 1: Stage 2:

k j

n

Stage j: How many stages?

slide-43
SLIDE 43

43

Minimum size of cluster

k j

n

Stage j: Therefore, maximum stage: k Maximum diameter:

6 D D

k k 

slide-44
SLIDE 44

44

     

 

) , , , ( hierarchy partition 2 , 2 , 2

1 log log log d n O n O n O

P P P  

Take

6 log log n k 

1 log

2

i n i

D D

) , , , ( hierarchy partition ) , , (

1 d

P P P     

n

a

log

2 

 

n O k

n

log 1

2   

level i level i-1

6 D D

k k 

slide-45
SLIDE 45

45

     

 

hierarchy partition 2 , 2 , 2

log log log

n O n O n O

hierarchy partition ) , , (    

  stretch

n O  log

2 2

  

stretch

n O

) log (

2

slide-46
SLIDE 46

46

For planar graphs:

 

hierarchy partition log , log , log

3 4 3

 n n n

By recursively splitting the graph

slide-47
SLIDE 47

47

Talk Overview

Oblivious Network Design

  • Distr. Transactional Memory
slide-48
SLIDE 48

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

slide-49
SLIDE 49

49

Predecessor node Suppose the object ξ is at node and is a requesting node ξ Requesting node

Suppose transactions are immobile and the objects are mobile

slide-50
SLIDE 50

50

Read-only copy Main copy Lookup operation ξ ξ

Replicates the object to the requesting node

slide-51
SLIDE 51

51

Read-only copy Main copy Lookup operation ξ ξ

Replicates the object to the requesting nodes

Read-only copy ξ

slide-52
SLIDE 52

52

Main copy Invalidated Move operation ξ ξ

Relocates the object explicitly to the requesting node

slide-53
SLIDE 53

53

Invalidated Move operation ξ

Relocates the object explicitly to the requesting node

Main copy ξ Invalidated ξ

slide-54
SLIDE 54

Need a distributed directory protocol

 To provide objects to the requesting nodes efficiently implementing Publish, Lookup, and Move

  • perations

 To maintain consistency among the shared object copies

54

slide-55
SLIDE 55

Previous Approaches

55

Protocol Stretch Network Kind Runs on Arrow [DISC’98] O(SST)=O(D) General Spanning tree Relay [OPODIS’09] O(SST)=O(D) General Spanning tree Combine [SSS’10] O(SOT)=O(D) General Overlay tree Ballistic [DISC’05] O(log D) Constant- doubling dimension Hierarchical directory with independent sets

➢ D is the diameter of the network kind ➢ S is the stretch of the tree used

slide-56
SLIDE 56

Our Results

56

Sharma, Busch, and Srinivasagopalan “Distributed Transactional Memory for General Networks” IEEE International Parallel and Distributed Processing Symposium (IPDPS 2012) Sharma and Busch “Towards Load Balanced Distributed Transactional Memory” International European Conference on Parallel and Distributed Computing (EUROPAR 2012)

slide-57
SLIDE 57

57

Problem of Spanning Tree Approaches These two nodes are far in tree

slide-58
SLIDE 58

58

Spiral directory protocol for general networks O(log2n . log D) stretch avoids race conditions

slide-59
SLIDE 59

59

Hierarchical clustering Spiral Approach: Network graph

slide-60
SLIDE 60

60

Hierarchical clustering Spiral Approach:

Alternative representation as a hierarchy tree with leader nodes

slide-61
SLIDE 61

61

At the lowest level (level 0) every node is a cluster

Directories at each level cluster, downward pointer if object locality known

slide-62
SLIDE 62

62

Owner node

root

A Publish operation

➢ Assume that is the creator of which invokes the Publish operation ➢ Nodes know their parent in the hierarchy

ξ ξ

slide-63
SLIDE 63

63

root

Send request to the leader

slide-64
SLIDE 64

64

root

Continue up phase Sets downward pointer while going up

slide-65
SLIDE 65

65

root

Continue up phase Sets downward pointer while going up

slide-66
SLIDE 66

66

root

Root node found, stop up phase

slide-67
SLIDE 67

67

root

A successful Publish operation Predecessor node ξ

slide-68
SLIDE 68

68

Requesting node Predecessor node

root

Supporting a Move operation

➢ Initially, nodes point downward to object owner (predecessor node) due to Publish operation ➢ Nodes know their parent in the hierarchy

ξ

slide-69
SLIDE 69

69

Send request to leader node of the cluster upward in hierarchy

root

slide-70
SLIDE 70

70

Continue up phase until downward pointer found

root

Sets downward path while going up

slide-71
SLIDE 71

71

Continue up phase

root

Sets downward path while going up

slide-72
SLIDE 72

72

Continue up phase

root

Sets downward path while going up

slide-73
SLIDE 73

73

Downward pointer found, start down phase

root

Discards path while going down

slide-74
SLIDE 74

74

Continue down phase

root

Discards path while going down

slide-75
SLIDE 75

75

Continue down phase

root

Discards path while going down

slide-76
SLIDE 76

76

Predecessor reached, object is moved from node to node

root

Lookup is similar without change in the directory structure and only a read-only copy of the object is sent

slide-77
SLIDE 77

77

Distributed Queue

root

u u tail head

slide-78
SLIDE 78

78

Distributed Queue

root

u u tail head v v

slide-79
SLIDE 79

79

root

u v w

Distributed Queue

u tail head v w

slide-80
SLIDE 80

80

root

u v w

Distributed Queue

tail head v w

slide-81
SLIDE 81

81

root

u v w

Distributed Queue

tail head w

slide-82
SLIDE 82

Race Conditions for Ballistic

Locking is required

82

A

  • bject

parent(A) lookup parent(A) move parent(A)

B

Probes left to right

C

Level k Level k-1 Level k+1

Ballistic configuration at time t

From root Lookup from C is probing parent(B) at t

slide-83
SLIDE 83

83

(Our protocol) Spiral avoids Race condition

➢ Label all the parents in each level and visit them in the

  • rder of the labels.

2 1

A

  • bject

parent(A) lookup parent(A) move parent(A)

B

3

C

Level k Level k-1 Level k+1 From root parent(B)

slide-84
SLIDE 84

Spiral Hierarchy

(O(log n), O(log n))-labeled sparse cover hierarchy constructed from O(log n) hierarchical partitions from Gupta, Hajiaghayi, Racke SODA 2006 (adapts FRT scheme)

 Level 0, each node belongs to exactly one cluster  Level h, all the nodes belong to one cluster with root r  Level 0 < i < h, each node belongs to exactly O(log n) clusters which are labeled different

84

slide-85
SLIDE 85

Spiral Hierarchy

  • How to find a predecessor node?

 Via spiral paths for each leaf node u by visiting leaders of all the clusters that contain u from level 0 to the root level

The hierarchy guarantees: (1) For any two nodes u,v, their

spiral paths p(u) and p(v) meet at level min{h, log(dist(u,v))+2} (2) length(pi(u)) is at most O(2i log2n)

85

root

u

p(u) p(v)

v

slide-86
SLIDE 86

(Canonical) downward Paths

86

root

u

p(u)

root

u

p(u)

v

p(v) p(v) is a (canonical) downward path

slide-87
SLIDE 87

Analysis: lookup Stretch

87

v w vi

x

Level k Level i O(2k log2n) O(2i log2n) O(2k log n) 2i If there is no Move, a Lookup r from w finds downward path to v in level log(dist(u,v))+2 = O(i) When there are Moves, it can be shown that r finds downward path to v in level k = O(i + log log2n) p(w) p(v)

C(r)/C*(r) = O(2k log2n)+O(2k log n)+O(2i log2n) / 2i-1 = O(log4n)

Canonical path spiral path

slide-88
SLIDE 88

Analysis: move Stretch

88

Level Assume a sequential execution R of l+1 Move requests, where r0 is an initial Publish request.

C*(R) ≥ max1≤k≤h (Sk-1) 2k-1 C(R) ≥ σ

k=1

ℎ (Sk−1) O(2k log2n)

C(R)/C*(R) = σ

k=1

ℎ (Sk−1) O(2k log2n) / max1≤k≤h (Sk-1) 2k-1

= O(log2n. h) max1≤k≤h (Sk-1) 2k-1 / max1≤k≤h (Sk-1) 2k-1 = O(log2n. log D)

h . . . k . . . 2 1

request x

r0 . . . r0 . . . r0 r0 r0 r1 . . r1 r1 r1

u v y w

r2 r2 r2 . . r2 r2 r2 rl-1 rl-1 rl-1 r2 . . rl . . . rl rl rl

. . . Thus,

slide-89
SLIDE 89

Recap for Transactional Memory

  • A distributed directory protocol Spiral for

general networks that

 Has poly-logarithmic stretch  Is starvation free  Avoids race conditions  Factors in the stretch are mainly due to the parameters of the hierarchical clustering

89