Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
research-article
Free Access

Towards update-conscious compilation for energy-efficient code dissemination in WSNs

Published:29 October 2009Publication History
Skip Abstract Section

Abstract

Postdeployment code dissemination in wireless sensor networks (WSN) is challenging, as the code has to be transmitted via energy-expensive wireless communication. In this article, we propose novel update-conscious compilation (UCC) techniques to achieve energy efficiency. By integrating the compilation decisions in generating the old binary, an update-conscious compiler strives to match the old decisions, which improves the binary code similarity, reduces the amount of transmitted data to remote sensors, and thus, consumes less energy. In this article, we develop update-conscious register allocation and data layout algorithms. Our experimental results show great improvements over the traditional, update-oblivious approaches.

References

  1. Barr, K. and Asanović, K. 2006. Energy aware lossless data compression. In Proceedings of the 1st International Conference on Mobile Systems, Applications and Services. ACM, New York, 250--291. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Briggs, P., Cooper, K. D., and Torczon, L. 1994. Improvements to graph coloring register Allocation. ACM Trans. Program. Lang. Syst. 16, 33, 428--455. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Berkelaar, M. 2006. LP solve 5.5. http://cran2.arsmachinandi.it/doc/packages/lpSolve.pdfGoogle ScholarGoogle Scholar
  4. Bivens, M. P. and Soffa, M. L. 1990. Incremental register allocation. Softw. Pract. Exp. 20, 10, 1015--1047. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Callaway, Jr., E. H. 2003. Wireless Sensor Networks: Architectures and Protocols. CRC Press, Boca Raton, FL. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Chaitin, G. J., Auslander, M. A., Chandra, A. K., Cocke, J., Hopkins, M. E., and Markstein, P. W. 1981. Register allocation via coloring. Comput. Lang. 6, 45--57.Google ScholarGoogle ScholarCross RefCross Ref
  7. Chow, F. and Hennessy, J. 1984. Register allocation by priority-based coloring. In Proceedings of the ACM SIGPLAN Symposium on Compiler Construction. ACM, New York, 222--232. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Crossbow. HMica2 Wireless Measurement System. http://www.xbow.com.Google ScholarGoogle Scholar
  9. Dai, W. The Crypto++ Library. http://www.eskimo.com/weidai/cryptlib.htmlGoogle ScholarGoogle Scholar
  10. Diffutils. Home page. http://www.gnu.org/software/diffutilsGoogle ScholarGoogle Scholar
  11. Dunkels, A., Finne, N., Eriksson, J., and Voigt, T. 2006. Runtime dynamic linking for reprogramming wireless sensor networks. In Proceedings of the ACM International Conference on Embedded Networked Sensor Systems (SenSys'06). ACM, New York, 15--28. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Dutta, P. K., Hui, J. W., Chu, D. C., and Culler, D. E. 2006. Securing the deluge network programming system. In Proceedings of the International Symposium on Information Processing in Sensor Networks (IPSN'06). ACM, New York, 326--333. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Goodwin, D. W. and Wilken, K. D. 1996. Optimal and near-optimal global register allocations using 0/1 integer programming. Softw. Pract. Exp. 26, 8, 929--965. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. George, L. and Appel, A. W. 1996. Iterated register coalescing. ACM Trans. Program. Lang. Syst. 18, 3, 300--324. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Hui, J. W. and Culler, D. E. 2004. The dynamic behavior of a data dissemination protocol for network programming at scale. In Proceedings of the ACM International Conference on Embedded Networked Sensor Systems (SenSys'04). ACM, New York, 81--94. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Jeong, J. and Culler, D. E. 2004. Incremental network programming for wireless sensors. In Proceedings of the 1st Annual IEEE Sensor and Ad Hoc Communications and Networks (SECON'04). IEEE, Los Alamitos, CA, 25--33.Google ScholarGoogle Scholar
  17. Juang, P., Oki, H., Wang, Y., Martonosi, M., Peh, L-S., and Rubenstein, D. 2002. Energy efficient computing for wildlife tracking: Design tradeoffs and early experiences with ZebraNet. In Proceedings of the ACM/IEEE International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS'02). ACM, New York, 96--107. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Kahn, J. M., Katz, R. H., and Pister, K. S. J. 2000. Emerging challenges: Mobile networking for “Smart Dust.” J. Comm. Netw. 2, 3, 188--196.Google ScholarGoogle ScholarCross RefCross Ref
  19. Koes, D. R. and Goldsteinm, S. C. 2006. A global progressive register allocator. In Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI'06). ACM, New York, 204--215. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Koshy, J. and Pandey, R. 2005. Remote incremental linking for energy-efficient reprogramming of sensor networks. In Proceedings of the European Workshop on Wireless Sensor Networks. Springer, Berlin, 354--365.Google ScholarGoogle Scholar
  21. Kulkarni, S. S. and Wang, L. 2005. Mnp: Multihop network reprogramming service for sensor networks. In Proceedings of the International Conference on Distributed Computing Systems (ICDCS'05). IEEE, Los Alamitos, CA. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. Lanigan, P. E., Gandhi, R., and Narasimhan, P. 2006. Sluice: Secure dissemination of code updates in sensor networks. In Proceedings of the International Conference on Distributed Computing Systems (ICDCS'06). IEEE, Los Alamitos, CA. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. Lee, C., Potkonjak, M., and Mangione-Smith, W. H. 1997. MediaBench: A tool for evaluating and synthesizing multimedia and communications systems. In Proceedings of the International Symposium on Microarchitecture (MICRO'97). IEEE, Los Alamitos, CA, 330--335. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. Levis, P. and Culler, D. 2002. Mate: A tiny virtual machine for sensor networks. In Proceedings of the International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS'02). ACM, New York, 85--95. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. Liao, S., Devadas, S., Keutzer, K., Tjiang, S., and Wang, A. 1995. Storage assignment to decrease code size. In Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI'95). ACM, New York, 235--253. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. Naik, M. and Palsberg, J. 2002. Compiling with code-size constraints. In Proceedings of the ACM SIGPLAN/SIGBED Conference on Languages, Compilers, and Tools for Embedded Systems (LCTES'02). ACM, New York, 120--129. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. Marron, P. J., Gauger, M., Lachenmann, A., Minder, D., Saukh, O., and Rothermel, K. 2006. FlexCup: A flexible and efficient code update mechanism for sensor networks. In Proceedings of the European Workshop on Wireless Sensor Networks (EWSN'06). Springer, Berlin, 212--227. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. Nonlinear Mixed Integer Programming. Welcome to the Bonim Wiki. http://projects.coin-or.org/BonminGoogle ScholarGoogle Scholar
  29. Panta, R. K., Khalil, I., and Bagchi, S. 2007. Stream: Low overhead wireless reprogramming for sensor networks. In Proceedings of the IEEE Conference on Computer Communications (Infocom'07). IEEE, Los Alamitos, CA.Google ScholarGoogle Scholar
  30. von Platen, C. and Eker, J. 2006. Feedback linking: Optimizing object code layout for updates. In Proceedings of the ACM SIGPLAN/SIGBED Conference on Languages, Compilers, and Tools for Embedded Systems (LCTES'06). ACM, New York, 2--11. Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. Poletto, M. and Sarkar, V. 1999. Linear scan register allocation. ACM Trans. Program. Lang. Syst. 21, 5, 895--913. Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. Reijers, N. and Langendoen, K. 2003. Efficient code distribution in wireless sensor networks. In Proceedings of the International Workshop on Wireless Sensor Network Architecture. Springer, Berlin, 60--67. Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. Levis, P., Lee, N., Welsh, M., and Culler, D. 2003. TOSSIM: Accurate and scalable simulation of entire TinyOS applications. In Proceedings of the ACM Conference on Embedded Networked Sensor Systems (SenSys'03). ACM, New York, 126--137. Google ScholarGoogle ScholarDigital LibraryDigital Library
  34. Shnayder, V., Hempstead, M., Chen, R.-R., Allen, G. W., and Welsh, M. 2004. Simulating the power consumption of large-scale sensor network applications. In Proceedings of the ACM Conference on Embedded Networked Sensor Systems (SenSys'04). ACM, New York, 188--200. Google ScholarGoogle ScholarDigital LibraryDigital Library
  35. TinyOS. Homepage. http://www.tinyos.netGoogle ScholarGoogle Scholar
  36. Titzer, B. L., Lee, D. K., and Palsberg, J. 2005. Avrora: Scalable sensor network simulation with precise timing. In Proceedings of the International Symposium on Information Processing in Sensor Networks (IPSN'05). ACM, New York, 477--482. Google ScholarGoogle ScholarDigital LibraryDigital Library
  37. Traub, O., Holloway, G., and Smith, M. D. 1998. Quality and speed in linear-scan register Allocation. In Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI'98). ACM, New York, 142--151. Google ScholarGoogle ScholarDigital LibraryDigital Library
  38. Ye, F., Zhong, G., Lu, S., and Zhang, L. 2005. Gradient broadcast: A robust data delivery protocol for large scale sens or networks. ACM Wirel. Netw. 11, 2, 285--298. Google ScholarGoogle ScholarDigital LibraryDigital Library
  39. Zhuang, X. and Pande, S. 2006. Differential register allocation. In Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI'06). ACM, New York, 168--179. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Towards update-conscious compilation for energy-efficient code dissemination in WSNs

      Recommendations

      Reviews

      Hua-Yi Lin

      In this paper, Li et al. propose an update-conscious compilation (UCC) mechanism that reduces and minimizes the code size from the optimized intermediate representation (IR) stage to the binary code generation stage. The main contribution of the proposed mechanism is to improve the code similarity and register allocation (RA), which leads to a smaller update script. Additionally, it proposes script dissemination schemes-including simple primitive, shift primitive, and clone primitive-that effectively reduce energy consumption. Li et al. exploit register management schemes to lower the utilization of power. Eventually, the study uses a Mica2 sensor node with TinyOS to perform the code update benchmark for slight, medium, and large changes. The experiment evaluates the dissemination cost between the UCC-RA and the GNU C compiler RA (GCC-RA). The simulation results indicate that the UCC-RA outperforms the GCC-RA with regard to code difference, code quality, and energy consumption. Overall, the paper provides several schemes that reduce the consumption of energy for wireless sensor networks (WSNs), and it implements testing scenarios to perform the proposed operations. According to the simulation results, the proposed mechanism effectively reduces code transmission traffic and energy consumption. The paper has a fine structure, and it includes methodologies and analyses. Therefore, I recommend it. Online Computing Reviews Service

      Access critical reviews of Computing literature here

      Become a reviewer for Computing Reviews.

      Comments

      Login options

      Check if you have access through your login credentials or your institution to get full access on this article.

      Sign in

      Full Access

      • Published in

        cover image ACM Transactions on Architecture and Code Optimization
        ACM Transactions on Architecture and Code Optimization  Volume 6, Issue 4
        October 2009
        115 pages
        ISSN:1544-3566
        EISSN:1544-3973
        DOI:10.1145/1596510
        Issue’s Table of Contents

        Copyright © 2009 ACM

        Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

        Publisher

        Association for Computing Machinery

        New York, NY, United States

        Publication History

        • Published: 29 October 2009
        • Accepted: 1 June 2009
        • Received: 1 September 2008
        Published in taco Volume 6, Issue 4

        Permissions

        Request permissions about this article.

        Request Permissions

        Check for updates

        Qualifiers

        • research-article
        • Research
        • Refereed

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader