Accelerating WCET-driven optimizations by the invariant path paradigm: a case study of loop unswitching

  • Authors:
  • Paul Lokuciejewski;Fatih Gedikli;Peter Marwedel

  • Affiliations:
  • TU Dortmund University, Dortmund, Germany;TU Dortmund University, Dortmund, Germany;TU Dortmund University, Dortmund, Germany

  • Venue:
  • Proceedings of th 12th International Workshop on Software and Compilers for Embedded Systems
  • Year:
  • 2009

Quantified Score

Hi-index 0.00

Visualization

Abstract

The worst-case execution time (WCET) being the upper bound of the maximum execution time corresponds to the longest path through the program's control flow graph. Its reduction is the objective of a WCET optimization. Unlike average-case execution time compiler optimizations which consider a static (most frequently executed) path, the longest path is variable since its optimization might result in another path becoming the effective longest path. To keep path information valid, WCET optimizations typically perform a time-consuming static WCET analysis after each code modification to ensure that subsequent optimization steps operate on the critical path. However, a code modification does not always lead to a path switch, making many WCET analyses superfluous. To cope with this problem, we propose a new paradigm called Invariant Path which eliminates the pessimism by indicating whether a path update is mandatory. To demonstrate the paradigm's practical use, we developed a novel optimization called WCET-driven Loop Unswitching which exploits the Invariant Path information. In a case study, our optimization reduced the WCET of real-world benchmarks by up to 17.4%, while exploiting the Invariant Path paradigm led to a reduction of the optimization time by 57.5% on average.