Abstract
In the domain of hard real-time systems, the Worst-Case Execution Time (WCET) is one of the most important design criteria. Safely and accurately estimating the WCET during a static WCET analysis is computationally demanding because of the involved data flow, control flow, and microarchitecture analyses. This becomes critical in the field of multi-criterial compiler optimizations that trade the WCET with other design objectives. Evolutionary algorithms are typically exploited to solve a multi-objective optimization problem, but they require an extensive evaluation of the objectives to explore the search space of the problem. This paper proposes a method that utilizes machine learning to build a surrogate model in order to quickly predict the WCET instead of costly estimating it using static WCET analysis. We build a prediction model that is independent of the source code and assembly code features, so a compiler can utilize it to perform any compiler-based optimization. We demonstrate the effectiveness of our model on multi-criterial function inlining, where we aim to explore trade-offs between the WCET, code size, and energy consumption at compile time.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
AbsInt Angewandte Informatik, GmbH: aiT Worst-Case Execution Time Analyzers (2020)
Altenbernd, P., Gustafsson, J., Lisper, B., Stappert, F.: Early execution time-estimation through automatically generated timing models. Real-Time Syst. 52(6), 731–760 (2016). https://doi.org/10.1007/s11241-016-9250-7
Bonenfant, A., Claraz, D., De Michiel, M., Sotin, P.: Early WCET prediction using machine learning (2017). https://doi.org/10.4230/OASICS.WCET.2017.5
Ehrgott, M.: Multicriteria Optimization. Springer, Heidelberg (2006). https://doi.org/10.1007/3-540-27659-9
Falk, H., et al.: TACLeBench: a benchmark collection to support worst-case execution time research (2016). https://doi.org/10.4230/OASICS.WCET.2016.2
Falk, H., Lokuciejewski, P.: A compiler framework for the reduction of worst-case execution times. Real-Time Syst. 46(2), 251–300 (2010). https://doi.org/10.1007/s11241-010-9101-x
Gustafsson, J., Altenbernd, P., Ermedahl, A., Lisper, B.: Approximate worst-case execution time analysis for early stage embedded systems development. In: Lee, S., Narasimhan, P. (eds.) SEUS 2009. LNCS, vol. 5860, pp. 308–319. Springer, Heidelberg (2009). https://doi.org/10.1007/978-3-642-10265-3_28
Hastie, T., Tibshirani, R., Friedman, J.: The Elements of Statistical Learning. SSS, Springer, New York (2009). https://doi.org/10.1007/978-0-387-84858-7
Huybrechts, T., Mercelis, S., Hellinckx, P.: A new hybrid approach on wcet analysis for real-time systems using machine learning (2018). https://doi.org/10.4230/OASICS.WCET.2018.5
Lokuciejewski, P., Gedikli, F., Marwedel, P., Morik, K.: Automatic WCET reduction by machine learning based heuristics for function inlining. In: Proceedings of SMART. Paphos (2009)
Lokuciejewski, P., Plazar, S., Falk, H., Marwedel, P., Thiele, L.: Approximating Pareto optimal compiler optimization sequences-a trade-off between WCET, ACET and code size. Softw. Pract. Exp. 41(12), 1437–1458 (2011). https://doi.org/10.1002/spe.1079
Muchnick, S.S.: Advanced Compiler Design and Implementation, 1 edn., pp. 607–608, 657. Morgan Kaufmann Publishers Inc., San Francisco (1998)
Muts, K., Falk, H.: Multi-criteria function inlining for hard real-time systems. In: Proceedings of the 28th International Conference on Real-Time Networks and Systems. ACM, June 2020. https://doi.org/10.1145/3394810.3394819
Pedregosa, F., et al.: Scikit-learn: machine learning in Python. J. Mach. Learn. Res. 12, 2825–2830 (2011)
Turing, A.M.: On computable numbers, with an application to the Entscheidungsproblem. Proc. London Math. Soc. s2–42(1), 230–265 (1937). https://doi.org/10.1112/plms/s2-42.1.230
Wang, L., Ni, H., Zhou, W., Pardalos, P.M., Fang, J., Fei, M.: MBPOA-based LQR controller and its application to the double-parallel inverted pendulum system. Eng. Appl. Artif. Intell. 36, 262–268 (2014). https://doi.org/10.1016/j.engappai.2014.07.023
Wörteler, L., Grossniklaus, M., Grün, C., Scholl, M.H.: Function inlining in XQuery 3.0 optimization. In: Proceedings of the 15th Symposium on Database Programming Languages. ACM, October 2015. https://doi.org/10.1145/2815072.2815079
Acknowledgment
This work received funding from Deutsche Forschungsgemeinschaft (DFG) under grant FA 1017/3-2.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2022 Springer Nature Switzerland AG
About this paper
Cite this paper
Muts, K., Falk, H. (2022). Predicting Worst-Case Execution Times During Multi-criterial Function Inlining. In: Nicosia, G., et al. Machine Learning, Optimization, and Data Science. LOD 2021. Lecture Notes in Computer Science(), vol 13163. Springer, Cham. https://doi.org/10.1007/978-3-030-95467-3_21
Download citation
DOI: https://doi.org/10.1007/978-3-030-95467-3_21
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-95466-6
Online ISBN: 978-3-030-95467-3
eBook Packages: Computer ScienceComputer Science (R0)