Abstract
We consider software architectural transformations in the context of the multi-process software style driven by an operating system (OS), which is very commonly employed in energy-sensitive embedded systems. We propose a systematic methodology for applying these transformations to derive an energy-optimized architecture for any given embedded software. It consists of: (i) constructing a software architecture graph representation, (ii) deriving initial energy and performance statistics using a detailed energy simulation framework, (iii) constructing sequences of atomic software architectural transformations, guided by energy change estimates derived from high-level energy macro-models, that result in maximal energy reduction, and (iv) generation of program source code to reflect the optimized software architecture. We employ a wide suite of software architectural transformations whose effects span the application-OS boundary, including how the program functionality is structured into architectural components (e.g., application processes, signal handlers, and device drivers) and connectors between them (inter-component synchronization and communication mechanisms).
The effects of the software transformations we consider cross the application-OS boundary (by changing the way in which the application interacts with the OS). Hence, we use an OS-aware energy simulation framework to perform an initial energy profiling, and OS energy macro-models to provide energy change estimates that guide the application of our transformations.
We present experimental results on several multi-process embedded software programs, in the context of an embedded system that features the Intel StrongARM processor and the embedded Linux OS. The presented results clearly underscore the potential of the proposed methodology (up to 66.1% reduction in energy is obtained). In a broader sense, our work demonstrates the impact of considering energy during the earlier stages of the software design process.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
J. Rabaey and M. Pedram (eds.). Low Power Design Methodologies, Kluwer Academic Publishers, Norwell, MA, 1996.
L. Benini and G. De Micheli, Dynamic Power Management: Design Techniques and CAD Tools, Kluwer Academic Publishers, Norwell, MA, 1997.
A. Raghunathan, N. K. Jha, and S. Dey. High-level Power Analysis and Optimization, Kluwer Academic Publishers, Norwell, MA, 1998.
D. Garlan and M. Shaw. “An Introduction to Software Architecture.” Technical Report CMU-CS-94-166, School of Computer Science, Carnegie-Mellon University, Jan. 1994.
H. Gomaa. Software Design Methods for Real-Time Systems, Addison-Wesley, Boston, MA, 1993.
V. Tiwari, S. Malik, A. Wolfe, and T. C. Lee. “Instruction Level Power Analysis and Optimization of Software.” VLSI Signal Processing Systems, Vol. 13, pp. 223–238, 1996.
H. Mehta, R. M. Owens, M. J. Irwin, R. Chen, and D. Ghosh. “Techniques for Low Energy Software.” In Proceedings of International Symposium on Low Power Electronics & Design, August 1997, pp. 72–74.
M. Lee, V. Tiwari, S. Malik, and M. Fujita. “Power Analysis and Minimization Techniques for Embedded DSP Software.” IEEE Trans. VLSI Systems, Vol. 2, No. 4, pp. 437–445, December 1996.
M. Lorenz, R. Leupers, P. Marwedel, T. Dräger and G. Fettweis, “Low-Energy DSP Code Generation Using a Genetic Algorithm.” In Proceedings of International Conference Computer Design, September 2001, pp. 431–437.
N. Vijaykrishnan, M. Kandemir, M. J. Irwin, H. S. Kim, and W. Ye. “Energy-Driven Integrated Hardware-Software Optimizations Using SimplePower.” In Proceedings of International Symposium on Computer Architecture, June 2000, pp. 95–106.
E. Chung, L. Benini, and G. De Micheli. “Source Code Transformation Based on Software Cost Analysis.” in Proceedings of International Symposium on System Synthesis, October 2001, pp. 153–158.
J. R. Lorch and A. J. Smith. “Software Strategies for Portable Computer Energy Management,” IEEE Personal Communications, Vol. 5, No. 3, pp. 60–73, June 1998.
J. Flinn and M. Satyanarayanan. “Energy-Aware Adaptation for Mobile Applications.” In Proceedings of ACM Symposium on Operating System Principles, December 1999, pp. 48–63.
K. I. Farkas, J. Flinn, G. Back, D. Grunwald, and J. M. Anderson. “Quantifying the Energy Consumption of a Pocket Computer and a Java Virtual Machine.” In Proceedings of SIGMETRICS, June 2000, pp. 252–263.
A. Vahdat, A. Lebeck, and C. S. Ellis, “Every Joule is precious: The case for revisiting operating system design for energy efficiency,” in Proc. 9th ACM SIGOPS European Workshop, Sept. 2000.
Y. H. Lu, L. Benini, and G. De Micheli. “Operating-System Directed Power Reduction.” In Proceedings of International Symposium on Low Power Electronics & Design, July 2000, pp. 37–42.
F. Bellosa. “The Benefits of Event-Driven Energy Accounting in Power-Sensitive Systems.” In Proceedings of ACM SIGOPS European Workshop, September 2000.
W. L. Wang, M. H. Tang, and M. H. Chen. “Software Architecture Analysis-A Case Study.” In Proceedings Annual International Computer Software & Applications Conference, August 1999, pp. 265–270.
S. J. Carrière, S. Woods, and R. Kazman. “Software Architectural Transformation.” In Proceedings of 6th Working Conf. Reverse Engineering, October 1999.
M. Cornero, F. Thoen, G. Goossens, and F. Curatelli. “Software Synthesis for Real-Time Information Processing Systems.” In P. Marwedel and G. Goossens (eds.), Code Generation for Embedded Processors, Chapter 15, pp. 260–296. Kluwer Academic Publishers, Boston, MA, 1994.
T. K. Tan, A. Raghunathan, and N. K. Jha. “Embedded Operating System Energy Analysis and Macro-Modeling.” in Proceedings of International Conference Computer Design, September 2002, pp. 515–522.
ARM Linux, http://www.arm.linux.org.uk/.
Intel Corporation, Intel StrongARM SA-1100 Microprocessor Developer’s Manual, Aug. 1999.
T. K. Tan, A. Raghunathan, and N. K. Jha. “EMSIM: An Energy Simulation Framework for an Embedded Operating System.” in Proceedings of International Symposium on Circuit & Systems, May 2002, pp. 464–467.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2003 Kluwer Academic Publishers
About this chapter
Cite this chapter
Tan, T.K., Raghunathan, A., Jha, N.K. (2003). Software Architectural Transformations. In: Jerraya, A.A., Yoo, S., Verkest, D., Wehn, N. (eds) Embedded Software for SoC. Springer, Boston, MA. https://doi.org/10.1007/0-306-48709-8_34
Download citation
DOI: https://doi.org/10.1007/0-306-48709-8_34
Publisher Name: Springer, Boston, MA
Print ISBN: 978-1-4020-7528-5
Online ISBN: 978-0-306-48709-5
eBook Packages: Springer Book Archive