Information Technology Reference
In-Depth Information
if statement:
R: if() then R 1 else R 2
T(R,f) = T(R 1 ,f)+T(R 2 ,f)
N(R) = N(R 1 )+N(R 2 )
explicit loop structure:
R: loop()R 1
T(R,f) = T(R 1 ,f)
N(R) is profiled
call site:
R: call F()
T(R,f) = T(F,f)*N(R)/N(F)
N(R) is profiled
sequence of regions:
T(R,f) = { T(R i ,f): 1<=i<=n }
N(R) = N(R 1 ) = ... = N(R n )
R: sequence(R 1 ,...,R n )
procedure:
F: procedure F() R
T(R,f) = T( ,f)
N(R) = { (R i ): R i is a call site to F() }
FIGURE 3.1: Rules for deriving execution time and number of invocations for regions. Adapted
from [ 103 ].
Crusoe processors, they show concrete results for their compiler technique for total system power .
Hsu and Kremer report energy savings of up to 28% with performance degradation of less than
5% for the SPECfp95 benchmarks.
Analytic techniques : While heuristic techniques offer some benefits, subsequent work has
sought to refine these techniques toward optimal or bounded-near-optimal solutions. For ex-
ample, subsequent work by Saputra et al. provided an exact mixed-integer linear programming
(MILP) technique that can determine the appropriate ( V , f ) setting for each loop nest [ 197 ].
An MILP approach is required because discrete ( V , f ) settings lead to a non-convex optimiza-
tion space. Their technique reports improvements in energy savings compared to prior work.
However, it does not account for the energy penalties incurred by mode switching. Further-
more, the long runtimes of straightforward MILP approaches make their integration into a
compiler somewhat undesirable.
Work by Xie et al. expanded on these ideas in several ways [ 229 , 230 ]. First, they
expanded the MILP approach by including energy penalties for mode switches, providing a
much finer grain of program control, and enabling the use of multiple input data categories
to determine optimal settings. In addition, they determined efficient methods for solving the
MILP optimization problem with boundable distance from the true optimal solution. While
the time and energy savings offered by the MILP approach vary heavily depending on the
application performance goal and the ( V , f ) settings available, as much as 2X improvements
have been shown in some cases.
Search WWH ::




Custom Search