Title: Highlevel Software Energy Macromodeling
1High-level Software Energy Macro-modeling
- T. K. Tan and N. K. Jha
- Princeton University
- DAC01
2Introduction
- Paradigm shift towards software power estimation
technique - Previous work instruction-level modeling or
structural modeling of the underlying hardware
architecture - For large systems or design space exploration, we
need higher efficiency maintaining high accuracy
or fidelity - Macro-Modeling
3Related Work
- Instruction-level characterization
- Tiwari94
- Sciuto00, Sama00 perform measurements on a
limited subset of instructions - Chang00
- Simulation of the processor architecture
- Wattch, SimplePower
4Overview
- Two approaches to energy macro-modeling
- Complexity-based macro-modeling
- For data-intensive functions
- Profiling-based macro-modeling
- For control-intensive functions
- 95 accuracy
- Speedup
5General Approach
- Regression analysis
- Pj the parameters of the macro-model
- cj coefficients
- p the number of parameters
- Step 1 determine what parameters are needed Pj
- Step 2 find the corresponding coefficients cj
6How to find cj
- Step 1 n typical input data SI1,I2, , In
- Pi,j is the j-th parameter value evaluated for
input data Ii. - Step 2 obtain the energy consumption for every
Ii - Energy vector E(E1 E2 En)T
- Step 3 E PC C(c1 c2 cp)T
- Step 4 C PTP1PTE
- Speedup Tsimulate / Tmodel
7Complexity-based Energy Macro-modeling
- Many multimedia or data processing applications
make use of algorithms with known average-case
algorithmic complexities - Insertion sort
- E c1 c2s c3s2 ( s is the size of the array
) - Ease of use
- Complexity of the function may not be known
8Profiling-based Energy Macro-modeling
- Basic-block Profiling
- Tiwaris basic block profiling
- Regression-based macro-modeling
- bi is the execution counts
- Abstract away all the details
- Error can be large
9Profiling-based Energy Macro-modeling
- Correlation Profiling
- Correlation a consecutive sequence of events
- Used branch prediction
- Rjs are the counters for the correlation events
- Basic-block correlation
- Ball-Larus Path correlation
R
c
R
c
E
2
2
1
1
10Profiling-based Energy Macro-modeling
- Basic-block Correlations
- m-block correlation a sequence of execution of
m basic block
3-block correlations ABC, ABD, AFG, AFH, BCE,
BDE, CEB, DEB, EFH, EFG,
Ri,j is the count for the j-th 3-block
correlation in trace i
Less effective when the paths through the
functions are generally long
11Profiling-based Energy Macro-modeling
- Ball-Larus Path Correlations
- BL-path acyclic paths
- starting from either the ENTRY node or the nodes
which are the targets of one or more back edges - ending with either the EXIT or the nodes which
are the sources of one or more back edges.
Trace 1 ABCEBCEBDEBCEFHI Trace 2
ABCEBCEBCEBDEFGI gtTrace 1 BL7 BL9 BL10 BL12
Trace 2 BL7 BL9 BL9 BL13 3-BL-path
BL7-BL9-BL10, BL9-BL10-BL12 BL7-BL9-BL9,
BL9-BL9-BL13
12Profiling-based Energy Macro-modeling
- Selection of Profiling Methods
- Obtain q different energy macro-models using bb
corr. and r different models using BL-path corr. - Pareto-rank the qr different energy macro-models
based on accuracy and speedup. - Pareto-rank of other solutions which do not
dominate it - A solution dominates another solution if it is
better than the second one in both accuracy and
speedup.
13Experimental Results
- Complexity-based Energy Macro-model
14Experimental Results
- Profiling-based Energy Macro-model
- q5, r 5
15Experimental Results
- Profiling-based Energy Macro-model
16Conclusion
- Two kinds of macro-modeling techniques
- Complexity-based
- Use the algorithmic complexity
- Profiling-based
- Use bb corr. Or BL-path corr.
- Based on linear regression models
- Speedup over the low-level technique ranges from
one to five orders of magnitude