Skip to main content

Software Architectural Transformations

A New Approach to Low Energy Embedded Software

  • Chapter
Embedded Software for SoC

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 189.00
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 249.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book
USD 249.99
Price excludes VAT (USA)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. J. Rabaey and M. Pedram (eds.). Low Power Design Methodologies, Kluwer Academic Publishers, Norwell, MA, 1996.

    Google Scholar 

  2. L. Benini and G. De Micheli, Dynamic Power Management: Design Techniques and CAD Tools, Kluwer Academic Publishers, Norwell, MA, 1997.

    Google Scholar 

  3. A. Raghunathan, N. K. Jha, and S. Dey. High-level Power Analysis and Optimization, Kluwer Academic Publishers, Norwell, MA, 1998.

    Google Scholar 

  4. 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.

    Google Scholar 

  5. H. Gomaa. Software Design Methods for Real-Time Systems, Addison-Wesley, Boston, MA, 1993.

    Google Scholar 

  6. 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.

    Google Scholar 

  7. 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.

    Google Scholar 

  8. 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.

    Google Scholar 

  9. 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.

    Google Scholar 

  10. 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.

    Google Scholar 

  11. 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.

    Google Scholar 

  12. 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.

    Article  Google Scholar 

  13. 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.

    Google Scholar 

  14. 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.

    Google Scholar 

  15. 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.

    Google Scholar 

  16. 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.

    Google Scholar 

  17. F. Bellosa. “The Benefits of Event-Driven Energy Accounting in Power-Sensitive Systems.” In Proceedings of ACM SIGOPS European Workshop, September 2000.

    Google Scholar 

  18. 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.

    Google Scholar 

  19. S. J. Carrière, S. Woods, and R. Kazman. “Software Architectural Transformation.” In Proceedings of 6th Working Conf. Reverse Engineering, October 1999.

    Google Scholar 

  20. 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.

    Google Scholar 

  21. 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.

    Google Scholar 

  22. ARM Linux, http://www.arm.linux.org.uk/.

  23. Intel Corporation, Intel StrongARM SA-1100 Microprocessor Developer’s Manual, Aug. 1999.

    Google Scholar 

  24. 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.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints 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

Publish with us

Policies and ethics