Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
article
Free access

Softexplorer: estimating and optimizing the power and energy consumption of a C program for DSP applications

Published: 01 January 2005 Publication History

Abstract

We present a method to estimate the power and energy consumption of an algorithm directly from the C program. Three models are involved: a model for the targeted processor (the power model), a model for the algorithm, and a model for the compiler (the prediction model). A functional-level power analysis is performed to obtain the power model. Five power models have been developed so far, for different architectures, from the simple RISC ARM7 to the very complex VLIW DSP TI C64. Important phenomena are taken into account, like cache misses, pipeline stalls, and internal/external memory accesses. The model for the algorithm expresses the algorithm's influence over the processor's activity. The prediction model represents the behavior of the compiler, and how it will allow the algorithm to use the processor's resources. The data mapping is considered at that stage. We have developed a tool, SoftExplorer, which performs estimation both at the C-level and the assembly level. Estimations are performed on real-life digital signal processing applications with average errors of 4.2% at the C-level and 1.8% at the assembly level. We present how SoftExplorer can be used to optimize the consumption of an application. We first show how to find the best data mapping for an algorithm. Then we demonstrate a method to choose the processor and its operating frequency in order to minimize the global energy consumption.

References

[1]
{1} T. Hauser, "Convergence of two different worlds," Electronic Design Europe, February 2003.
[2]
{2} H. Baaker, "Powering up the mobile phone," Speech Technology Journal, November/December 2001.
[3]
{3} S. Cordova, "Power management solutions for multimedia terminals," in Proc. Batteries 2001 Conference, Paris, France, April 2001.
[4]
{4} M. Valluri and L. John, "Is Compiling for performance == compiling for power?" in Proc. the 5th Annual Workshop on Interaction between Compilers and Computer Architectures INTERACT-5, Monterrey, Mexico, January 2001.
[5]
{5} A. Fraboulet and A. Mignotte, "Source code loop transformations for memory hierarchy optimizations," in Proc. the Workshop on Memory Access Decoupled Architecture MEDEA, International Conference on Parallel Architectures and Compilation Techniques (PACT '01), pp. 8-12, Barcelona, Spain, September 2002.
[6]
{6} S. Singhai and K. S. McKinley, "A parameterized loop fusion algorithm for improving parallelism and cache locality," The Computer Journal, vol. 40, no. 6, pp. 340-355, 1997.
[7]
{7} J. Ramanujam, J. Hong, M. Kandemir, and A. Narayan, "Reducing memory requirements of nested loops for embedded systems," in Proc. 38th IEEE Conference on Design Automation (DAC '01), pp. 359-364, Las Vegas, Nev, USA, June 2001.
[8]
{8} T. V. Achteren, G. Deconinck, F. Catthoor, and R. Lauwereins, "Data reuse exploration techniques for loop-dominated applications," in Proc. IEEE Conference and Exhibition on Design, Automation and Test in Europe (DATE '02), pp. 428-435, Paris, France, March 2002.
[9]
{9} L. Benini and G. De Micheli, "System-level power optimization: techniques and tools," ACM Transactions on Design Automation of Electronic Systems, vol. 5, no. 2, 2000.
[10]
{10} C. H. Gebotys, "Utilizing memory bandwidth in DSP embedded processors," in Proc. 38th IEEE Conference on Design Automation (DAC '01), pp. 347-352, Las Vegas, Nev, USA, June 2001.
[11]
{11} C. Kulkarni, C. Ghez, M. Miranda, F. Catthoor, and H. De Man, "Cache conscious data layout organization for embedded multimedia applications," in Proc. IEEE Conference and Exhibition on Design, Automation and Test in Europe (DATE '01), pp. 686-691, Munich, Germany, March 2001.
[12]
{12} P. Panda, F. Catthoor, N. D. Dutt, et al., "Data and memory optimization techniques for embedded systems," ACM Transactions on Design Automation of Electronic Systems, vol. 6, no. 2, pp. 149-206, 2001.
[13]
{13} F. Catthoor, K. Danckaert, C. Kulkarni, and T. Omns, Data Transfer and Storage (DTS) Architecture Issues and Exploration in Multimedia Processors, Marcel Dekker, New York, NY, USA, 2000.
[14]
{14} W.-T. Shiue, S. Udayanarayanan, and C. Chakrabarti, "Data memory design and exploration for low-power embedded systems," ACM Transactions on Design Automation of Electronic Systems, vol. 6, no. 4, pp. 553-568, 2001.
[15]
{15} Mentor Graphics Corporation: The EDA Technology Leader, {Online}. Available: http://www.mentor.com/.
[16]
{16} Synopsys Corporation: EDA Solutions and Services, {Online}. Available: http://www.synopsys.com/.
[17]
{17} D. Brooks, V. Tiwari, and M. Martonosi, "Wattch: a framework for architectural-level power analysis and optimizations," in Proc. 27th International Symposium on Computer Architecture (ISCA '00), pp. 83-94, Vancouver, BC, Canada, June 2000.
[18]
{18} M. J. Irwin, M. Kandemir, N. Vijaykrishnan, and W. Ye, "The design and use of simple power: a cycle accurate energy estimation tool," in Proc. 37th IEEE Conference on Design Automation (DAC '00), pp. 340-345, Los Angeles, Calif, USA, June 2000.
[19]
{19} D. Brooks, P. Bose, and M. Martonosi, "Power-performance simulation: design and validation strategies," in ACM SIGMETRICS Performance Evaluation Review, 2004.
[20]
{20} D. Brooks, P. Bose, V. Srinivasan, M. K. Gschwind, P. G. Emma, and M. G. Rosenfield, "New methodology for early-stage, microarchitecture-level power-performance analysis of microprocessors," IBM Journal of Research and Development, vol. 47, no. 5/6, 2003.
[21]
{21} V. Zyuban, D. Brooks, V. Srinivasan, et al., "Integrated analysis of power and performance for pipelined microprocessors," IEEE Trans. Comput., vol. 53, no. 8, pp. 1004-1016, 2004.
[22]
{22} J. S. Hu, N. Vijaykrishnan, S. Kim, M. Kandemir, and M. J. Irwin, "Scheduling reusable instructions for power reduction," in Proc. IEEE Conference and Exhibition on Design, Automation and Test in Europe (DATE '04), vol. 1, pp. 148-153, Paris, France, February 2004.
[23]
{23} V. Tiwari, S. Malik, and A. Wolfe, "Power analysis of embedded software: a first step towards software power minimization," IEEE Trans. VLSI Syst., vol. 2, no. 4, pp. 437-445, 1994.
[24]
{24} B. Klass, D. Thomas, H. Schmit, and D. Nagle, "Modeling inter-instruction energy effects in a digital signal processor," in Proc. the Power Driven Microarchitecture Workshop in International Symposium on Computer Architecture (ISCA '98), Barcelona, Spain, 1998.
[25]
{25} S. Steinke, M. Knauer, L. Wehmeyer, and P. Marwedel, "An accurate and fine grain instruction-level energy model supporting software optimizations," in Proc. IEEE International Workshop on Power And Timing Modeling, Optimization and Simulation (PATMOS '01), pp. 3.2.1-3.2.10, Yverdon-Les-Bains, Switzerland, September 2001.
[26]
{26} G. Qu, N. Kawabe, K. Usami, and M. Potkonjak, "Function-level power estimation methodology for microprocessors," in Proc. 37th IEEE Conference on Design Automation (DAC '00), pp. 810-813, Los Angeles, Calif, USA, June 2000.
[27]
{27} L. Benini, D. Bruni, M. Chinosi, C. Silvano, V. Zaccaria, and R. Zafalon, "A Power modeling and estimation framework for VLIW-based embedded systems," in Proc. IEEE International Workshop on Power And Timing Modeling, Optimization and Simulation (PATMOS '01), pp. 2.3.1-2.3.10, Yverdon-les-Bains, Switzerland, September 2001.
[28]
{28} C. H. Gebotys and R. J. Gebotys, "An empirical comparison of algorithmic, instruction, and architectural power prediction models for high performance embedded DSP processors," in Proceedings of International Symposium on Low Power Electronics and Design (ISLPED '98), pp. 121-123, Monterey, Calif, USA, 1998.
[29]
{29} J. Laurent, N. Julien, E. Senn, and E. Martin, "Functional level power analysis: an efficient approach for modeling the power consumption of complex processors," in Proc. IEEE Conference and Exhibition on Design, Automation and Test in Europe (DATE '04), vol. 1, pp. 666-667, Paris, France, February 2004.
[30]
{30} N. Julien, J. Laurent, E. Senn, and E. Martin, "Power consumption modeling and characterization of the TI C6201," IEEE Micro, vol. 23, no. 5, pp. 40-49, 2003, Special Issue on Power- and Complexity-Aware Design.
[31]
{31} J. Laurent, E. Senn, N. Julien, and E. Martin, "High level energy estimation for DSP systems," in Proc. IEEE International Workshop on Power And Timing Modeling, Optimization and Simulation (PATMOS '01), pp. 311-316, Yverdon-les-Bains, Switzerland, September 2001.
[32]
{32} TMS320C6x User's Guide, Texas Instruments Inc., 1999.
[33]
{33} A. Sinha and A. P. Chandrakasan, "JouleTrack - A web based tool for software energy profiling," in Proc. 38th IEEE Conference on Design Automation (DAC '01), pp. 220-225, Las Vegas, Nev, USA, June 2001.
[34]
{34} A. Bona, M. Sami, D. Sciuto, C. Silvano, V. Zaccaria, and R. Zafalon, "Energy estimation and optimization of embedded VLIW processors based on instruction scheduling," in Proc. 39th IEEE Design Automation Conference (DAC '02), pp. 886-891, New Orleans, La, USA, June 2002.
[35]
{35} E. Senn, N. Julien, J. Laurent, and E. Martin, "Power estimation of a C algorithm on a VLIW processor," in Proceedings of Workshop on Complexity-Effective Design (WCED '02) (in conjunction with the 29th Annual International Symposium on Computer Architecture (ISCA '02)), Anchorage, Alaska, USA, May 2002.

Cited By

View all
  • (2017)Future of mobile software for smartphones and dronesProceedings of the 4th International Conference on Mobile Software Engineering and Systems10.1109/MOBILESoft.2017.1(1-12)Online publication date: 20-May-2017
  • (2011)A precise high-level power consumption model for embedded systems softwareEURASIP Journal on Embedded Systems10.1155/2011/4808052011(1-14)Online publication date: 1-Jan-2011

Recommendations

Comments

Information & Contributors

Information

Published In

Publisher

Hindawi Limited

London, United Kingdom

Publication History

Published: 01 January 2005

Author Tags

  1. C program
  2. DSP applications
  3. energy
  4. estimation
  5. optimization
  6. power

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)15
  • Downloads (Last 6 weeks)6
Reflects downloads up to 06 Oct 2024

Other Metrics

Citations

Cited By

View all
  • (2017)Future of mobile software for smartphones and dronesProceedings of the 4th International Conference on Mobile Software Engineering and Systems10.1109/MOBILESoft.2017.1(1-12)Online publication date: 20-May-2017
  • (2011)A precise high-level power consumption model for embedded systems softwareEURASIP Journal on Embedded Systems10.1155/2011/4808052011(1-14)Online publication date: 1-Jan-2011

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Get Access

Login options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media