Title :
Automated Energy/Performance Macromodeling of Embedded Software
Author :
Muttreja, Anish ; Raghunathan, Anand ; Ravi, Srivaths ; Jha, Niraj K.
Author_Institution :
Dept. of Electr. Eng., Princeton Univ., NJ
fDate :
3/1/2007 12:00:00 AM
Abstract :
This paper presents an automatic methodology to perform characterization-based high-level software macromodeling. Macromodeling-based estimation can be used to speed up simulation-based software-performance/energy estimation. High-level software macromodels, which are significantly faster to evaluate than detailed models of the target hardware platform, can be used instead of the latter during simulation, 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, etc. The authors´ methodology attempts to address the aforementioned issues. Given a subprogram 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. The authors propose a novel technique to identify potential macromodel parameters and perform data collection, which draws from the concept of data-structure serialization used in distributed programming. They utilize 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
Keywords :
distributed programming; embedded systems; genetic algorithms; software performance evaluation; automated energy; data collection; data structure serialization; distributed programming; embedded software; energy estimation; genetic programming; hardware platform; high level software; macromodel function; optimal coefficient values; orders-of-magnitude simulation; parameter identification; performance macromodeling; processor simulation; software performance; symbolic regression; Costs; Embedded software; Energy consumption; Filters; Hardware; Parameter estimation; Software design; Software libraries; Software performance; Software reusability; Energy estimation; genetic programming; processor simulation; software macromodel; symbolic regression;
Journal_Title :
Computer-Aided Design of Integrated Circuits and Systems, IEEE Transactions on
DOI :
10.1109/TCAD.2006.883914