skip to main content
10.1145/1250734.1250778acmconferencesArticle/Chapter ViewAbstractPublication PagespldiConference Proceedingsconference-collections
Article

UCC: update-conscious compilation for energy efficiency in wireless sensor networks

Published:10 June 2007Publication History

ABSTRACT

Wireless sensor networks (WSN), composed of a large number of low-cost, battery-powered sensors, have recently emerged as promising computing platforms for many non-traditional applications. The preloaded code on remote sensors often needs to be updated after deployment in order for the WSN to adapt to the changing demands from the users. Post-deployment code dissemination is challenging as the data are transmitted via battery-powered wireless communication. Recent studies show that the energy for sending a single bit is about the same as executing 1000 instructions in aWSN. Therefore it is important to achieve energy efficiency in code dissemination.

In this paper, we propose novel update-conscious compilation(UCC) techniques for energy-efficient code dissemination in WSNs. An update-conscious compiler, when compiling the modified code, includes the compilation decisions that were made when generating the old binary. The compiler employs a detailed energy model and strives to match the old decisions for a more energy-efficient result. In most cases, matching the previous decisions improves the binary code similarity, reduces the amount of data to be transmitted to remote sensors, and thus, consumes less energy. In this paper, we develop update-conscious register allocation and data layout algorithms. Our experimental results show that they can achieve great improvements over the traditional, update-oblivious approaches.

References

  1. Preston Briggs, Keith D. Cooper, and Linda Torczon, "Improvements to Graph Coloring Register Allocation," ACM Transactions on Programming Languages Systems, 16(3):428--455, May 1994. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Michel Berkelaar et al., LP solve 5.5.Google ScholarGoogle Scholar
  3. Edgar H. Callaway, Jr. Wireless Sensor Networks: Architectures and Protocols, CRC Press, 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Gregory J. Chaitin,Marc A. Auslander, Ashok K. Chandra, John Cocke, Martin E. Hopkins, and Peter W. Markstein, "Register Allocation via Coloring," Computer Languages, 6:45--57, 1981.Google ScholarGoogle ScholarCross RefCross Ref
  5. Frederick Chow, and John Hennessy, "Register Allocation by Prioritybased Coloring," ACM SIGPLAN Symposium on Compiler Construction, pages 222--232, 1984. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Wei Dai, The Crypto++ Library, http://www.eskimo.com/ weidai/cryptlib.html .Google ScholarGoogle Scholar
  7. Adam Dunkels, Niclas Finne, Joakim Eriksson, and Thiemo Voigt, "Run-Time Dynamic Linking for Reprogramming Wireless Sensor Networks," ACM International Conference on Embedded Networked Sensor Systems (SenSys), pages 15--28, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Prabal K. Dutta, Jonathan W. Hui, David C. Chu, and David E. Culler, "Securing the Deluge Network Programming System," International Symposium on Information Processing in Sensor Networks (IPSN), pages 326--333, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. David W. Goodwin, and Kent D. Wilken, "Optimal and Near-optimal Global Register Allocations using 0/1 Integer Programming," Software: Practice and Experience, 26(8):929--965, 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Lal George, and Andrew W. Appel, "Iterated Register Coalescing," ACM Transactions on Programming Languages and Systems, 18(3):300--324, 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Jonathan W. Hui, and David E. Culler, "The Dynamic Behavior of a Data Dissemination Protocol for Network Programming at Scale," ACM International Conference on Embedded Networked Sensor Systems(SenSys), pages 81--94, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Jaein Jeong, and David E. Culler, "Incremental Network Programming for Wireless Sensors," IEEE Sensor and Ad Hoc Communications and Networks (SECON), pages 25--33, 2004.Google ScholarGoogle Scholar
  13. Philo Juang, Hidekazu Oki, Yong Wang , Margaret Martonosi, Li-Shiuan Peh, and Daniel Rubenstein, "Energy Efficient Computing for Wildlife Tracking: Design Tradeoffs and Early Experiences with ZebraNet," ACM/IEEE International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS), pages 96--107, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Joseph M. Kahn, Randy Howard Katz, and Kristofer S. J. Pister, "Emerging Challenges: Mobile Networking for 'Smart Dust' " Journal of Communications and Networks, 2(3):188--196, 2000.Google ScholarGoogle ScholarCross RefCross Ref
  15. David Ryan Koes, and Seth Copen Goldstein, "A Global Progressive Register Allocator," ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI), pages 204--215, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Joel Koshy, and Raju Pandey, "Remote Incremental Linking for Energy-Efficient Reprogramming of Sensor Networks," European Workshop on Wireless Sensor Networks, pages 354--365, 2005.Google ScholarGoogle Scholar
  17. Sandeep S.Kulkarni, and Limin Wang, "Mnp: Multihop Network Reprogramming Service for Sensor Networks," International Conference on Distributed Computing Systems (ICDCS), 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. P. E. Lanigan, R. Gandhi, and P. Narasimhan, "Sluice: Secure Dissemination of Code Updates in Sensor Networks," International Conference on Distributed Computing Systems (ICDCS), 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. Chunho Lee, Miodrag Potkonjak, and William H. Mangione-Smith, "MediaBench: A Tool for Evaluating and Synthesizing Multimedia and Communications Systems," International Symposium on Microarchitecture (MICRO), pages 330--335, 1997. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Philip Levis, and David Culler, "Mate: A Tiny Virtual Machine for Sensor Networks," International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS), pages 85--95, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. Stan Liao, Srinivas Devadas, Kurt Keutzer, Steven Tjiang, and Alvert Wang, "Storage Assignment to Decrease Code Size," ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI), pages 235--253, 1995. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. Mayur Naik, and Jens Palsberg, "Compiling with Code-size Constraints," ACM SIGPLAN/SIGBED Conference on Languages, Compilers, and Tools for Embedded Systems (LCTES), pages 120--129, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. Pedro Jose Marron, Matthias Gauger, Andreas Lachenmann, Daniel Minder, Olga Saukh, and Kurt Rothermel, "FlexCup: A Flexible and Efficient Code Update Mechanism for Sensor Networks," European Workshop on Wireless Sensor Networks (EWSN), pages 212--227, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. Nonlinear Mixed Integer Programming. http://projects.coinor.org/Bonmin.Google ScholarGoogle Scholar
  25. Rajesh K. Panta, Issa Khalil, and Saurabh Bagchi, "Stream: Low Overhead Wireless Reprogramming for Sensor Networks," IEEE Conference on Computer Communications (Infocom), 2007.Google ScholarGoogle Scholar
  26. Carl von Platen, and Johan Eker, "Feedback Linking: Optimizing Object Code Layout for Updates," ACM SIGPLAN/SIGBED Conference on Languages, Compilers, and Tools for Embedded Systems (LCTES), pages 2--11, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. Massimiliano Poletto, and Vivek Sarkar, "Linear Scan Register Allocation," ACM Transactions on Programming Languages and Systems, 21(5):895--913, 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. Niels Reijers, and Koen Langendoen, "Efficient Code Distribution in Wireless Sensor Networks," International Workshop on Wireless Sensor Network Architecture, pages 60--67, 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. Victor Shnayder, Mark Hempstead, Ror-rong Chen, Geoff Werner Allen, and Matt Welsh, "Simulating the Power Consumption of Large-Scale Sensor Network Applications," ACM Conference on Embedded Networked Sensor Systems (SenSys), pages 188--200, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. Mary P. Bivens, and Mary Lou Soffa, "Incremental Register Allocation," Software: Practice and Experience, 20(10):1015--1047, 1990. Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. TinyOS. http://www.tinyos.net/.Google ScholarGoogle Scholar
  32. Ben L. Titzer, Daniel K. Lee, and Jens Palsberg, "Avrora: Scalable Sensor Network Simulation with Precise Timing," International Symposium on Information Processing in Sensor Networks (IPSN), pages 477--482, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. Omri Traub, Glenn Holloway, and Michael D. Smith, "Quality and Speed in Linear-scan Register Allocation," ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI), pages 142--151, 1998. Google ScholarGoogle ScholarDigital LibraryDigital Library
  34. Mica2 Wireless Measurement System. http://www.xbow.com/.Google ScholarGoogle Scholar
  35. Fan Ye, Gary Zhong, Songwu Lu, and Lixia Zhang, "GRAdient Broadcast: A Robust Data Delivery Protocol for Large Scale Sens or Networks," ACM Wireless Networks, 11(2):285--298, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  36. Xiaotong Zhuang, and Santosh Pande, "Differential Register allocation," ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI), pages 168--179, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. UCC: update-conscious compilation for energy efficiency in wireless sensor networks

      Recommendations

      Comments

      Login options

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

      Sign in
      • Published in

        cover image ACM Conferences
        PLDI '07: Proceedings of the 28th ACM SIGPLAN Conference on Programming Language Design and Implementation
        June 2007
        508 pages
        ISBN:9781595936332
        DOI:10.1145/1250734
        • cover image ACM SIGPLAN Notices
          ACM SIGPLAN Notices  Volume 42, Issue 6
          Proceedings of the 2007 PLDI conference
          June 2007
          491 pages
          ISSN:0362-1340
          EISSN:1558-1160
          DOI:10.1145/1273442
          Issue’s Table of Contents

        Copyright © 2007 ACM

        Publisher

        Association for Computing Machinery

        New York, NY, United States

        Publication History

        • Published: 10 June 2007

        Permissions

        Request permissions about this article.

        Request Permissions

        Check for updates

        Qualifiers

        • Article

        Acceptance Rates

        Overall Acceptance Rate406of2,067submissions,20%

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader
      About Cookies On This Site

      We use cookies to ensure that we give you the best experience on our website.

      Learn more

      Got it!