Influence of procedure cloning on WCET prediction

  • Authors:
  • Paul Lokuciejewski;Heiko Falk;Martin Schwarzer;Peter Marwedel;Henrik Theiling

  • Affiliations:
  • University of Dortmund, Dortmund, Germany;University of Dortmund, Dortmund, Germany;University of Dortmund, Dortmund, Germany;Embedded Systems Groups, Dortmund, Germany;AbsInt GmbH, Saarbruecken, Germany

  • Venue:
  • CODES+ISSS '07 Proceedings of the 5th IEEE/ACM international conference on Hardware/software codesign and system synthesis
  • Year:
  • 2007

Quantified Score

Hi-index 0.00

Visualization

Abstract

For the worst-case execution time (WCET) analysis, especially loops are an inherent source of unpredictability and loss of precision. This is caused by the difficulty to obtain safe and tight information on the number of iterations executed by a loop in the worst case. In particular, data-dependent loops whose iteration counts depend on function parameters are extremely difficult to analyze precisely. Procedure cloning helps by making such data-dependent loops explicit within the source code, thus making them accessible for high-precision WCET analyses. This paper presents the effect of procedure cloning applied at the source-code level on worst-case execution time. Theoptimization generates specialized versions of functionsbeing called with constant values as arguments. In standardliterature, it is used to enable further optimizations like constant propagation within functions and to reduce calling overhead. We show that procedure cloning for WCET minimization leads to significant improvements. Reductions of the WCET from 12% up to 95% were measured for real-life benchmarks. These results demonstrate that procedure cloning improves analyzability and predictability of real-time applications dramatically. In contrast, average-case performance as the criterion procedure cloning was developed for is reduced by only 3% at most. Our results also show that these WCET reductions only implied small overhead during WCET analysis.