skip to main content
10.1145/996566.996599acmconferencesArticle/Chapter ViewAbstractPublication PagesdacConference Proceedingsconference-collections
Article

Automated energy/performance macromodeling of embedded software

Published:07 June 2004Publication History

ABSTRACT

Efficient energy and performance estimation of embedded software is a critical part of any system-level design flow. Macromodeling based estimation is an attempt to speed up estimation by exploiting reuse that is inherent in the design process. Macromodeling involves pre-characterizing reusable software components to construct high-level models, which express the execution time or energy consumption of a sub-program as a function of suitable parameters. During simulation, macromodels can be used instead of detailed hardware models, resulting in orders of magnitude simulation speedup. However, in order to realize this potential, significant challenges need to be overcome in both the generation and use of macromodels--- including how to identify the parameters to be used in the macromodel, how to define the template function to which the macromodel is fitted, em etc. This paper presents an automatic methodology to perform characterization-based high-level software macromodeling, which addresses the aforementioned issues. Given a sub-program to be macromodeled for execution time and/or energy consumption, the proposed methodology automates the steps of parameter identification, data collection through detailed simulation, macromodel template selection, and fitting. We propose a novel technique to identify potential macromodel parameters and perform data collection, which draws from the concept of bf data structure serialization used in distributed programming. We utilize bf symbolic regression techniques to concurrently filter out irrelevant macromodel parameters, construct a macromodel function, and derive the optimal coefficient values to minimize fitting error. Experiments with several realistic benchmarks suggest that the proposed methodology improves estimation accuracy and enables wide applicability of macromodeling to complex embedded software, while realizing its potential for estimation speedup. We describe a case study of how macromodeling can be used to rapidly explore algorithm-level energy tradeoffs, for the tt zlib data compression library.

References

  1. J. Rabaey and M. Pedram (Editors), Low Power Design Methodologies.hskip 1em plus 0.5em minus 0.4emrelax Kluwer Academic Publishers, Norwell, MA, 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. A. Raghunathan, N. K. Jha, and S. Dey, High-level Power Analysis and Optimization. Kluwer Academic Publishers, Norwell, MA, 1998. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. V. Zivojnvic, S. Tjiang, and H. Meyr, "Compiled simulation of programmable DSP architectures," in Proc. IEEE Wkshp. VLSI Signal Processing, May 1995, pp. 73--80. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. A. Nohl, G. Braun, O. Schliebusch, R. Leupers, H. Meyr, and A. Hoffmann, "A universal technique for fast and flexible instruction-set architecture simulation," in Proc. ACM/IEEE Design Automation Conf., June 2002, pp. 22--27. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. M. Reshadi, N. Bansal, P. Mishra, and N. Dutt, "An efficient retargetable framework for instruction-set simulation," in Proc. IEEE/ACM/IFIP Int. Conf. Hardware/Software Codesign & System Synthesis, Oct. 2003, pp. 13--18. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. V. S. P. Rapaka and D. Marculsecu, "Pre-charcterization free, efficient power/performance analysis of embedded and general purpose software applications," in Proc. Design Automation & Test Europe Conf., Mar. 2003, pp. 504--509. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. J. Liu, M. Lajolo, and A. Sangiovanni-Vincentelli, "Software timing analysis using HW/SW cosimulation and instruction set simulator," in Proc. Int. Wkshp. Hardware-Software Codesign, Mar. 1998, pp. 65--70. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. M. Lajolo, A. Raghunathan, and S. Dey, "Efficient power co-estimation techniques for system-on-chip design," in Proc. Design Automation & Test Europe Conf., Mar. 2000, pp. 27--34. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. D. Brooks, V. Tiwari, and M. Martonosi, "Wattch: A framework for architectural-level power analysis and optimization," in Proc. Int. Symp. Computer Architecture, June 2000, pp. 83--94. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. W. Ye, N. VijayKrishnan, M. Kandemir, and M. Irwin, "The design and use of SimplePower: A cycle accurate energy estimation tool," in Proc. ACM/IEEE Design Automation Conf., June 2000, pp. 340--345. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. G. Qu, N. Kawabe, K. Usami, and M. Potkonjak, "Function-level power estimation methodology for microprocessors," in Proc. ACM/IEEE Design Automation Conf., June 2000, pp. 810--813. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. T. K. Tan, A. Raghunathan, G. Lakshminarayana, and N. K. Jha, "High-level energy macro-modeling of embedded software," IEEE Trans. Computer-Aided Design, vol. 21, pp. 1037--1050, Sept. 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. C. Brandolese, W. Fornaciari, F. Salice, and D. Sciuto, "Library function timing characterization for source-level analysis," in Proc. Design Automation & Test Europe Conf., Mar. 2003, pp. 1132--1133. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. A. Sinha and A. P. Chandrakasan, "JouleTrack - A web based tool for software energy profiling," in Proc. ACM/IEEE Design Automation Conf., June 2001, pp. 220--225. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. T. K. Tan, A. Raghunathan, and N. K. Jha, "A simulation framework for energy-consumption analysis of OS-driven embedded applications," IEEE Trans. Computer-Aided Design, vol. 22, pp. 1284--1294, Sept. 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. J. Bloomer, Power Programming with RPC. O'Reilly and Associates, Inc., Sebastopol, CA, 1992. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. A. V. Aho, R. Sethi, and J. D. Ullman, Compilers: Principles, Techniques and Tools. Addison Wesley Publishing Company, Reading MA, 1986. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. J. R. Koza, On the Programming of Computers by Natural Selection.hskip 1em plus 0.5em minus 0.4emrelax The MIT Press, Cambridge MA, 1992. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. G. R. Raidl, "A hybrid GP approach for numerically robust symbolic regression," in Proc. Annual Conf. Genetic Programming, July 1998, pp. 323--328.Google ScholarGoogle Scholar
  20. P. Long, "Metre v2.3." {Online}. Available: urlhttp://www.lysator.liu.se/c/metre-v2-3.htmlBIBentrySTDinterwordspacingGoogle ScholarGoogle Scholar
  21. A. Fraser and T. Weinbrenner, "The Genetic Programming Kernel." {Online}. Available: http://www.cs.ucl.ac.uk/staff/W.Langdon/ftp/weinbenner/gp.htmlGoogle ScholarGoogle Scholar
  22. C. Bauer, A. Frink, and R. Freckel, "GiNaC is not a CAS," http://www.ginac.de.Google ScholarGoogle Scholar
  23. The GNU Free Software Foundation, "The GNU Scientific Library," http://www.gnu.org/software/gsl/.Google ScholarGoogle Scholar
  24. K. Clarkson, "2dch.c." {Online}. Available: http://www.math.niu.edu/ rusin/known-math/96/convhulGoogle ScholarGoogle Scholar
  25. B. Chapman and W. Naylor, "wnlib." {Online}. Available: urlhttp://www.willnaylor.com/wnlib.htmlGoogle ScholarGoogle Scholar
  26. R. Anderson, "Bipm." {Online}. Available: urlhttp://www.cs.sunysb.edu/ algorith/implement/bipm/distrib/Google ScholarGoogle Scholar
  27. W. Qin, "The SimIt-ARM simulator." {Online}. Available: urlhttp://www.ee.princeton.edu/~wqin/armsim.htmGoogle ScholarGoogle Scholar
  28. J. Flinn, K. I. Farkas, and J. Anderson, "Power and energy characterization of the ITSY pocket computer (version 1.5)," Compaq Western Research Laboratory, Tech. Rep., Feb. 2000.Google ScholarGoogle Scholar
  29. J-L Gailly and M. Adler, "zlib-1.1.14." {Online}. Available: urlhttp://www.gzip.org/zlib/Google ScholarGoogle Scholar

Index Terms

  1. Automated energy/performance macromodeling of embedded software

          Recommendations

          Reviews

          James Edward Tomayko

          This paper visits embedded software from two perspectives: reuse and energy consumption. The former is frequently done, and the latter is rarer. The authors describe a tool that macromodels embedded software automatically. Size estimates (revealing complexity) are paired with reuse. The authors make the point that most embedded code is reused, which is good, since its growth is greater than Moore's Law. This tool makes it simpler to both reuse code, and figure out energy consumption and estimates. There is a certain language independence here as well. This paper is best suited for those experienced in this area.

          Access critical reviews of Computing literature here

          Become a reviewer for Computing Reviews.

          Comments

          Login options

          Check if you have access through your login credentials or your institution to get full access on this article.

          Sign in
          • Published in

            cover image ACM Conferences
            DAC '04: Proceedings of the 41st annual Design Automation Conference
            June 2004
            1002 pages
            ISBN:1581138288
            DOI:10.1145/996566
            • General Chair:
            • Sharad Malik,
            • Program Chairs:
            • Limor Fix,
            • Andrew B. Kahng

            Copyright © 2004 ACM

            Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

            Publisher

            Association for Computing Machinery

            New York, NY, United States

            Publication History

            • Published: 7 June 2004

            Permissions

            Request permissions about this article.

            Request Permissions

            Check for updates

            Qualifiers

            • Article

            Acceptance Rates

            Overall Acceptance Rate1,770of5,499submissions,32%

            Upcoming Conference

            DAC '24
            61st ACM/IEEE Design Automation Conference
            June 23 - 27, 2024
            San Francisco , CA , USA

          PDF Format

          View or Download as a PDF file.

          PDF

          eReader

          View online with eReader.

          eReader