Publication | Closed Access
Combining Worst-Case Timing Models, Loop Unrolling, and Static Loop Analysis for WCET Minimization
20
Citations
23
References
2009
Year
Unknown Venue
Mathematical ProgrammingEngineeringCompiler TechnologyComputer ArchitectureSoftware EngineeringComputational ComplexityWcet MinimizationSoftware AnalysisPerformance IssueOptimization PotentialTiming AnalysisProgram LoopsSystems EngineeringParallel ComputingCompilersDynamic CompilationCompiler SupportComputer EngineeringWorst-case Timing ModelsComputer ScienceProgram OptimizationStatic Loop AnalysisPerformance Analysis ToolOptimizing CompilerSignal ProcessingAggressive LoopProgram AnalysisParallel ProgrammingReal-time SystemsSystem Performance Analysis
Program loops are notorious for their optimization potential on modern high-performance architectures. Compilers aim at their aggressive transformation to achieve large improvements of the program performance. In particular, the optimization loop unrolling has shown in the past decades to be highly effective achieving significant increases of the average-case performance. In this paper, we present loop unrolling that is tailored towards real-time systems. Our novel optimization is driven by worst-case execution time (WCET) information to effectively minimize the program's worst-case behavior. To exploit maximal optimization potential, the determination of a suitable unrolling factor is based on precise loop iteration counts provided by a static loop analysis. In addition,our heuristics avoid adverse effects of unrolling which result from instruction cache overflows and the generation of additional spill code. Results on 45 real-life benchmarks demonstrate that aggressive loop unrolling can yield WCET reductions of up to 13.7% over simple, naive approaches employed by many production compilers.
| Year | Citations | |
|---|---|---|
Page 1
Page 1