Approximating Pareto optimal compiler optimization sequences—a trade‐off between WCET, ACET and code size
Paul Lokuciejewski, Sascha Plazar, Heiko Falk, Peter Marwedel, Lothar Thiele
Abstract
Paul Lokuciejewski, Sascha Plazar, Heiko Falk, Peter Marwedel, Lothar Thiele
Abstract
SUMMARY 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. Copyright © 2011 John Wiley & Sons, Ltd.
OpenAlex reports 19 citations for this work. Citation counts describe recorded attention and do not establish research quality.
A contribution statement is not available in the OpenAlex record.
Method details are not available in the OpenAlex metadata.
Findings are not separately available in the OpenAlex metadata.
Limitations are not available in the OpenAlex metadata.
Application details are not available in the OpenAlex metadata.
SUMMARY 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. Copyright © 2011 John Wiley & Sons, Ltd.
Key concepts: Compiler, Computer science, Optimizing compiler, Dead code elimination, Program optimization, Code (set theory), Parallel computing, Pareto optimal