skip to main content
research-article

An efficient code update scheme for DSP applications in mobile embedded systems

Published:13 April 2010Publication History
Skip Abstract Section

Abstract

DSP processors usually provide dedicated address generation units (AGUs) to assist address computation. By carefully allocating variables in the memory, DSP compilers take advantage of AGUs and generate efficient code with compact size and improved performance. However, DSP applications running on mobile embedded systems often need to be updated after their initial releases. Studies showed that small changes at the source code level may significantly change the variable layout in the memory and thus the binary code, which causes large energy overheads to mobile embedded systems that patch through wireless or satellite communication, and often pecuniary burden to the users.

In this paper, we propose an update-conscious code update scheme to effectively reduce patch size. It first performs incremental offset assignment based on a recent variable coalescing heuristic, and then summarizes the code difference using two types of update primitives. Our experimental results showed that using update-conscious code update can greatly improve code similarity and thus reduce the update script sizes.

References

  1. S. Atri, J. Ramanujam, and M. Kandemir, "Improving Offset Assignment for Embedded Processors," In Languages and Compilers for High-Performance Computing, S. Midkiff et al. (eds.), LNCS, Springer, 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. D.H. Bartley, "Optimizing Stack Frame Accesses for Processors with Restricted Addressing Modes," In Software: Practice and Experience, 22(2):101--110, 1992. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Y. Choi, and T. Kim, "Address Assignment Combined with Scheduling in DSP Code Generation," In Design Automation Conference, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. DSPStone Benchmark Suite, http://www.iss.rwth-aachen.de/Projekte/Tools/DSPSTONE.Google ScholarGoogle Scholar
  5. A. Dunkels, N. Finne, J. Eriksson, and T. Voigt, "Run-Time Dynamic Linking for Reprogramming Wireless Sensor Networks," In ACM International Conference on Embedded Networked Sensor Systems, pp. 15--28, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. J. W. Hui, and D. Culler, "The Dynamic Behavior of a Data Dissemination Protocol for Network Programming at Scale," In the 2nd ACM Conference on Embedded Networked Sensor Systems, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. iPhone manual. http://www.apple.com.Google ScholarGoogle Scholar
  8. J. Jeong, and D. Culler, "Incremental Network Programming for Wireless Sensors," In International Conference on Sensor and Ad Hoc Communications and Networks, 2004.Google ScholarGoogle Scholar
  9. M. Kandemir, M. J. Irwin , G. Chen and J. Ramanujam, "Address Register Assignment for Reducing Code Size," In the 12th International Conference on Compiler Construction, 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. J. Koshy, and R. Pandey, "Remote Incremental Linking for Energy-Efficient Reprogramming of Sensor Networks," In European Workshop on Wireless Sensor Networks, pp. 354--365, 2005.Google ScholarGoogle Scholar
  11. Lance Compiler http://www.lancecompiler.com/.Google ScholarGoogle Scholar
  12. P. Lapsley, J. Bier, A. Shoham, and EA Lee, "DSP Processor Fundamentals: Architectures and Features," Berkeley Design Technology, Inc., 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. S. Liao, S. Devadas, K. Keutzer, S. Tjiang, and A. Wang, "Storage Assignment to Decrease Code Size," In ACM Transactions on Programming Language and Systems, 18(3):235--253, 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. R. Leupers, and P. Marwedel, "Algorithms for Address Assignment in DSP Code Generation," In International Conference on Computer Aided Design, pp. 109--112, 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. R. Leupers and F. David, "A Uniform Optimization Technique for Offset Assignment Problems," In International Symposium on System Synthesis, pp. 3--8, 1998. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. R. Leupers, "Offset Assignment Showdown: Evaluation of DSP Address Code Optimization Algorithms," In the 12th International Conference on Compiler Construction, 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. P. Levis, and D. Culler, "Mate: A Tiny Virtual Machine for Sensor Networks," In International Conference on Architectural Support for Programming Languages and Operating Systems, pp. 85--95, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. W. Li, Y. Zhang, J. Yang, and J. Zheng, "UCC: Update-conscious Compilation for Energy Efficiency in Wireless Sensor Networks," In ACM SIGPLAN Conference on Programming Language Design and Implementation, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. P. J. Marron, M. Gauger, A. Lachenmann, D. Minder, O. Saukh, and K. Rothermel, "FlexCup: A Flexible and Efficient Code Update Mechanism for Sensor Networks," In European Workshop on Wireless Sensor Networks, pp. 212--227, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. OffsetStone Benchmark Suite, http://www.address-code-optimization.org.Google ScholarGoogle Scholar
  21. D. Ottoni, G. Otoni, G. Unicamp, and R. Leupers, "Offset Assignment Using Simultaneous Variable Coalescing," In ACM Transactions on Embedded Computing Systems, 5(4):864--883, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. A. Rao, and S. Pande, "Storage Assignment Optimizations to Generate Compact and Efficient Code on Embedded DSPs," In ACM SIGPLAN Conference on Programming Language Design and Implementation, pp. 128--138, 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. N. Reijers, and K. Langendoen, "Efficient Code Distribution in Wireless Sensor Networks," In International Workshop on Wireless Sensor Network Architecture, pp. 60--67, 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. A. Sudarsanam, S. Liao, and S. Devadas, "Analysis and Evaluation of Address Arithmetic Capabilities in Custom DSP Architectures," In Design Automation Conference, pp. 287--292, 1997. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. Crossbow Technology Inc. "Mote In-Network Programming User Reference," 2003.Google ScholarGoogle Scholar
  26. X. Zhuang, C. Lau, and S. Pande, "Storage Assignment Optimizations through Variable Coalescence for Embedded Processors," In the International Conference on Languages, Compilers, and Tools for Embedded Systems, 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. An efficient code update scheme for DSP applications in mobile embedded systems

          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

          Full Access

          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!