Abstract
The Worst-Case Execution Time (WCET) is crucial and an essential factor in analyzing and developing Real-Time Embedded Systems. The idea of the WCET allows the designer to create safe and reliable real-time systems. The WCET is used by the scheduler to determine an appropriate scheduling scheme for the application and to guarantee timing constraints. These systems need to satisfy a strict deadline, and failing leads to catastrophic events such as loss of life. Generally, WCET analysis is applied only in the late stages of Safety-Critical Systems development when the hardware is available, and code is compiled and linked. Different methods exist to determine WCET, but none of these provide early insight into WCET. Suppose early WCET is unavailable during system development. In that case, many systems design decisions are made using experience, which might be impractical if systems don’t satisfy timing constraints, and it may result in costly system re-design. However, we need early WCET in the initial stages of systems development as an essential prerequisite to configure the system properly. We propose a method to determine early WCET using machine learning models without the need for the hardware and binaries, i.e., source-level timing analysis-this new approach estimate WCET using source code. The models can predict WCET without running the code on the platform once it is trained, which is created using the Pytorch framework. The feasibility of this approach is evaluated using six different machine learning models such as Support Vector Regression (Linear kernel and RBF kernel), Tree Regression, Forest Regression, K-Nearest Neighbors Regression and Ridge Regression. The viability of the proposed method is demonstrated with the TACLeBench benchmark suite. The results show reasonable estimates on the predicted execution time of the final and compiled code, proving the prospectus of the methodology.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Wilhelm, R., et al.: The worst-case execution-time problem-overview of methods and survey of tools. ACM Trans. Embedded Comput. Syst. (TECS) 7(3), 1–53 (2008)
Ferdinand, C., Heckmann, R.: aiT: worst-case execution time prediction by static program analysis. In: Jacquart, R. (ed.) ait: worst-case execution time prediction by static program analysis. IIFIP, vol. 156, pp. 377–383. Springer, Boston, MA (2004). https://doi.org/10.1007/978-1-4020-8157-6_29
Hardy, D., Rouxel, B., Puaut, I.: The heptane static worst-case execution time estimation tool. In: 17th International Workshop on Worst-Case Execution Time Analysis (WCET 2017). Schloss Dagstuhl-Leibniz-Zentrum fuer Informatik (2017)
Cassé, H., Sainrat, P.: OTAWA, a framework for experimenting WCET computations. In: Conference ERTS 2006 (2006)
Rapita Systems: Rapita Systems \(|\) On-target software verification solutions (2020). https://www.rapitasystems.com. Accessed 17 Mar 2020
Kumar, V.: Deep neural network approach to estimate early worst-case execution time. In: 2021 IEEE/AIAA 40th Digital Avionics Systems Conference (DASC), pp. 1–8. IEEE (2021)
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., Michiel, M.D., Sotin, P.: Early WCET prediction using machine learning. In: 17th International Workshop on Worst-Case Execution Time Analysis (WCET 2017). Schloss Dagstuhl-Leibniz-Zentrum fuer Informatik (2017)
Huybrechts, T., Mercelis, S., Hellinckx, P.: A new hybrid approach on WCET analysis for real-time systems using machine learning. In: 18th International Workshop on Worst-Case Execution Time Analysis (WCET 2018). Schloss Dagstuhl-Leibniz-Zentrum fuer Informatik (2018)
Oyamada, M.S., Zschornack, F., Wanger, F.R.: Accurate software performance estimation using domain classification and neural networks. In: Proceedings. SBCCI 2004. 17th Symposium on Integrated Circuits and Systems Design (IEEE Cat. No. 04TH8784), pp. 175-180. IEEE (2004)
Huybrechts, T., Cassimon, T., Mercelis, S., Hellinckx, P.: Introduction of deep neural network in hybrid WCET analysis. In: Xhafa, F., Leu, F.-Y., Ficco, M., Yang, C.-T. (eds.) 3PGCIC 2018. LNDECT, vol. 24, pp. 415–425. Springer, Cham (2019). https://doi.org/10.1007/978-3-030-02607-3_38
Abella, J., et al.: WCET analysis methods: Pitfalls and challenges on their trustworthiness. In: 10th IEEE International Symposium on Industrial Embedded Systems (SIES), pp. 1–10. IEEE (2015)
Wenzel, I., Kirner, R., Rieder, B., Puschner, P.: Measurement-based worst-case execution time analysis. In: Third IEEE Workshop on Software Technologies for Future Embedded and Ubiquitous Systems (SEUS 2005), pp. 7–10. IEEE (2005)
Heckmann, R., Christian, F.: Worst-case execution time prediction by static program analysis. In: 18th International Parallel and Distributed Processing Symposium (IPDPS 2004), pp. 26–30. IEEE Computer Society (2004)
Petters, S.M.: Bounding the execution time of real-time tasks on modern processors. In: Proceedings Seventh International Conference on Real-Time Computing Systems and Applications, pp. 498–502. IEEE (2000)
Smola, A.J., Schölkopf, B.: A tutorial on support vector regression. Stat. Comput. 14(3), 199–222 (2004)
Zhong, Y.: The analysis of cases based on decision tree. In: 2016 7th IEEE International Conference on Software Engineering and Service Science (ICSESS), pp. 142–147. IEEE (2016)
Svetnik, V., Liaw, A., Tong, C., Culberson, J.C., Sheridan, R.P., Feuston, B.P.: Random forest: a classification and regression tool for compound classification and QSAR modeling. J. Chem. Inform. Comput. Sci. 43(6), 1947–1958 (2003)
Kramer, O.: Dimensionality reduction with unsupervised nearest neighbors, vol. 51. Springer, Berlin (2013). https://doi.org/10.1007/978-3-642-38652-7
Hesterberg, T.: Bootstrap. Wiley Interdisc. Rev. Comput. Stat. 3(6), 497–526 (2011)
Lisper, B.: SWEET – a tool for WCET flow analysis (extended abstract). In: Margaria, T., Steffen, B. (eds.) ISoLA 2014. LNCS, vol. 8803, pp. 482–485. Springer, Heidelberg (2014). https://doi.org/10.1007/978-3-662-45231-8_38
Raspberry pi platforms (2020). https://www.raspberrypi.org/
Falk, H., et al.: TACLeBench: a benchmark collection to support worst-case execution time research. In: 16th International Workshop on Worst-Case Execution Time Analysis (2016)
Pedregosa, F., et al.: Scikit-learn: machine learning in Python. J. Mach. Learn. Res. 12, 2825–2830 (2011)
Géron, A.: Hands-on machine learning with Scikit-Learn, Keras, and TensorFlow: Concepts, tools, and techniques to build intelligent systems. O’Reilly Media, Inc. (2019)
Acknowledgments
The author would like to thank Prof. S.K Nandy for his valuable suggestions on several aspects of this paper. The author is also very grateful to Sourav Mishra for his insightful comments and feedback.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2023 The Author(s), under exclusive license to Springer Nature Switzerland AG
About this paper
Cite this paper
Kumar, V. (2023). Estimation of an Early WCET Using Different Machine Learning Approaches. In: Barolli, L. (eds) Advances on P2P, Parallel, Grid, Cloud and Internet Computing. 3PGCIC 2022. Lecture Notes in Networks and Systems, vol 571. Springer, Cham. https://doi.org/10.1007/978-3-031-19945-5_30
Download citation
DOI: https://doi.org/10.1007/978-3-031-19945-5_30
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-031-19944-8
Online ISBN: 978-3-031-19945-5
eBook Packages: EngineeringEngineering (R0)