Abstract
Sensitivity analysis is a mathematical tool that distributes the uncertainty of the output of a model among its different input variables. We use in this work the Extended Fourier Amplitude Sensitivity Test to carefully analyze the impact of 54 LLVM code optimization operators on the execution time of nine benchmark software programs. Experiments presented involve performing over 16 million executions. The results show that the different LLVM transformations have a low direct effect on the execution time, but it becomes meaningful when considering the transformation in combination with the others (almost 60% average impact by all passes on all considered benchmarks). These results provide slight indications on the transformations to apply for optimizing the software, revealing the extreme difficulty of the problem.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
The LLVM Compiler Infrastructure. http://llvm.org. Accessed 2018
Saltelli, A., Tarantola, S., Campolongo, F., Ratto, M.: Sensitivity Analysis in Practice: A Guide to Assessing Scientific Models. Wiley, New York (2004)
Etxeberria, L., Trubiani, C., Cortellessa, V., Sagardui, G.: Performance-based selection of software and hardware features under parameter uncertainty. In: Proceedings of the 10th International ACM SIGSOFT Conference on Quality of Software Architectures (Part of CompArch 2014), QoSA 2014, pp. 23–32 (2014)
Iturriaga, S., Ruiz, P., Nesmachnow, S., Dorronsoro, B., Bouvry, P.: A parallel multi-objective local search for AEDB protocol tuning. In: Proceedings - IEEE 27th International Parallel and Distributed Processing Symposium Workshops and PhD Forum, IPDPSW 2013 (Sect. VI), pp. 415–424 (2013)
Srinivas, C., Reddy, B., Ramji, K., Naveen, R.: Sensitivity analysis to determine the parameters of genetic algorithm for machine layout. Procedia Mater. Sci. 6(Icmpc), 866–876 (2014)
Pallister, J., Hollis, S., Bennett, J.: BEEBS: Open benchmarks for energy measurements on embedded platforms. Technical report 1308.5174, arXiv (2013)
Saltelli, A., Tarantola, S., Chan, K.S.: A quantitative model-independent method for global sensitivity analysis of model output. Technometrics 41(1), 39–56 (1999)
Iooss, B., Lemaître, P.: A review on global sensitivity analysis methods. In: Dellino, G., Meloni, C. (eds.) Uncertainty Management in Simulation-Optimization of Complex Systems. ORSIS, vol. 59, pp. 101–122. Springer, Boston, MA (2015). https://doi.org/10.1007/978-1-4899-7547-8_5
Fitzgerald, T., Sullivan, B.: Analysing the effect of candidate selection and instance ordering in a realtime algorithm configuration system. In: Proceedings of the Symposium on Applied Computing, pp. 1003–1008 (2017)
Chebolu, N., Wankar, R.: Tuning compilations landscape. In: Proceedings of the 2016 2nd International Conference on Contemporary Computing and Informatics, IC3I 2016, pp. 575–583 (2016)
Ashouri, A., Palermo, G., Cavazos, J., Silvano, C.: Automatic Tuning of Compilers using Machine Learning. Springer, Heidelberg (2017)
Ding, Y., Ansel, J., Veeramachaneni, K., Shen, X., O’Reilly, U.M., Amarasinghe, S.: Autotuning algorithmic choice for input sensitivity. In: Proceedings of the 36th ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI), pp. 379–390 (2015)
Ashouri, A., Bignoli, A., Palermo, G., Silvano, C., Kulkarni, S., Cavazos, J., Bignoli, A., Palermo, G., Silvano, C.: MiCOMP: mitigating the compiler phase-ordering problem using optimization sub-sequences and machine learning. ACM Trans. Archit. Code Optim. 14 (2017). Article No. 29
Martins, L., Nobre, R., Cardoso, J., Delbem, A., Marques, E.: Clustering-based selection for the exploration of compiler optimization sequences. ACM Trans. Archit. Code Optim. 13(1), 1–28 (2016)
Sandran, T., Zakaria, N., Pal, A.: An optimized tuning of genetic algorithm parameters in compiler flag selection based on compilation and execution duration. In: Deep, K., Nagar, A., Pant, M., Bansal, J. (eds.) SocProS 2011. AINSC, vol. 131, pp. 599–610. Springer, New Delhi (2012)
Varrette, S., Dorronsoro, B., Bouvry, P.: An LLVM-based approach to generate energy aware code by means of MOEAs. In: 7th European Symposium on Computational Intelligence and Mathematics (ESCIM), pp. 198–204 (2015)
Garciarena, U., Santana, R.: Evolutionary optimization of compiler flag selection by learning and exploiting flags interactions. In: Proceedings of the 2016 on Genetic and Evolutionary Computation Conference (GECCO), pp. 1159–1166. ACM (2016)
Banerjee, U., Eigenmann, R., Nicolau, A., Padua, D.A.: Automatic program parallelization. Proc. IEEE 82, 211–243 (1993)
Polychronopoulos, C.: Parallel Programming and Compilers. Kluwer Academic Publishers, Norwell (1988)
Pinkers, R., Knijnenburg, P., Haneda, M., Wijshoff, H.: Statistical selection of compiler options. In: Proceedings - IEEE Computer Society’s Annual International Symposium on Modeling, Analysis, and Simulation of Computer and Telecommunications Systems, MASCOTS, pp. 494–501 (2004)
Tuzov, I., Andrés, D., Ruiz, J.C.: Tuning synthesis flags to optimize implementation goals: performance and robustness of the LEON3 processor as a case study. J. Parallel Distrib. Comput. 112, 84–96 (2018)
R: A Language and Environment for Statistical Computing: R foundation for statistical computing. https://www.R-project.org. Accessed 2018
Acknowledgment
The authors would like to acknowledge the Spanish MINECO and ERDF for the support provided under contracts TIN2014-60844-R (the SAVANT project) and RYC-2013-13355.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2018 Springer International Publishing AG, part of Springer Nature
About this paper
Cite this paper
de la Torre, J.C., Ruiz, P., Dorronsoro, B., Galindo, P.L. (2018). Analyzing the Influence of LLVM Code Optimization Passes on Software Performance. In: Medina, J., Ojeda-Aciego, M., Verdegay, J., Perfilieva, I., Bouchon-Meunier, B., Yager, R. (eds) Information Processing and Management of Uncertainty in Knowledge-Based Systems. Applications. IPMU 2018. Communications in Computer and Information Science, vol 855. Springer, Cham. https://doi.org/10.1007/978-3-319-91479-4_23
Download citation
DOI: https://doi.org/10.1007/978-3-319-91479-4_23
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-91478-7
Online ISBN: 978-3-319-91479-4
eBook Packages: Computer ScienceComputer Science (R0)