SlideShare a Scribd company logo
1 of 47
Download to read offline
Luigi Palopoli
      University of Trento
Roberto Passerone, G. P. Picco,
 A.L. Murphy, D. Fontanelli …
•  A very important application for WSN is surveillance
•  Prominent issues:
   –  detect targets with a good probability
   –  preserve the lifetime of the network




                                                          2
•  We can extend the lifetime of the network by
   alternating short awake intervals with long
   sleeping intervals
                   wake-up time	

                                                          time	

    sensor	

                      epoch	

                                      awake interval	

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

        By finding an appropriate schedule for the wakeup
                       times of the nodes
Input:
  –  a set of nodes deployed on an area
  –  the sensing range of the nodes
  –  a desired lifetime (which maps on the duty-cycle)



Output:
  –  A schedule that maximises the total area covered
     throughout the epoch


                                                         5
Schedule 1 	


                                                    n1	

S1	

           S13	

               S3	

          n2	

    n1	

                   n3	

                   n3	

               S123	

                       0	

      w	

      E	

   S12	

                   S23	

                    n2	

                                                     Coverage	

            S2	



                                                                   6
Schedule 2 	


                                                    n1	

S1	

           S13	

               S3	

                         n2	

    n1	

                   n3	

                   n3	

               S123	

                       0	

           w	

           E	

   S12	

                   S23	

                    n2	

                                                     Coverage	

            S2	



                                                                            7
•  We can cast the problem into the
   framework of MILP optimisation
  Palopoli, Passerone, Murphy, Picco, Giusti. EWSN09 for an
   efficient solution

•  …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
                                                              9
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
•  Assume a rectangular sensing area
  –  Can be generalized to arbitrary shapes, using
     unions of rectangles

                          {2}	

   1	

           2	

    {1,2}	


                          {1,2,3}	


                  3	

                          {2,3}	

                          {3}
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 	


•  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
Coverage of region        is
•  Goal: maximize coverage area S      1 if there is a node
 #slots per epoch	

                   active during slot k 	



                                            Area of region      	




    Coverage depends on the schedule, modeled by
     boolean variables
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
•  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
•  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
•  Inspired by VLSI design, we have
   developed a suboptimal algorithm
  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
                                                              17
We break down
     the topology
       We solve the	

      into smaller
We increase the
        Scheduling
  We are able to	

     topologies of
coverage shifting
         problem
   Compute how
   manageable size	

  appropriately
    producing partial
   far off we are
    the partial of the
     schedules
 from the optimal	

    schedules	

          nodes	





                18
•  The partitioning problem is itself a ILP …
•  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




                                            19
•  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
We can compute a
nearly optimal schedule
  even for very large
       topologies	

   In a few minutes	





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

               See Giusti. Murphy, Picco EWSN07

•  The idea is that nearby nodes should have “scattered”
   wakeup intervals)
•  We can do this by an iterative algorithm




 Wakeup	

                               Midpoint	

 Time of                               Of the wakeup
 the i-th	

                         time of the nodes	

  node	

                                   seen	

         23
•  All nodes discover
                                –  Their wake up time, WC
A	

                            –  Wake up time of the node
B	

                               before them, Wprev
C	

                            –  Wake up time of the node
                                   after them, Wnext
       WC	

                 •  Calculate their new target
       Wprev	

   Wnext	

      wake up time
                                –  Wc’=(Wprev+Wnext)/2 * α
             WC’	

             –  Move toward this new wakeup
                                   time in the next epoch
                             •  Key Properties
                                –  Process is entirely localized
                                –  All nodes execute in parallel
                                –  No central coordination
Schedule   Coverage




                      25
Coverage 	

Deployment	

                               (optimal 53%) 	


Typically, the algorithm produces a suboptimal
  solution 10-5% away from the optimal one
                                                   26
Does the wakeup scattering algorithm
              converge?




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

                                    Forward	

                                    Distance           	





                                    Backward	

                                    Distance       	



                                                  29
•  The update rule of the algorithm yields




•  where



                Nodes	

                                      Induces	

               Seen by i	

     a linear switching
                                     dynamics	

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




              Switching	

               function	

                                          31
If two nodes see each
   other, they do not
 overtake each other	





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

                              The system is
                             marginally stable	




    Positive distances
     remain positive	



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




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




•  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
                                                                   36
•  Suppose we remove one link to nearest neighbour

                           j and p do not see
                               each other	





                              The distance	

                            remains positive:	

                              No switching	

•  Dynamics of j and p




                                                        37
•  The two nodes converge to coincident
   wakeup times




     a = 0.2	

               a = 0.9	


                                           38
•  What if we remove two links?




                          •  Dynamics of nodes that do not
                             see each other



  Eigenvalues	





                                                     39
•  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
•  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
•  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
The schedule “saturates”	





                                 The distributed solution does not know the
Very few nodes overlap
                                node location, and cannot change the order of
   in space and time	

                                             nodes in a schedule
•  Performance is similar to the 500x500 case
•  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

More Related Content

Similar to Ucb2

Rethinking Attention with Performers
Rethinking Attention with PerformersRethinking Attention with Performers
Rethinking Attention with PerformersJoonhyung Lee
 
L3-.pptx
L3-.pptxL3-.pptx
L3-.pptxasdq4
 
Hands on machine learning with scikit-learn and tensor flow by ahmed yousry
Hands on machine learning with scikit-learn and tensor flow by ahmed yousryHands on machine learning with scikit-learn and tensor flow by ahmed yousry
Hands on machine learning with scikit-learn and tensor flow by ahmed yousryAhmed Yousry
 
Feed forward back propogation algorithm .pptx
Feed forward back propogation algorithm .pptxFeed forward back propogation algorithm .pptx
Feed forward back propogation algorithm .pptxneelamsanjeevkumar
 
myelin presentation
myelin presentationmyelin presentation
myelin presentationahmadbutt92
 
Loop parallelization & pipelining
Loop parallelization & pipeliningLoop parallelization & pipelining
Loop parallelization & pipeliningjagrat123
 
Implementation of quantum gates using verilog
Implementation of quantum gates using verilogImplementation of quantum gates using verilog
Implementation of quantum gates using verilogShashank Kumar
 
Neural machine translation by jointly learning to align and translate.pptx
Neural machine translation by jointly learning to align and translate.pptxNeural machine translation by jointly learning to align and translate.pptx
Neural machine translation by jointly learning to align and translate.pptxssuser2624f71
 
[NeurIPS2020 (spotlight)] Generalization bound of globally optimal non convex...
[NeurIPS2020 (spotlight)] Generalization bound of globally optimal non convex...[NeurIPS2020 (spotlight)] Generalization bound of globally optimal non convex...
[NeurIPS2020 (spotlight)] Generalization bound of globally optimal non convex...Taiji Suzuki
 
ML Module 3 Non Linear Learning.pptx
ML Module 3 Non Linear Learning.pptxML Module 3 Non Linear Learning.pptx
ML Module 3 Non Linear Learning.pptxDebabrataPain1
 
Compressed learning for time series classification
Compressed learning for time series classificationCompressed learning for time series classification
Compressed learning for time series classification學翰 施
 
Towards better analysis of deep convolutional neural networks
Towards better analysis of deep convolutional neural networksTowards better analysis of deep convolutional neural networks
Towards better analysis of deep convolutional neural networks曾 子芸
 
Large scale analysis for spiking data
Large scale analysis for spiking dataLarge scale analysis for spiking data
Large scale analysis for spiking dataHassan Nasser
 
Real Time Kernels
Real Time KernelsReal Time Kernels
Real Time KernelsArnav Soni
 
A Virtual Infrastructure for Mitigating Typical Challenges in Sensor Networks
A Virtual Infrastructure for Mitigating Typical Challenges in Sensor NetworksA Virtual Infrastructure for Mitigating Typical Challenges in Sensor Networks
A Virtual Infrastructure for Mitigating Typical Challenges in Sensor NetworksMichele Weigle
 

Similar to Ucb2 (20)

Circuitanlys2
Circuitanlys2Circuitanlys2
Circuitanlys2
 
Rethinking Attention with Performers
Rethinking Attention with PerformersRethinking Attention with Performers
Rethinking Attention with Performers
 
L3-.pptx
L3-.pptxL3-.pptx
L3-.pptx
 
Quantum Computers
Quantum ComputersQuantum Computers
Quantum Computers
 
Hands on machine learning with scikit-learn and tensor flow by ahmed yousry
Hands on machine learning with scikit-learn and tensor flow by ahmed yousryHands on machine learning with scikit-learn and tensor flow by ahmed yousry
Hands on machine learning with scikit-learn and tensor flow by ahmed yousry
 
Feed forward back propogation algorithm .pptx
Feed forward back propogation algorithm .pptxFeed forward back propogation algorithm .pptx
Feed forward back propogation algorithm .pptx
 
myelin presentation
myelin presentationmyelin presentation
myelin presentation
 
Loop parallelization & pipelining
Loop parallelization & pipeliningLoop parallelization & pipelining
Loop parallelization & pipelining
 
Implementation of quantum gates using verilog
Implementation of quantum gates using verilogImplementation of quantum gates using verilog
Implementation of quantum gates using verilog
 
Neural machine translation by jointly learning to align and translate.pptx
Neural machine translation by jointly learning to align and translate.pptxNeural machine translation by jointly learning to align and translate.pptx
Neural machine translation by jointly learning to align and translate.pptx
 
[NeurIPS2020 (spotlight)] Generalization bound of globally optimal non convex...
[NeurIPS2020 (spotlight)] Generalization bound of globally optimal non convex...[NeurIPS2020 (spotlight)] Generalization bound of globally optimal non convex...
[NeurIPS2020 (spotlight)] Generalization bound of globally optimal non convex...
 
Stellar hydro
Stellar hydroStellar hydro
Stellar hydro
 
ML Module 3 Non Linear Learning.pptx
ML Module 3 Non Linear Learning.pptxML Module 3 Non Linear Learning.pptx
ML Module 3 Non Linear Learning.pptx
 
Deep Learning
Deep LearningDeep Learning
Deep Learning
 
Chapter 4 better.pptx
Chapter 4 better.pptxChapter 4 better.pptx
Chapter 4 better.pptx
 
Compressed learning for time series classification
Compressed learning for time series classificationCompressed learning for time series classification
Compressed learning for time series classification
 
Towards better analysis of deep convolutional neural networks
Towards better analysis of deep convolutional neural networksTowards better analysis of deep convolutional neural networks
Towards better analysis of deep convolutional neural networks
 
Large scale analysis for spiking data
Large scale analysis for spiking dataLarge scale analysis for spiking data
Large scale analysis for spiking data
 
Real Time Kernels
Real Time KernelsReal Time Kernels
Real Time Kernels
 
A Virtual Infrastructure for Mitigating Typical Challenges in Sensor Networks
A Virtual Infrastructure for Mitigating Typical Challenges in Sensor NetworksA Virtual Infrastructure for Mitigating Typical Challenges in Sensor Networks
A Virtual Infrastructure for Mitigating Typical Challenges in Sensor Networks
 

Ucb2

  • 1. Luigi Palopoli University of Trento Roberto Passerone, G. P. Picco, A.L. Murphy, D. Fontanelli …
  • 2. •  A very important application for WSN is surveillance •  Prominent issues: –  detect targets with a good probability –  preserve the lifetime of the network 2
  • 3. •  We can extend the lifetime of the network by alternating short awake intervals with long sleeping intervals wake-up time time sensor epoch awake interval •  ….how can do this without compromising the probability of detecting targets? By finding an appropriate schedule for the wakeup times of the nodes
  • 4.
  • 5. Input: –  a set of nodes deployed on an area –  the sensing range of the nodes –  a desired lifetime (which maps on the duty-cycle) Output: –  A schedule that maximises the total area covered throughout the epoch 5
  • 6. Schedule 1 n1 S1 S13 S3 n2 n1 n3 n3 S123 0 w E S12 S23 n2 Coverage S2 6
  • 7. Schedule 2 n1 S1 S13 S3 n2 n1 n3 n3 S123 0 w E S12 S23 n2 Coverage S2 7
  • 8.
  • 9. •  We can cast the problem into the framework of MILP optimisation Palopoli, Passerone, Murphy, Picco, Giusti. EWSN09 for an efficient solution •  …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 9
  • 10. 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
  • 11. •  Assume a rectangular sensing area –  Can be generalized to arbitrary shapes, using unions of rectangles {2} 1 2 {1,2} {1,2,3} 3 {2,3} {3}
  • 12. 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 •  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
  • 13. Coverage of region is •  Goal: maximize coverage area S 1 if there is a node #slots per epoch active during slot k Area of region   Coverage depends on the schedule, modeled by boolean variables
  • 14. 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
  • 15. •  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
  • 16. •  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
  • 17. •  Inspired by VLSI design, we have developed a suboptimal algorithm 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 17
  • 18. We break down the topology We solve the into smaller We increase the Scheduling We are able to topologies of coverage shifting problem Compute how manageable size appropriately producing partial far off we are the partial of the schedules from the optimal schedules nodes 18
  • 19. •  The partitioning problem is itself a ILP … •  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 19
  • 20. •  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
  • 21. We can compute a nearly optimal schedule even for very large topologies In a few minutes 21
  • 22.
  • 23. •  To tackle this problem we can use an interesting heuristic, the wakeup scattering algorithm See Giusti. Murphy, Picco EWSN07 •  The idea is that nearby nodes should have “scattered” wakeup intervals) •  We can do this by an iterative algorithm Wakeup Midpoint Time of Of the wakeup the i-th time of the nodes node seen 23
  • 24. •  All nodes discover –  Their wake up time, WC A –  Wake up time of the node B before them, Wprev C –  Wake up time of the node after them, Wnext WC •  Calculate their new target Wprev Wnext wake up time –  Wc’=(Wprev+Wnext)/2 * α WC’ –  Move toward this new wakeup time in the next epoch •  Key Properties –  Process is entirely localized –  All nodes execute in parallel –  No central coordination
  • 25. Schedule Coverage 25
  • 26. Coverage Deployment (optimal 53%) Typically, the algorithm produces a suboptimal solution 10-5% away from the optimal one 26
  • 27. Does the wakeup scattering algorithm converge? 27
  • 28.
  • 29. •  It is convenient to choose an appropriate subset of the distances between the wakeup times as state variables Forward Distance Backward Distance 29
  • 30. •  The update rule of the algorithm yields •  where Nodes Induces Seen by i a linear switching dynamics 30
  • 31. •  Collecting the forward distances (of nodes that see each other) in a vector we get an evolution for the system given by: Switching function 31
  • 32. If two nodes see each other, they do not overtake each other 32
  • 33.
  • 34. •  As a first step we study convergence when the dynamics does not switch The system is marginally stable Positive distances remain positive 34
  • 35. •  Equilibrium points that are not on a switching surface are locally stable 35
  • 36. •  If each node sees its nearest neighbour the system never switches. Therefore, the algorithm converges globally •  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 36
  • 37. •  Suppose we remove one link to nearest neighbour j and p do not see each other The distance remains positive: No switching •  Dynamics of j and p 37
  • 38. •  The two nodes converge to coincident wakeup times a = 0.2 a = 0.9 38
  • 39. •  What if we remove two links? •  Dynamics of nodes that do not see each other Eigenvalues 39
  • 40. •  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
  • 41. •  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
  • 42.
  • 43. •  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
  • 44. The schedule “saturates” The distributed solution does not know the Very few nodes overlap node location, and cannot change the order of in space and time nodes in a schedule
  • 45. •  Performance is similar to the 500x500 case
  • 46.
  • 47. •  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