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.
- 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 Scholar
Digital Library
- D.H. Bartley, "Optimizing Stack Frame Accesses for Processors with Restricted Addressing Modes," In Software: Practice and Experience, 22(2):101--110, 1992. Google Scholar
Digital Library
- Y. Choi, and T. Kim, "Address Assignment Combined with Scheduling in DSP Code Generation," In Design Automation Conference, 2002. Google Scholar
Digital Library
- DSPStone Benchmark Suite, http://www.iss.rwth-aachen.de/Projekte/Tools/DSPSTONE.Google Scholar
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- iPhone manual. http://www.apple.com.Google Scholar
- J. Jeong, and D. Culler, "Incremental Network Programming for Wireless Sensors," In International Conference on Sensor and Ad Hoc Communications and Networks, 2004.Google Scholar
- 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 Scholar
Digital Library
- 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 Scholar
- Lance Compiler http://www.lancecompiler.com/.Google Scholar
- P. Lapsley, J. Bier, A. Shoham, and EA Lee, "DSP Processor Fundamentals: Architectures and Features," Berkeley Design Technology, Inc., 1996. Google Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- R. Leupers and F. David, "A Uniform Optimization Technique for Offset Assignment Problems," In International Symposium on System Synthesis, pp. 3--8, 1998. Google Scholar
Digital Library
- R. Leupers, "Offset Assignment Showdown: Evaluation of DSP Address Code Optimization Algorithms," In the 12th International Conference on Compiler Construction, 2003. Google Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- OffsetStone Benchmark Suite, http://www.address-code-optimization.org.Google Scholar
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- Crossbow Technology Inc. "Mote In-Network Programming User Reference," 2003.Google Scholar
- 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 Scholar
Digital Library
Index Terms
An efficient code update scheme for DSP applications in mobile embedded systems
Recommendations
An efficient code update scheme for DSP applications in mobile embedded systems
LCTES '10: Proceedings of the ACM SIGPLAN/SIGBED 2010 conference on Languages, compilers, and tools for embedded systemsDSP 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 ...
Code Optimization Techniques in Embedded DSP Microprocessors
We address the problem of code optimization for embedded DSP microprocessors. Such processors (e.g., those in the TMS320 series) have highly irregular datapaths, and conventional code generation methods typically result in inefficient code. In this ...
Efficient embedded code generation with multiple load-store instructions
In a recent study, we discovered that many single load-store operations in embedded applications can be parallelized and thus encoded simultaneously in a single-instruction multiple-data instruction, called the multiple load-store (MLS) instruction. In ...







Comments