Skip to main content

Part of the book series: Embedded Systems ((EMSY))

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 129.00
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 169.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book
USD 169.99
Price excludes VAT (USA)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

References

  1. 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

    Google Scholar 

  2. 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

    Google Scholar 

  3. S. Bashford, R. Leupers, Phase-coupled mapping of data flow graphs to irregular data paths. Des. Autom. Embed. Syst. 4(2), 1–50 (1999)

    Article  Google Scholar 

  4. 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

    Google Scholar 

  5. P. Briggs, Register allocation via graph coloring, PhD thesis, Rice University, Houston, USA, 1992

    Google Scholar 

  6. 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

    Google Scholar 

  7. W.J. Conover, Practical Nonparametric Statistics (Wiley, New York, 1971)

    Google Scholar 

  8. K.D. Cooper, P.J. Schielke, D. Subramanian, Optimizing for reduced code space using genetic algorithms. ACM SIGPLAN Not. 34(7), 1–9 (1999)

    Article  Google Scholar 

  9. K.D. Cooper, D. Subramanian, L. Torczon, Adaptive optimizing compilers for the 21st century. J. Supercomput. 23(1), 7–22 (2002)

    Article  MATH  Google Scholar 

  10. 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

    Google Scholar 

  11. 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

    Google Scholar 

  12. GCC, GNU Compiler Collection, http://gcc.gnu.org/, March 2010

  13. 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)

    Article  Google Scholar 

  14. 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

    Google Scholar 

  15. 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

    Google Scholar 

  16. J.H. Holland, Adaptation in Natural and Artificial Systems (MIT Press, Cambridge, 1992)

    Google Scholar 

  17. 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

    Google Scholar 

  18. 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)

    Article  Google Scholar 

  19. 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

    Google Scholar 

  20. 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)

    Article  Google Scholar 

  21. 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)

    Article  Google Scholar 

  22. 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

    Chapter  Google Scholar 

  23. 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

    Google Scholar 

  24. 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

    Google Scholar 

  25. 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

    Google Scholar 

  26. 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

    Google Scholar 

  27. Mälardalen WCET Research Group. WCET Benchmarks, http://www.mrtc.mdh.se/projects/wcet, March 2010

  28. 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

    Google Scholar 

  29. Y.N. Srikant, P. Shankar, The Compiler Design Handbook: Optimizations and Machine Code Generation, 2nd edn. (CRC Press, Boca Raton, 2007)

    Book  Google Scholar 

  30. 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

    Google Scholar 

  31. UTDSP Benchmark Suite. http://www.eecg.toronto.edu/~corinna/DSP/infrastructure/UTDSP.html, March 2010

  32. D. Whitfield, M.L. Soffa, An approach to ordering optimizing transformations. ACM SIGPLAN Not. 25(3), 137–146 (1990)

    Article  Google Scholar 

  33. 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

    Google Scholar 

  34. 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

    Google Scholar 

  35. 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

    Google Scholar 

  36. 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)

    Article  Google Scholar 

  37. 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

    Google Scholar 

  38. 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

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Paul Lokuciejewski .

Rights and permissions

Reprints 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)

Publish with us

Policies and ethics