Special Issue Paper
Approximating Pareto optimal compiler optimization sequences—a trade-off between WCET, ACET and code size
Article first published online: 23 MAY 2011
Copyright © 2011 John Wiley & Sons, Ltd.
Software: Practice and Experience
Special Issue: Component and service-oriented distributed embedded real-time systems: Extended papers from ISORC 2010
Volume 41, Issue 12, pages 1437–1458, November/December 2011
How to Cite
Lokuciejewski, P., Plazar, S., Falk, H., Marwedel, P. and Thiele, L. (2011), Approximating Pareto optimal compiler optimization sequences—a trade-off between WCET, ACET and code size. Softw: Pract. Exper., 41: 1437–1458. doi: 10.1002/spe.1079
- Issue published online: 20 OCT 2011
- Article first published online: 23 MAY 2011
- Manuscript Accepted: 21 FEB 2011
- Manuscript Revised: 22 DEC 2010
- Manuscript Received: 11 JUL 2010
- Pareto optimal
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.