International Journal of Parallel Programming

, Volume 42, Issue 4, pp 663–680 | Cite as

Engineering Energy Efficient Visual Sensor Network Applications Using Skeletons

  • Stefano Chessa
  • Susanna Pelagatti
  • Nicoletta TrioloEmail author


Visual sensor networks (VSNs) perform complex scene analysis algorithms that require significant computations and communications. Under this respect, the use of skeletons contributes to reduce the complexity of VSN programming and may ensure an easier and better optimization of the code. In this context, we propose INS, a stencil based skeleton targeted for wireless/visual sensor networks (W/VSNs) and give a preliminary analysis of its benefits using tracking as a case study. INS abstracts a distributed approximation schema in which the estimation of a given metric is organized in a sequence of steps. Each step includes collecting estimates from some neighbor nodes and local computation of a new approximation. In particular, INS takes inspiration from some stencil based skeletons proposed for parallel computation and merges it with the classical event driven model typical of sensor programming. As a result, the execution of each step is triggered by the detection of a relevant event in the environment. Tracking consists in periodically predicting position and velocity of one or more mobile targets. We discuss how INS can be instantiated to a distributed version of Kalman filtering. As energy efficiency is central in W/VSNs, we derive analytic models for energy dissipation of the INS skeleton depending on different concepts of neighborhood for the data exchanged at each step. Then, these models are used to guide the deployment of our tracking application on a real scenario.


Visual sensor networks Algorithmic skeletons Energy saving Kalman filtering 


  1. 1.
    Aldinucci, M., Danelutto, M., Kilpatrick, P.: Autonomic management of multiple non-functional concerns in behavioural skeletons. In: Grids, P2P and Services Computing, pp. 89–103. Springer, US (2010)Google Scholar
  2. 2.
    Baronti, P., Pillai, P., Chook, V., et al.: Wireless sensor networks: a survey on the state of the art and the 802.15.4 and zigbee standards. Comput. Commun. 30(7), 1655–1695 (2007)CrossRefGoogle Scholar
  3. 3.
    Bettstetter, C., Resta, G., Santi, P.: The node distribution of the random waypoint mobility model for wireless ad hoc networks. IEEE Trans. Mobile Comput. 2(3), 257–269 (2003). doi: 10.1109/TMC.2003.1233531 CrossRefGoogle Scholar
  4. 4.
    Bolla, R., Davoli, F., Bruschi, R., et al.: The potential impact of green technologies in next-generation wireline networks: is there room for energy saving optimization? IEEE Commun. Mag. 49(8), 80–86 (2011)CrossRefGoogle Scholar
  5. 5.
    Buettner, M., Yee, G.V., Anderson, E., Han, R.: X-mac: a short preamble mac protocol for duty- cycled wireless sensor networks. In: Proceedings of the 4th International Conference on Embedded Networked Sensor Systems, SenSys ’06, pp. 307–320. ACM, New York, NY, USA (2006). doi: 10.1145/1182807.1182838
  6. 6.
    Castalia: A Simulator for WSN (2011).
  7. 7.
    Chiaravalloti, S., Idzikowski, F., Budzisz, L.: Power consumption of WLAN network elements. Technival Report TKN-11-002, Technische Universitat, Berlin (2011)Google Scholar
  8. 8.
    Cole, M.: Algorithmic Skeletons: Structured Management of Parallel Computation. MIT Press, Cambridge, MA, USA (1991)Google Scholar
  9. 9.
  10. 10.
    Dean, J., Ghemawat, S.: Mapreduce: simplified data processing on large clusters. Commun. ACM 51(1), 107–113 (2008)CrossRefGoogle Scholar
  11. 11.
    Enmyren, J., Kessler, C.W.: Skepu: a multi-backend skeleton programming library for multi-gpu systems. In: Proceedings of the Fourth International Workshop on High-Level Parallel Programming and Applications, HLPP ’10, pp. 5–14. ACM, New York, NY, USA (2010)Google Scholar
  12. 12.
    Escolar, S., Chessa, S., Carretero, J.: Optimization of quality of service in wireless sensor networks powered by solar cells. In: Proceedings of the 2012 IEEE 10th International Symposium on Parallel and Distributed Processing with Applications, ISPA ’12, pp. 269–276. IEEE Computer Society, Washington, DC, USA (2012)Google Scholar
  13. 13.
    Fox, G.C.: Concurrent processing for scientific calculations. In: COMPCON’84, pp. 70–73 (1984)Google Scholar
  14. 14.
    Gay, D., Levis, P., von Behren, R., et al.: The nesC language: a holistic approach to networked embedded systems. SIGPLAN Notices 38(5), 1–11 (2003)CrossRefGoogle Scholar
  15. 15.
    Gorlatch, S., Pelagatti, S.: A transformational framework for skeletal programs: overview and case study. In: Parallel and Distributed Processing. IPPS/SPDP’99 Workshops Proceedings. Lecture Notes in Computer Science 1586, pp. 123–137. Springer, Berlin (1999)Google Scholar
  16. 16.
    Gupta, V., Tovar, E., Pinho, L., et al.: sMapReduce: a programming pattern for wireless sensor networks. In: Proceedings of the 2nd Workshop on Software Engineering for Sensor Network Applications, pp. 37–42. ACM (2011)Google Scholar
  17. 17.
    Hnat, T., Sookoor, T., Hooimeijer, P., et al.: Macrolab: a vector-based macroprogramming framework for cyber-physical systems. In: Proceedings of the 6th ACM Conference on Embedded Network Sensor Systems, pp. 225–238. ACM (2008)Google Scholar
  18. 18.
    Kamal, A.T., Ding, C., Song, B., Farrell, J.A., Roy-Chowdhury, A.K.: A generalized Kalman consensus filter for wide-area video networks. In: Decision and Control and European Control Conference (CDC-ECC), 2011 50th IEEE Conference on, pp. 7863–7869 (2011)Google Scholar
  19. 19.
    Levis, P., Madden, S., Polastre, J., et al.: TinyOS: an operating system for sensor networks. In: In Ambient Intelligence. Springer (2004)Google Scholar
  20. 20.
    Loke, S., Nadarajah, S.: MBMF: a framework for macroprogramming data-centric sensor network applications using the bird-meertens formalism. In: 2009 Joint Conferences on Pervasive Computing JCPC, pp. 359–364 (2009)Google Scholar
  21. 21.
    Lutz, T., Fensch, C., Cole, M.: Partans: an autotuning framework for stencil computation on multi-gpu systems. ACM Trans. Archit. Code Optim. 9(4), 59:1–59:24 (2013)Google Scholar
  22. 22.
    Madden, S., Franklin, M., Hellerstein, J., et al.: Tag: a tiny aggregation service for ad-hoc sensor networks. SIGOPS Oper. Syst. Rev. 36(SI), 131–146 (2002)CrossRefGoogle Scholar
  23. 23.
    Madden, S., Franklin, M., Hellerstein, J., et al.: TinyDB: an acquisitional query processing system for sensor networks. ACM Trans. Database Syst. 30(1), 122–173 (2005)CrossRefGoogle Scholar
  24. 24.
    Mottola, L., Picco, G.: Logical neighborhoods: a programming abstraction for wireless sensor networks. In: Distributed Computing in Sensor Systems, LNCS, vol. 4026, pp. 150–168. Springer, Heidelberg (2006)Google Scholar
  25. 25.
    Mottola, L., Picco, G.: Programming wireless sensor networks with logical neighborhoods. In: Proceedings of the 1st Internation Conference on Integrated Internet Ad hoc and Sensor Networks (InterSense) (2006)Google Scholar
  26. 26.
    Murugesan, S.: Harnessing green it: principles and practices. IT Prof. 10(1), 24–33 (2008)CrossRefGoogle Scholar
  27. 27.
    Newton, R., Morrisett, G., Welsh, M.: The regiment macroprogramming system. In: Proceedings of the 6th International Conference on Information Processing in Sensor Networks, pp. 489–498. ACM (2007)Google Scholar
  28. 28.
    Olfati-Saber, R.: Distributed kalman filtering for sensor networks. In: 46th IEEE Conference on Decision and Control, 2007, pp. 5492–5498 (2007)Google Scholar
  29. 29.
    Pelagatti, S.: Structured Development of Parallel Programs. Taylor & Francis, London (1997)Google Scholar
  30. 30.
    Reed, D., Adams, L., Patrick, M.: Stencils and problem partitionings: their influence on the performance of multiple processor systems. IEEE Trans. Comput. C-36(7), 845–858 (1987)Google Scholar
  31. 31.
    Song, B., Kamal, A., Soto, C., Ding, C., Farrell, J., Roy-Chowdhury, A.: Tracking and activity recognition through consensus in distributed camera networks. IEEE Trans. Image Process. 19(10), 2564–2579 (2010)CrossRefMathSciNetGoogle Scholar
  32. 32.
    Soro, S., Heinzelman, W.: A survey of visual sensor networks. In: Advances in Multimedia, 2009 (2009)Google Scholar
  33. 33.
    Taj, M., Cavallaro, A.: Distributed and decentralized multicamera tracking. IEEE Signal Process. Mag. 28(3), 46–58 (2011). doi: 10.1109/MSP.2011.940281 CrossRefGoogle Scholar
  34. 34.
    Tavli, B., Bicakci, K., Zilan, R., et al.: A survey of visual sensor network platforms. Multimedia Tools Appl. 60(3), 689–726 (2012)CrossRefGoogle Scholar
  35. 35.
    Villalobos, J., Wilkinson, B.: Skeleton/pattern programming with an adder operator for grid and cloud platforms. In: International Conference on Grid Computing and Applications, pp. 122–128 (2010)Google Scholar
  36. 36.
    Vishnu, A., Song, S., Marquez, A., et al.: Designing energy efficient communication runtime systems for data centric programming models. In: Proceedings of the 2010 IEEE/ACM Int’l Conference on GREENCOM-CPSCOM ’10, pp. 229–236. IEEE Computer Society, Washington, DC, USA (2010)Google Scholar
  37. 37.
    Welch, G., Bishop, G.: An introduction to the Kalman filter. Department of Technical Report TR95041. Computer Science, University of North Carolina, Chapel Hill (2000)Google Scholar

Copyright information

© Springer Science+Business Media New York 2013

Authors and Affiliations

  • Stefano Chessa
    • 1
  • Susanna Pelagatti
    • 1
  • Nicoletta Triolo
    • 1
    Email author
  1. 1.Dipartimento di InformaticaUniversità di PisaPisaItaly

Personalised recommendations