Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
article

Approximating Pareto optimal compiler optimization sequences—a trade-off between WCET, ACET and code size

Published: 01 November 2011 Publication History
  • Get Citation Alerts
  • 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. Copyright © 2011 John Wiley & Sons, Ltd.

    References

    [1]
    Kulkarni PA, Hines SR, Whalley DB, Hiser JD, Davidson JW, Jones DL. Fast and efficient searches for effective optimization-phase sequences. Transactions on Architecture and Code Optimization 2005; 2(2):165-198.
    [2]
    Leather H, O'Boyle M, Worton B. Raced profiles: Efficient selection of competing compiler optimizations. Proceedings of the ACM SIGPLAN/SIGBED Conference on Languages, Compilers, and Tools for Embedded Systems (LCTES), Dublin, Ireland, 2009; 50-59.
    [3]
    Agakov F, Bonilla E, Cavazos J, Franke B, Fursin G, O'Boyle MFP, Thomson J, Toussaint M, Williams CKI. Using machine learning to focus iterative optimization. Proceedings of the Fourth Annual IEEE/ACM International Symposium on Code Generation and Optimization (CGO), New York, U. S. A., 2006; 295-305.
    [4]
    Cooper KD, Schielke PJ, Subramanian D. Optimizing for reduced code space using genetic algorithms. ACM SIGPLAN Notes 1999; 34(7):1-9.
    [5]
    Lokuciejewski P, Plazar S, Falk H, Marwedel P, Thiele L. Multi-objective exploration of compiler optirnizations for real-time systems. Proceedings of the 13th IEEE International Symposium on Object/Component/Service-oriented Real-time Distributed Computing (ISORC), Carmona, Spain, 2010; 115-122.
    [6]
    Almagor L, Cooper KD, Grosul A, Harvey TJ, Reeves SW, Subramanian D, Torczon L, Waterman T. Finding effective compilation sequences. Proceedings of the ACM SIGPLAN/SIGBED Conference on Languages, Compilers, and Tools for Embedded Systems (LCTES), Washington, U. S. A., 2004; 231-239.
    [7]
    Zhao M, Childers B, Soffa ML. Predicting the impact of optimizations for embedded systems. Proceedings of the ACM SIGPLAN Conference on Languages, Compilers, and Tools for Embedded Systems (LCTES), San Diego, U. S. A., 2003; 1-11.
    [8]
    Hoste K, Eeckhout L. COLE: Compiler optimization level exploration. Proceedings of the Sixth Annual IEEE/ACM International Symposium on Code Generation and Optimization (CGO), Boston, U. S. A., 2008; 165-174.
    [9]
    Campoy AM, Puaut I, Ivars AP, Mataix JVB. Cache contents selection for statically-locked instruction caches: An algorithm comparison. Proceedings of ECRTS, Palma de Mallorca, Spain, 2005; 49-56.
    [10]
    Vera X, Lisper B, Xue J. Data cache locking for higher program predictability. Proceedings of the ACM SIGMETRICS International Conference on Measurement and Modeling of Computer Systems (SIGMETRICS), San Diego, U. S. A., 2003; 272-282.
    [11]
    Plazar S, Lokuciejewski P, Marwedel P. WCET-aware software based cache partitioning for multi-task real-time systems. Proceedings of the Ninth International Workshop on Worst-case Execution Time Analysis (WCET), Dublin, Ireland, 2009; 78-88.
    [12]
    Falk H. WCET-aware register allocation based on graph coloring. Proceedings of the 46th Design Automation Conference (DAC), San Francisco, U. S. A., 2009; 726-731.
    [13]
    Deverge JE Puaut I. WCET-directed dynamic scratchpad memory allocation of data. Proceedings of the 19th Euromicro Conference on Real-time Systems (ECRTS), Pisa, Italy, 2007; 179-190.
    [14]
    Suhendra V, Mitra T, Roychoudhury A, Chen T. WCET centric data allocation to scratchpad memory. Proceedings of the 26th IEEE International Real-time Systems Symposium (RTSS), Miami, U. S. A., 2005; 223-232.
    [15]
    Falk H, Kleinsorge JC. Optimal static WCET-aware scratchpad allocation of program code. Proceedings of the 46th Design Automation Conference (DAC), San Francisco, U. S. A., 2009; 732-737.
    [16]
    Kadlec A, Kirner R, Puschner P. Avoiding timing anomalies using code transformations. Proceedings of the 13th IEEE International Symposium on Object/Component/Service_oriented Real-time Distributed Computing (ISORC), Carmona, Spain, 2010; 123-132.
    [17]
    Falk H, Lokuciejewski P. A compiler framework for the reduction of worst-case execution times. The International Journal of Time-critical Computing Systems (Real-time Systems) 2010; 46(2):251-300.
    [18]
    Prasad WZ, Kulkarni P, Whalley D, Healy C, Mueller F, Uh G-R. Tuning the WCET of embedded applications. Proceedings of the 10th IEEE Real-time and Embedded Technology and Applications Symposium (RTAS), Toronto, Canada, 2004; 472-481.
    [19]
    Falk H, Lokuciejewski P, Theiling H. Design of a WCET-aware C compiler. Proceedings of the 2006 IEEE/ACM/IFIP Workshop on Embedded Systems for Real Time Multimedia (ESTIMedia), Seoul, Korea, 2006; 121-126.
    [20]
    GCC, GNU Compiler Collection. Available at: http://gcc.gnu.org/ {10 June 2010}.
    [21]
    AbsInt Angewandte Informatik GmbH. Worst-case execution time analyzer aiT for triCore. Available at: http://www.absint.com/ait {10 June 2010}.
    [22]
    Muchnick SS. Advanced Compiler Design and Implementation. Morgan Kaufmann: San Francisco, U. S. A., 1997.
    [23]
    Bilggs E Register allocation via graph coloring. PhD Thesis, Rice University, Houston, U. S. A., 1992; 1-104.
    [24]
    Goodwin DW, Wilken KD. Optimal and near-optimal global register allocation using 0-1 integer programming. Software--Practice and Experience 1996; 26(8):929-965.
    [25]
    Guo Y, Subramanian D, Cooper KD. An effective local search algorithm for an adaptive compiler. Proceedings of the First Workshop on Statistical and Machine Learning Approaches Applied to Architectures and Compilation (SMART), Ghent, Belgium, 2007; 7-11.
    [26]
    Synopsys, Inc. Available at: http://www.synopsys.com {10 June 2010}.
    [27]
    Laumanns M, Thiele L, Zitzler E, Welzl E, Deb K. Running time analysis of multi-objective evolutionary algorithms on a simple discrete optimization problem. Proceedings of the Seventh International Conference on Parallel Problem Solving from Nature (PPSN), Granada, Spain, 2002; 44-53.
    [28]
    Knowles J, Thiele L, Zitzler E. A tutorial on the performance assessment of stochastic multiobjective optimizers. Proceedings of Third International Conference on Evolutionary Multi-criterion Optimization (EMO), Guanajuato, Mexico, 2005; 1-35.
    [29]
    Zitzler E, Kiinzli S. Indicator-based selection in multiobjective search. Proceedings of the Ninth International Conference on Parallel Problem Solving from Nature (PPSN), Birmingham, U. K., 2004; 832-842.
    [30]
    Deb K, Agrawal S, Pratap A, Meyarivan T. A fast elitist non-dominated sorting genetic algorithm for multi-objective optimisation: NSGA-II. Proceedings of the Sixth International Conference on Parallel Problem Solving from Nature (PPSN), Paris, France, 2000; 849-858.
    [31]
    Zitzler E, Laumanns M, Thiele L. SPEA2: Improving the strength pareto evolutionary algorithm for multiobjective optimization. Proceedings of the Conference on Evolutionary Methods for Design, Optimisation and Control with Application to Industrial Problems (EUROGEN), Athens, Greece, 2001; 95-100.
    [32]
    Thiele L, Chakraborty S, Giles M, Künzli S. A framework for evaluating design tradeoffs in packet processing architectures. Proceedings of the 39th Design Automation Conference (DAC), New Orleans, U. S. A., 2002; 880-885.
    [33]
    Conover WJ. Practical Nonparametric Statistics. Wiley: New York, U. S. A., 1971.
    [34]
    Lokuciejewski P, Marwedel P. Worst-case Execution Time Aware Compilation Techniques for Real-time Systems. Springer: Dordrecht, Netherlands, 2010.
    [35]
    Zivojnovic V, Martinez J, Schläger C, Meyr H. DSPstone: A DSP-oriented benchmarking methodology. Proceedings of the International Conference on Signal Processing and Technology (ICSPAT), Dallas, U. S. A., 1994; 715-720.
    [36]
    Lee C, Potkonjak M, Mangione-Smith WH. MediaBench: A tool for evaluating and synthesizing multimedia and communications systems. Proceedings of the 30th Annual International Symposium on Microarchitecture (MICRO), Washington, DC, U. S. A., 1997; 330-335.
    [37]
    Guthaus MR, Ringenberg JS, Ernst D, Austin TM, Mudge T, Brown RB. MiBench: A free, commercially representative embedded benchmark suite. Proceedings of the Fourth IEEE International Workshop on Workloaa Characteristics (WWC), Austin, U. S. A., 2001; 3-14.
    [38]
    Mälardalen WCET Research Group. WCET benchmarks. Available at: http://www.mrtc.mdh.se/projects/wcet {10 June 2010}.
    [39]
    Memik G, Mangione-Smith WH, Hu W. NetBench: A benchmarking suite for network processors. Proceedings of the International Conference on Computer-aided Design (ICCAD), San Jose, U. S. A., 2001; 39-42.
    [40]
    TDSP Benchmark Suite. Available at: http://www.eecg.toronto.edu/~corinna/DSP/infrastructure/UTDSP.html {10 June 2010}.
    [41]
    Bleuler S, Laumanns M, Thiele L, Zitzler E. PISA--A platform and programming language independent interface for search algorithms. Proceedings of Second International Conference on Evolutionary Multicriterion Optimization (EMO), Faro, Portugal, 2003; 494-508.
    [42]
    Künzli S, Bleuler S, Thiele L, Zitzler E. A computer engineering benchmark application for multiobjective optimizers. Application of Multi-objective Evolutionary Algorithms. World Scientific: Singapore, 2004; 269-294.
    [43]
    Maneeratana K, Boonlong K, Chaiyaratana N. Compressed-objective genetic algorithm. Parallel Problem Solving from Nature--PPSN IX (Lecture Notes in Computer Science). Springer: Berlin, 2006; 473-482.
    [44]
    Künzli S. Efficient design space exploration for embedded systems. PhD Thesis, Swiss Federal Institute of Technology Zurich, Switzerland, 2006.
    [45]
    Khare VR, Yao X, Deb K. Performance scaling of multi-objective evolutionary algorithms. EMO, Faro, Portugal, 2003; 376-390.

    Cited By

    View all
    • (2022)Approximating WCET and Energy Consumption for Fast Multi-Objective Memory AllocationProceedings of the 30th International Conference on Real-Time Networks and Systems10.1145/3534879.3534889(162-172)Online publication date: 7-Jun-2022
    • (2022)Surrogate-Assisted Multi-objective Optimization for Compiler Optimization Sequence SelectionParallel Problem Solving from Nature – PPSN XVII10.1007/978-3-031-14721-0_27(382-395)Online publication date: 10-Sep-2022
    • (2021)Predicting Objectives on a Reduced Search Space of Multiobjective Function InliningProceedings of the 24th International Workshop on Software and Compilers for Embedded Systems10.1145/3493229.3493303(23-28)Online publication date: 1-Nov-2021
    • Show More Cited By

    Recommendations

    Reviews

    William M. Waite

    Worst-case execution time (WCET), average-case execution time (ACET), and code size are three statistics characterizing program quality. Compiler writers have developed optimizations by which a compiler can improve one or more of these statistics. Individual optimizations, such as common subexpression elimination and constant folding, can be carried out at one or more different points during the compilation. This leads to the concept of an optimization sequence to define the compiler's behavior. The compiler writer chooses an optimization sequence that minimizes the statistic(s) of interest. Unfortunately, changing the sequence to improve one statistic often worsens another. A Pareto improvement is one in which one statistic is improved without worsening any other; a Pareto optimal optimization sequence is one in which no change leads to a Pareto improvement. The combinatorial explosion of optimization sequences makes an exhaustive search for the best sequence impossible. The authors therefore use genetic algorithms to guide optimization sequence selection. The paper covers two experiments. One seeks an optimization sequence that is Pareto optimal with respect to WCET and ACET, and the other seeks Pareto optimality with respect to WCET and code size. The search process is automated, and the paper describes both the search mechanisms and the results. Its descriptions are clear, and copious references are provided. Anyone interested in compiler optimization should become familiar with the principles laid out here. Online Computing Reviews Service

    Access critical reviews of Computing literature here

    Become a reviewer for Computing Reviews.

    Comments

    Information & Contributors

    Information

    Published In

    cover image Software—Practice & Experience
    Software—Practice & Experience  Volume 41, Issue 12
    November 2011
    162 pages

    Publisher

    John Wiley & Sons, Inc.

    United States

    Publication History

    Published: 01 November 2011

    Author Tags

    1. Pareto optimal
    2. WCET
    3. compiler
    4. multi-objective
    5. optimization
    6. real-time

    Qualifiers

    • Article

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)0
    • Downloads (Last 6 weeks)0
    Reflects downloads up to 28 Jul 2024

    Other Metrics

    Citations

    Cited By

    View all
    • (2022)Approximating WCET and Energy Consumption for Fast Multi-Objective Memory AllocationProceedings of the 30th International Conference on Real-Time Networks and Systems10.1145/3534879.3534889(162-172)Online publication date: 7-Jun-2022
    • (2022)Surrogate-Assisted Multi-objective Optimization for Compiler Optimization Sequence SelectionParallel Problem Solving from Nature – PPSN XVII10.1007/978-3-031-14721-0_27(382-395)Online publication date: 10-Sep-2022
    • (2021)Predicting Objectives on a Reduced Search Space of Multiobjective Function InliningProceedings of the 24th International Workshop on Software and Compilers for Embedded Systems10.1145/3493229.3493303(23-28)Online publication date: 1-Nov-2021
    • (2021)Predicting Worst-Case Execution Times During Multi-criterial Function InliningMachine Learning, Optimization, and Data Science10.1007/978-3-030-95467-3_21(281-295)Online publication date: 4-Oct-2021
    • (2020)Multi-Criteria Function Inlining for Hard Real-Time SystemsProceedings of the 28th International Conference on Real-Time Networks and Systems10.1145/3394810.3394819(56-66)Online publication date: 9-Jun-2020
    • (2019)Multi-Objective Optimization for the Compiler of Real-Time Systems based on Flower Pollination AlgorithmProceedings of the 22nd International Workshop on Software and Compilers for Embedded Systems10.1145/3323439.3323977(45-48)Online publication date: 27-May-2019
    • (2018)Multi-Criteria Compiler-Based Optimization of Hard Real-Time SystemsProceedings of the 21st International Workshop on Software and Compilers for Embedded Systems10.1145/3207719.3207730(54-57)Online publication date: 28-May-2018

    View Options

    View options

    Get Access

    Login options

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media