[176928]
Title: Approximating Pareto optimal compiler optimization sequences-a trade-off between WCET, ACET and code size.
Written by: Paul Lokuciejewski, Sascha Plazar, Heiko Falk, Peter Marwedel and Lothar Thiele
in: <em>Software: Practice and Experience</em>. November/December (2011).
Volume: <strong>41</strong>. Number: (12),
on pages: 1437-1458
Chapter:
Editor:
Publisher: John Wiley & Sons:
Series: 20111112-spe-lokuciejewski.pdf
Address:
Edition:
ISBN: 10.1002/spe.1079
how published: 11-25 LPF+11 SPE
Organization:
School:
Institution:
Type:
DOI:
URL:
ARXIVID:
PMID:

[BibTex]

Note: hfalk, ESD, WCC

Abstract: With the growing complexity of embedded systems software, high code quality can only be achieved using a compiler. Sophisticated compilers provide a vast spectrum of various optimizations to improve code aggressively w.r.t. different objective functions, e.g. average-case execution time (ACET) or code size. Owing to the complex interactions between the optimizations, the choice for a promising sequence of code transformations is not trivial. Compiler developers address this problem by proposing standard optimization levels, e.g. O3 or Os. However, previous studies have shown that these standard levels often miss optimization potential or might even result in performance degradation. In this paper, we propose the first adaptive worst-case execution time (WCET)-aware compiler framework for an automatic search of compiler optimization sequences that yield highly optimized code. Besides the objective functions ACET and code size, we consider the WCET which is a crucial parameter for real-time systems. To find suitable trade-offs between these objectives, stochastic evolutionary multi-objective algorithms identifying Pareto optimal solutions for the objectives WCET/ACET and WCET/code size are exploited. A comparison based on statistical performance assessments is performed that helps to determine the most suitable multi-objective optimizer. The effectiveness of our approach is demonstrated on real-life benchmarks showing that standard optimization levels can be significantly outperformed.