Abstract
The development of high-performance optimizing compilers is an inherently hard problem for many reasons. Besides the complex task of generating efficient compiler heuristics, optimizations that are performed in a sequence may exhibit non-trivial interactions with other optimizations as well as with the underlying hardware. For modern systems, the situation becomes even worse. In addition to the challenges of finding promising optimization sequences, modern systems have to meet different requirements. In case of embedded real-time systems, not only the WCET but also the average-case execution time or the code size are critical. This chapter provides a complementary solution for the construction of high-performance compilers. It begins with a discussion of the general structure of an adaptive compiler and shows how the WCC is accordingly extended. To cope with the huge search space of compiler optimizations, an automatic approach for compiler optimization sequence exploration based on evolutionary multi-objective search algorithms is presented. The effectiveness of this approach is demonstrated on real-life benchmarks.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
F. Agakov, E. Bonilla, J. Cavazos et al., Using machine learning to focus iterative optimization, in Proceedings of the 4th Annual IEEE/ACM International Symposium on Code Generation and Optimization (CGO), New York, USA, March 2006, pp. 295–305
L. Almagor, K.D. Cooper, A. Grosul et al., Finding Effective Compilation Sequences, in Proceedings of the ACM SIGPLAN/SIGBED Conference on Languages, Compilers, and Tools for Embedded Systems (LCTES), Washington, USA, June 2004, pp. 231–239
S. Bashford, R. Leupers, Phase-coupled mapping of data flow graphs to irregular data paths. Des. Autom. Embed. Syst. 4(2), 1–50 (1999)
S. Bleuler, M. Laumanns, L. Thiele, E. Zitzler, PISA—a platform and programming language independent interface for search algorithms, in Proceedings of 2nd International Conference on Evolutionary Multi-Criterion Optimization (EMO), Faro, Portugal, April 2003, pp. 494–508
P. Briggs, Register allocation via graph coloring, PhD thesis, Rice University, Houston, USA, 1992
J. Cavazos, G. Fursin, F. Agakov et al., Rapidly selecting good compiler optimizations using performance counters, in Proceedings of the International Symposium on Code Generation and Optimization (CGO), San Jose, USA, March 2007, pp. 185–197
W.J. Conover, Practical Nonparametric Statistics (Wiley, New York, 1971)
K.D. Cooper, P.J. Schielke, D. Subramanian, Optimizing for reduced code space using genetic algorithms. ACM SIGPLAN Not. 34(7), 1–9 (1999)
K.D. Cooper, D. Subramanian, L. Torczon, Adaptive optimizing compilers for the 21st century. J. Supercomput. 23(1), 7–22 (2002)
K. Deb, S. Agrawal, A. Pratap, T. Meyarivan, A fast elitist non-dominated sorting genetic algorithm for multi-objective optimisation: NSGA-II, in Proceedings of the 6th International Conference on Parallel Problem Solving from Nature (PPSN), Paris, France, September 2000, pp. 849–858
G. Fursin, A heuristic search algorithm based on unified transformation framework, in Proceedings of the 2005 International Conference on Parallel Processing Workshops (ICPPW), Oslo, Norway, June 2005, pp. 137–144
GCC, GNU Compiler Collection, http://gcc.gnu.org/, March 2010
D.W. Goodwin, K.D. Wilken, Optimal and near-optimal global register allocation using 0–1 integer programming. Softw. Pract. Exp. 26(8), 929–965 (1996)
Y. Guo, D. Subramanian, K.D. Cooper, An effective local search algorithm for an adaptive compiler, in Proceedings of the 1st Workshop on Statistical and Machine Learning Approaches Applied to Architectures and Compilation (SMART), Ghent, Belgium, January 2007, pp. 7–11
M. Guthaus, J. Ringenberg, D. Ernst et al., MiBench: a free, commercially representative embedded benchmark suite, in Proceedings of the 4th IEEE International Workshop on Workload Characteristics (WWC), Austin, USA, December 2001, pp. 3–14
J.H. Holland, Adaptation in Natural and Artificial Systems (MIT Press, Cambridge, 1992)
K. Hoste, L. Eeckhout, COLE: Compiler Optimization Level Exploration, in Proceedings of the 6th Annual IEEE/ACM International Symposium on Code Generation and Optimization (CGO), Boston, USA, April 2008, pp. 165–174
K. Ishizaki, M. Takeuchi, K. Kawachiya et al., Effectiveness of cross-platform optimizations for a Java just-in-time compiler. ACM SIGPLAN Not. 38(11), 187–204 (2003)
J. Knowles, L. Thiele, E. Zitzler, A tutorial on the performance assessment of stochastic multiobjective optimizers, in Proceedings of 3rd International Conference on Evolutionary Multi-Criterion Optimization (EMO), Guanajuato, Mexico, March 2005
A. Konak, D.W. Coit, A.E. Smith, Multi-objective optimization using genetic algorithms: a tutorial. Reliab. Eng. Syst. Saf. 91(9), 992–1007 (2006)
P.A. Kulkarni, S.R. Hines, D. Whalley et al., Fast and efficient searches for effective optimization-phase sequences. Trans. Archit. Code Optim. 2(2), 165–198 (2005)
S. Künzli, S. Bleuler, L. Thiele et al., A computer engineering benchmark application for multiobjective optimizers, in Application of Multi-Objective Evolutionary Algorithms (World Scientific, Singapore, 2004), pp. 269–294
M. Laumanns, L. Thiele, E. Zitzler et al., Running time analysis of multi-objective evolutionary algorithms on a simple discrete optimization problem, in Proceedings of the 7th International Conference on Parallel Problem Solving from Nature (PPSN), Granada, Spain, September 2002, pp. 44–53
H. Leather, M. O’Boyle, B. Worton, Raced profiles: efficient selection of competing compiler optimizations, in Proceedings of the ACM SIGPLAN/SIGBED Conference on Languages, Compilers, and Tools for Embedded Systems (LCTES), Dublin, Ireland, June 2009, pp. 50–59
C. Lee, M. Potkonjak, W.H. Mangione-Smith, MediaBench: a tool for evaluating and synthesizing multimedia and communications systems, in Proceedings of the 30th Annual International Symposium on Microarchitecture (MICRO), Research Triangle Park, USA, December 1997, pp. 330–335
P. Lokuciejewski, S. Plazar, H. Falk, P. Marwedel, L. Thiele, Multi-objective exploration of compiler optimizations for real-time systems, in Proceedings of the 13th IEEE International Symposium on Object/Component/Service-oriented Real-time Distributed Computing (ISORC), Carmona, Spain, 2010, pp. 115–122
Mälardalen WCET Research Group. WCET Benchmarks, http://www.mrtc.mdh.se/projects/wcet, March 2010
G. Memik, W.H. Mangione-Smith, W. Hu, NetBench: a benchmarking suite for network processors, in Proceedings of the International Conference on Computer-Aided Design (ICCAD), San Jose, USA, November 2001, pp. 39–42
Y.N. Srikant, P. Shankar, The Compiler Design Handbook: Optimizations and Machine Code Generation, 2nd edn. (CRC Press, Boca Raton, 2007)
L. Thiele, S. Chakraborty, M. Gries et al., A framework for evaluating design tradeoffs in packet processing architectures, in Proceedings of the 39th Design Automation Conference (DAC), New Orleans, USA, June 2002, pp. 880–885
UTDSP Benchmark Suite. http://www.eecg.toronto.edu/~corinna/DSP/infrastructure/UTDSP.html, March 2010
D. Whitfield, M.L. Soffa, An approach to ordering optimizing transformations. ACM SIGPLAN Not. 25(3), 137–146 (1990)
M. Zhao, B. Childers, M.L. Soffa, Predicting the impact of optimizations for embedded systems, in Proceedings of the ACM SIGPLAN Conference on Languages, Compilers, and Tools for Embedded Systems (LCTES), San Diego, USA, June 2003, pp. 1–11
W. Zhao, P. Kulkarni, D. Whalley et al., Tuning the WCET of embedded applications, in Proceedings of the 10th IEEE Real-Time and Embedded Technology and Applications Symposium (RTAS), Toronto, Canada, May 2004, pp. 472–481
E. Zitzler, S. Künzli, Indicator-based selection in multiobjective search, in Proceedings of the 9th International Conference on Parallel Problem Solving from Nature (PPSN), Birmingham, UK, September 2004, pp. 832–842
E. Zitzler, L. Thiele, Multiobjective evolutionary algorithms: a comparative case study and the strength Pareto approach. IEEE Trans. Evol. Comput. 3(4), 257–271 (1999)
E. Zitzler, M. Laumanns, L. Thiele, SPEA2: improving the strength Pareto evolutionary algorithm for multiobjective optimization, in Proceedings of the Conference on Evolutionary Methods for Design, Optimisation and Control with Application to Industrial Problems (EUROGEN), Athens, Greece, September 2001, pp. 95–100
V. Zivojnović, J. MartÃnez Velarde, C. Schläger et al., DSPstone: a DSP-oriented benchmarking methodology, in Proceedings of the International Conference on Signal Processing and Technology (ICSPAT), Dallas, USA, January 1994, pp. 715–720
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
Copyright information
© 2011 Springer Science+Business Media B.V.
About this chapter
Cite this chapter
Lokuciejewski, P., Marwedel, P. (2011). Multi-objective Optimizations. In: Worst-Case Execution Time Aware Compilation Techniques for Real-Time Systems. Embedded Systems. Springer, Dordrecht. https://doi.org/10.1007/978-90-481-9929-7_7
Download citation
DOI: https://doi.org/10.1007/978-90-481-9929-7_7
Publisher Name: Springer, Dordrecht
Print ISBN: 978-90-481-9928-0
Online ISBN: 978-90-481-9929-7
eBook Packages: EngineeringEngineering (R0)