Skip to main content

Analyzing the Influence of LLVM Code Optimization Passes on Software Performance

  • Conference paper
  • First Online:

Part of the book series: Communications in Computer and Information Science ((CCIS,volume 855))

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.

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

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   84.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   109.99
Price excludes VAT (USA)
  • Compact, lightweight 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

Learn about institutional subscriptions

References

  1. The LLVM Compiler Infrastructure. http://llvm.org. Accessed 2018

  2. Saltelli, A., Tarantola, S., Campolongo, F., Ratto, M.: Sensitivity Analysis in Practice: A Guide to Assessing Scientific Models. Wiley, New York (2004)

    MATH  Google Scholar 

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

    Google Scholar 

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

    Google Scholar 

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

    Article  Google Scholar 

  6. Pallister, J., Hollis, S., Bennett, J.: BEEBS: Open benchmarks for energy measurements on embedded platforms. Technical report 1308.5174, arXiv (2013)

    Google Scholar 

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

    Article  Google Scholar 

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

    Chapter  Google Scholar 

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

    Google Scholar 

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

    Google Scholar 

  11. Ashouri, A., Palermo, G., Cavazos, J., Silvano, C.: Automatic Tuning of Compilers using Machine Learning. Springer, Heidelberg (2017)

    Google Scholar 

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

    Google Scholar 

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

    Article  Google Scholar 

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

    Article  Google Scholar 

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

    Google Scholar 

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

    Google Scholar 

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

    Google Scholar 

  18. Banerjee, U., Eigenmann, R., Nicolau, A., Padua, D.A.: Automatic program parallelization. Proc. IEEE 82, 211–243 (1993)

    Article  Google Scholar 

  19. Polychronopoulos, C.: Parallel Programming and Compilers. Kluwer Academic Publishers, Norwell (1988)

    Book  Google Scholar 

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

    Google Scholar 

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

    Article  Google Scholar 

  22. R: A Language and Environment for Statistical Computing: R foundation for statistical computing. https://www.R-project.org. Accessed 2018

Download references

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

Authors

Corresponding author

Correspondence to Bernabé Dorronsoro .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2018 Springer International Publishing AG, part of Springer Nature

About this paper

Check for updates. Verify currency and authenticity via CrossMark

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)

Publish with us

Policies and ethics