Ucb2

47
Luigi Palopoli University of Trento Roberto Passerone, G. P. Picco, A.L. Murphy, D. Fontanelli …

description

some results on distributed algorithms for coverage maximisation in sensor networks

Transcript of Ucb2

Page 1: Ucb2

Luigi Palopoli University of Trento

Roberto Passerone, G. P. Picco, A.L. Murphy, D. Fontanelli …

Page 2: Ucb2

2

•  A very important application for WSN is surveillance •  Prominent issues:

–  detect targets with a good probability –  preserve the lifetime of the network

Page 3: Ucb2

•  We can extend the lifetime of the network by alternating short awake intervals with long sleeping intervals

•  ….how can do this without compromising the probability of detecting targets?

time sensor

epoch awake interval

wake-up time

By finding an appropriate schedule for the wakeup times of the nodes�

Page 4: Ucb2
Page 5: Ucb2

Input: –  a set of nodes deployed on an area –  the sensing range of the nodes –  a desired lifetime (which maps on the duty-cycle)

5

Output: –  A schedule that maximises the total area covered

throughout the epoch

Page 6: Ucb2

6

n1

n2

n3 S1

S2

S3

S12

S13

S123 S23

n1 n2 n3

Schedule 1

0 E Coverage

w

Page 7: Ucb2

7

n1

n2

n3 S1

S2

S3

S12

S13

S123 S23

n1 n2

n3

Schedule 2

0 E Coverage

w

Page 8: Ucb2
Page 9: Ucb2

•  We can cast the problem into the framework of MILP optimisation

9

•  …we assume to: – Know position and range of each node – Operate in a “centralized” way – Re-compute the schedule every time a node

exhausts its battery

Palopoli, Passerone, Murphy, Picco, Giusti. EWSN09 for an efficient solution

Page 10: Ucb2

1.  Discretize the target area into a finite number of regions

–  Points in the same region are covered by the same nodes

2.  Setup a boolean linear program enforcing the constraints of the wake-up scattering problem

Page 11: Ucb2

•  Assume a rectangular sensing area – Can be generalized to arbitrary shapes, using

unions of rectangles

{3} {2,3}

{1,2,3}

{1,2} {2} 1 2

3

Page 12: Ucb2

•  Enables a discretization of the problem –  the time line in each epoch is divided into L=E/I slots

•  Given an optimal schedule, always possible to find an equivalent one w/ wake-up times aligned on slots

•  Enables pruning of a large portion of the solution space remarkable computation speed-up

•  Proof in the paper

Let the epoch duration E be an integer multiple of the awake interval I. Then there exists a schedule such that every node wakes up at

some integer multiple of I ���(within E) which maximizes the average coverage

Page 13: Ucb2

•  Goal: maximize coverage area S #slots per epoch

Coverage of region ρ is 1 if there is a node active during slot k

Area of region ρ

  Coverage depends on the schedule, modeled by boolean variables

Page 14: Ucb2

Coverage is 0 when there are no nodes in the region

Coverage is 1 when there is at least one node in the region

A node wakes up at most once per epoch

Page 15: Ucb2

•  Formal modeling of the problem enables offline analysis of tradeoffs

•  Extensive pre-deployment evaluation can be performed at little cost –  Particularly useful in cases where it is possible to use a

pre-computed schedule

Page 16: Ucb2

•  For a few dozens of nodes, we come up to an acceptable solution in a few minutes

•  Despite this remarkable simplification, this technique remains Np-hard

•  Several days (weeks) required for an open source solver (GLPK) when we overcome the threshold of 100 nodes

•  We can reduce this time switching to a commercial solver, but

•  …we do have an issue of scalability 16

Page 17: Ucb2

•  Inspired by VLSI design, we have developed a suboptimal algorithm

17

Palopoli, Passerone. Toldo, Disi Tech report 2009, conference paper in preparation

•  The idea is a classical divide-and-conquer approach

•  We break down the problem into simpler one, we solve them and then we combine the results

Page 18: Ucb2

18

We break down the topology into smaller topologies of

manageable size

We solve the Scheduling problem

producing partial schedules of the

nodes

We increase the coverage shifting

appropriately the partial schedules

We are able to Compute how far off we are

from the optimal

Page 19: Ucb2

•  The partitioning problem is itself a ILP …

19

•  Much smaller in size but still NP-HARD :=(

•  However, we can save the day using very effective linear heuristics for VLSI design

Fiduccia, Mathesis, DAC 1982

Page 20: Ucb2

•  The post-processing phase can be carried out using a gradient descent approach

•  We shift the partial schedules looking at the coverage of areas neglected in the partitioning phase

20

Page 21: Ucb2

21

We can compute a nearly optimal schedule

even for very large topologies

In a few minutes

Page 22: Ucb2
Page 23: Ucb2

•  To tackle this problem we can use an interesting heuristic, the wakeup scattering algorithm

23

•  The idea is that nearby nodes should have “scattered” wakeup intervals)

•  We can do this by an iterative algorithm

See Giusti. Murphy, Picco EWSN07

Wakeup Time of the i-th node

Midpoint Of the wakeup

time of the nodes seen

Page 24: Ucb2

•  All nodes discover –  Their wake up time, WC –  Wake up time of the node

before them, Wprev –  Wake up time of the node

after them, Wnext

•  Calculate their new target wake up time –  Wc’=(Wprev+Wnext)/2 * α –  Move toward this new wakeup

time in the next epoch

•  Key Properties –  Process is entirely localized –  All nodes execute in parallel –  No central coordination

A B C

WC Wnext Wprev

WC’

Page 25: Ucb2

Schedule

25

Coverage

Page 26: Ucb2

26

Deployment Coverage

(optimal 53%)

Typically, the algorithm produces a suboptimal solution 10-5% away from the optimal one

Page 27: Ucb2

Does the wakeup scattering algorithm converge?

27

Page 28: Ucb2
Page 29: Ucb2

•  It is convenient to choose an appropriate subset of the distances between the wakeup times as state variables

29

Forward Distance

Backward Distance

Page 30: Ucb2

•  The update rule of the algorithm yields

30

•  where

Nodes Seen by i

Induces a linear switching

dynamics

Page 31: Ucb2

•  Collecting the forward distances (of nodes that see each other) in a vector we get an evolution for the system given by:

31

Switching function

Page 32: Ucb2

32

If two nodes see each other, they do not

overtake each other

Page 33: Ucb2
Page 34: Ucb2

•  As a first step we study convergence when the dynamics does not switch

34

Positive distances remain positive

The system is marginally stable

Page 35: Ucb2

35

•  Equilibrium points that are not on a switching surface are locally stable

Page 36: Ucb2

•  If each node sees its nearest neighbour the system never switches. Therefore, the algorithm converges globally

36

•  This result was already found for deployment of agents on the boundary of an area (which cannot overtake each other “structurally”)

See Martinez, Bullo et al. TAC07

Page 37: Ucb2

•  Suppose we remove one link to nearest neighbour

37

j and p do not see each other

The distance remains positive:

No switching •  Dynamics of j and p

Page 38: Ucb2

•  The two nodes converge to coincident wakeup times

38

a = 0.2 a = 0.9

Page 39: Ucb2

•  What if we remove two links?

39

•  Dynamics of nodes that do not see each other

Eigenvalues

Page 40: Ucb2

•  If the two eigenvalues are positive, we can have switching but from some point in time the system does not switch any more

Positive eigenvalues

Page 41: Ucb2

•  If one of the eigenvalues is negative, we can have an infinite switching number, but the two nodes eventually collapse onto each other behaving as a single node

Negative eigenvalue

Page 42: Ucb2
Page 43: Ucb2

•  Optimal solution computed using GLPK •  Distributed solution simulated as in [EWSN07] •  Experiments:

–  500x500 area, 15 to 50 nodes, density ~3 to ~9 •  Averaged over 100 topologies, and 10 random initializations

for each topology –  1000x1000 area, 200 nodes, similar density

•  Metrics: – Fixed #slots per epoch (duty-cycle), varied sensing

range – Fixed sensing range, varied #slots per epoch

Page 44: Ucb2

Very few nodes overlap��� in space and time

The distributed solution does not know the node location, and cannot change the order of

nodes in a schedule

The schedule “saturates”

Page 45: Ucb2

•  Performance is similar to the 500x500 case

Page 46: Ucb2
Page 47: Ucb2

•  Offline – Consider Multihop topologies and latency

constraints •  The cases reported above can be used

a guideline for a general convergence proof

•  Submitted to CDC09

•  Other directions – Different applications of the approach

(e.g., target tracking) 47