Inter-application redundancy elimination in Wireless Sensor Networks with compiler-assisted scheduling

Most current-generation Wireless Sensor Network (WSN) nodes are equipped with multiple sensors of various types, and therefore support for multi-tasking and multiple concurrent applications is becoming increasingly common. This trend has been fostering the design of WSNs allowing several concurrent users to deploy applications with dissimilar requirements. In this paper, we extend the advantages of a holistic programming scheme by designing a novel compiler-assisted scheduling approach (called REIS) able to identify and eliminate redundancies across applications. To achieve this useful high-level optimization, we model each user application as a linear sequence of executable instructions. We show how well-known string-matching algorithms such as the Longest Common Subsequence (LCS) and the Shortest Common Super-sequence (SCS) can be used to produce an optimal merged monolithic sequence of the deployed applications that takes into account embedded scheduling information. We show that our approach can help in achieving about 60% average energy savings in processor usage compared to the normal execution of concurrent applications.

[1]  M. Welsh,et al.  The Regiment Macroprogramming System , 2007, 2007 6th International Symposium on Information Processing in Sensor Networks.

[2]  Vijay Raghunathan,et al.  μSETL: A set based programming abstraction for wireless sensor networks , 2011, Proceedings of the 10th ACM/IEEE International Conference on Information Processing in Sensor Networks.

[3]  Alejandro P. Buchmann,et al.  Towards multi-purpose wireless sensor networks , 2005, 2005 Systems Communications (ICW'05, ICHSN'05, ICMCS'05, SENET'05).

[4]  Daniel S. Hirschberg,et al.  Algorithms for the Longest Common Subsequence Problem , 1977, JACM.

[5]  Yong Yao,et al.  The cougar approach to in-network query processing in sensor networks , 2002, SGMD.

[6]  Michael J. Franklin,et al.  On-the-fly sharing for streamed aggregation , 2006, SIGMOD Conference.

[7]  Philip Levis,et al.  Maté: a tiny virtual machine for sensor networks , 2002, ASPLOS X.

[8]  David E. Culler,et al.  Fine-grain parallelism with minimal hardware support: a compiler-controlled threaded abstract machine , 1991, ASPLOS IV.

[9]  Luca Mottola,et al.  Programming wireless sensor networks , 2011, ACM Comput. Surv..

[10]  Anthony Rowe,et al.  FireFly: A Time Synchronized Real-Time Sensor Networking Platform , 2007 .

[11]  Vivek Sarkar,et al.  Space-time scheduling of instruction-level parallelism on a raw machine , 1998, ASPLOS VIII.

[12]  Yang Yu,et al.  Supporting concurrent applications in wireless sensor networks , 2006, SenSys '06.

[13]  The TinyOS 2.x Working Group TinyOS 2.0 , 2005, SenSys.

[14]  Anthony Rowe,et al.  Low-power clock synchronization using electromagnetic energy radiating from AC power lines , 2009, SenSys '09.

[15]  Suman Nath,et al.  On-line sensing task optimization for shared sensors , 2010, IPSN '10.

[16]  Anthony Rowe,et al.  Nano-RK: an energy-aware resource-centric RTOS for sensor networks , 2005, 26th IEEE International Real-Time Systems Symposium (RTSS'05).

[17]  Esko Ukkonen,et al.  The Shortest Common Supersequence Problem over Binary Alphabet is NP-Complete , 1981, Theor. Comput. Sci..

[18]  Yixin Chen,et al.  Near optimal multi-application allocation in shared sensor networks , 2010, MobiHoc '10.

[19]  Chenyang Lu,et al.  Integrating concurrency control and energy management in device drivers , 2007, SOSP.

[20]  Wei Hong,et al.  TinyDB: an acquisitional query processing system for sensor networks , 2005, TODS.

[21]  Sheldon J. Finkelstein Common expression analysis in database applications , 1982, SIGMOD '82.

[22]  Viktor K. Prasanna,et al.  Issues in designing middleware for wireless sensor networks , 2004, IEEE Network.

[23]  Eduardo Tovar,et al.  Nano-CF: A coordination framework for macro-programming in Wireless Sensor Networks , 2011, 2011 8th Annual IEEE Communications Society Conference on Sensor, Mesh and Ad Hoc Communications and Networks.

[24]  David E. Culler,et al.  Procrastination Might Lead to a Longer and More Useful Life , 2007, HotNets.

[25]  Bernhard Steffen,et al.  The Interprocedural Coincidence Theorem , 1992, CC.

[26]  Adam Dunkels,et al.  Contiki - a lightweight and flexible operating system for tiny networked sensors , 2004, 29th Annual IEEE International Conference on Local Computer Networks.

[27]  Shih-Lin Wu,et al.  Wireless Ad Hoc Networking : Personal-Area, Local-Area, and the Sensory-Area Networks , 2007 .

[28]  Wei Hong,et al.  Proceedings of the 5th Symposium on Operating Systems Design and Implementation Tag: a Tiny Aggregation Service for Ad-hoc Sensor Networks , 2022 .

[29]  Todd Millstein,et al.  Kairos: a macro-programming system for wireless sensor networks , 2005, SOSP '05.

[30]  Ken Kennedy,et al.  Optimizing Compilers for Modern Architectures: A Dependence-based Approach , 2001 .

[31]  David E. Culler,et al.  Fine-grain parallelism with minimal hardware support: a compiler-controlled threaded abstract machine , 1991, ASPLOS IV.

[32]  Timos K. Sellis,et al.  Multiple-query optimization , 1988, TODS.

[33]  Chenyang Lu,et al.  Multi-Application Deployment in Shared Sensor Networks Based on Quality of Monitoring , 2010, 2010 16th IEEE Real-Time and Embedded Technology and Applications Symposium.