Skip to main content
Top

2018 | OriginalPaper | Chapter

Finding Best Compiler Options for Critical Software Using Parallel Algorithms

Authors : Gabriel Luque, Enrique Alba

Published in: Intelligent Distributed Computing XII

Publisher: Springer International Publishing

Activate our intelligent search to find suitable subject content or patents.

search-config
loading …

Abstract

The efficiency of a software piece is a key factor for many systems. Real-time programs, critical software, device drivers, kernel OS functions and many other software pieces which are executed thousands or even millions of times per day require a very efficient execution. How this software is built can significantly affect the run time for these programs, since the context is that of compile-once/run-many. In this sense, the optimization flags used during the compilation time are a crucial element for this goal and they could make a big difference in the final execution time. In this paper, we use parallel metaheuristic techniques to automatically decide which optimization flags should be activated during the compilation on a set of benchmarking programs. The using the appropriate flag configuration is a complex combinatorial problem, but our approach is able to adapt the flag tuning to the characteristics of the software, improving the final run times with respect to other spread practices.

Dont have a licence yet? Then find out more about our products and how to get one now:

Springer Professional "Wirtschaft+Technik"

Online-Abonnement

Mit Springer Professional "Wirtschaft+Technik" erhalten Sie Zugriff auf:

  • über 102.000 Bücher
  • über 537 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Maschinenbau + Werkstoffe
  • Versicherung + Risiko

Jetzt Wissensvorsprung sichern!

Springer Professional "Technik"

Online-Abonnement

Mit Springer Professional "Technik" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 390 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Maschinenbau + Werkstoffe




 

Jetzt Wissensvorsprung sichern!

Springer Professional "Wirtschaft"

Online-Abonnement

Mit Springer Professional "Wirtschaft" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 340 Zeitschriften

aus folgenden Fachgebieten:

  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Versicherung + Risiko




Jetzt Wissensvorsprung sichern!

Footnotes
1
In GCC, you can activate flag with -fflag but you can also deactivate it with -fno-flag if another option (O3 in our case) has previously activate it.
 
Literature
1.
go back to reference Software engineering software product quality requirements and evaluation (SQuaRE) Software product quality and system quality in use models. Standard, International Organization for Standardization, Geneva, CH (2011) Software engineering software product quality requirements and evaluation (SQuaRE) Software product quality and system quality in use models. Standard, International Organization for Standardization, Geneva, CH (2011)
2.
go back to reference Hassan, M.M., Afzal, W., Lindström, B., Shah, S.M.A., Andler, S.F., Blom, M.: Testability and software performance: a systematic mapping study. In: Proceedings of the 31st Annual ACM Symposium on Applied Computing, pp. 1566–1569. ACM (2016) Hassan, M.M., Afzal, W., Lindström, B., Shah, S.M.A., Andler, S.F., Blom, M.: Testability and software performance: a systematic mapping study. In: Proceedings of the 31st Annual ACM Symposium on Applied Computing, pp. 1566–1569. ACM (2016)
3.
go back to reference Stallman, R.M.: GCC DeveloperCommunity: Using the GNU Compiler Collection: A GNU Manual for GCC Version 4.3. 3. CreateSpace, Paramount (2009) Stallman, R.M.: GCC DeveloperCommunity: Using the GNU Compiler Collection: A GNU Manual for GCC Version 4.3. 3. CreateSpace, Paramount (2009)
4.
go back to reference Nobre, R., Reis, L., Cardoso, J.: Compiler phase ordering as an orthogonal approach for reducing energy consumption. In: Proceedings of the 19th Workshop on Compilers for Parallel Computing (CPC16) (2016) Nobre, R., Reis, L., Cardoso, J.: Compiler phase ordering as an orthogonal approach for reducing energy consumption. In: Proceedings of the 19th Workshop on Compilers for Parallel Computing (CPC16) (2016)
5.
go back to reference Machado, R.S., Almeida, R.B., Jardim, A.D., Pernas, A.M., Yamin, A.C., Cavalheiro, G.G.H.: Comparing erformance of C compilers optimizations on different multicore architectures. In: Computer Architecture and High Performance Computing Workshops (SBAC-PADW), pp. 25–30. IEEE (2017) Machado, R.S., Almeida, R.B., Jardim, A.D., Pernas, A.M., Yamin, A.C., Cavalheiro, G.G.H.: Comparing erformance of C compilers optimizations on different multicore architectures. In: Computer Architecture and High Performance Computing Workshops (SBAC-PADW), pp. 25–30. IEEE (2017)
6.
go back to reference Hoste, K., Eeckhout, L.: Cole: Compiler optimization level exploration. In: Proceedings of the 6th Annual IEEE/ACM International Symposium on Code Generation and Optimization, CGO 2008, pp. 165–174. ACM, New York (2008) Hoste, K., Eeckhout, L.: Cole: Compiler optimization level exploration. In: Proceedings of the 6th Annual IEEE/ACM International Symposium on Code Generation and Optimization, CGO 2008, pp. 165–174. ACM, New York (2008)
7.
go back to reference Zhong, S., Shen, Y., Hao, F.: Tuning compiler optimization options via simulated annealing. In: Second International Conference on Future Information Technology and Management Engineering, FITME 2009, pp. 305–308. IEEE (2009) Zhong, S., Shen, Y., Hao, F.: Tuning compiler optimization options via simulated annealing. In: Second International Conference on Future Information Technology and Management Engineering, FITME 2009, pp. 305–308. IEEE (2009)
8.
go back to reference Kumar, T.S., Sakthivel, S., Kumar, S.: Optimizing code by selecting compiler flags using parallel GA on multicore CPUs. Int. J. Eng. Technol. 6, 544–551 (2014) Kumar, T.S., Sakthivel, S., Kumar, S.: Optimizing code by selecting compiler flags using parallel GA on multicore CPUs. Int. J. Eng. Technol. 6, 544–551 (2014)
10.
go back to reference Alba, E.: Parallel Metaheuristics: A New Class of Algorithms. Wiley, New York (2005)CrossRef Alba, E.: Parallel Metaheuristics: A New Class of Algorithms. Wiley, New York (2005)CrossRef
11.
go back to reference Crainic, T.G., Toulouse, M.: Parallel meta-heuristics. In: Handbook of Metaheuristics, pp. 497–541. Springer, Heidelberg (2010)CrossRef Crainic, T.G., Toulouse, M.: Parallel meta-heuristics. In: Handbook of Metaheuristics, pp. 497–541. Springer, Heidelberg (2010)CrossRef
13.
go back to reference Pereira, R., Couto, M., Ribeiro, F., Rua, R., Cunha, J., Fernandes, J.P., Saraiva, J.: Energy efficiency across programming languages: how do energy, time, and memory relate? In: Proceedings of the 10th ACM SIGPLAN International Conference on Software Language Engineering, SLE 2017, pp. 256–267. ACM, New York (2017) Pereira, R., Couto, M., Ribeiro, F., Rua, R., Cunha, J., Fernandes, J.P., Saraiva, J.: Energy efficiency across programming languages: how do energy, time, and memory relate? In: Proceedings of the 10th ACM SIGPLAN International Conference on Software Language Engineering, SLE 2017, pp. 256–267. ACM, New York (2017)
Metadata
Title
Finding Best Compiler Options for Critical Software Using Parallel Algorithms
Authors
Gabriel Luque
Enrique Alba
Copyright Year
2018
DOI
https://doi.org/10.1007/978-3-319-99626-4_7

Premium Partner