Skip to main content
Top
Published in: The Journal of Supercomputing 4/2021

30-07-2020

Efficient code development for improving execution performance in high-performance computing centers

Authors: Javier Corral-García, Felipe Lemus-Prieto, Miguel-Ángel Pérez-Toledano

Published in: The Journal of Supercomputing | Issue 4/2021

Log in

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

search-config
loading …

Abstract

Thanks to high-performance computing (HPC), it is possible to solve all kinds of highly complex projects from multiple scientific disciplines that require computationally intensive tasks to be undertaken and which otherwise could not be addressed. Unfortunately, since the development of parallel codes requires highly specific knowledge, it can become a challenge for beginners and non-expert programmers, especially when it comes to making adequate and efficient use of the available computing resources. To this end, we developed a transcompiler for helping researchers and inexperienced users who do not have the necessary skills in the use of parallel programming, and aimed at improving the performance of their HPC routines and tasks. Current efforts are focused on an additional module for optimizing code fragments in order to reduce their running times. In order to achieve this, twenty-six software techniques were selected from the literature to be integrated into this new module, all of them aimed at improving execution times of HPC programs by directly writing efficient code. Their effectiveness is analyzed and discussed in the current manuscript through a complete set of tests designed and conducted to measure and evaluate benefits achieved when applying these techniques.

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

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!

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+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!

Literature
3.
go back to reference Corral-García J, González-Sánchez JL, Pérez-Toledano MA (2016) Towards automatic parallelization of sequential programs and efficient use of resources in HPC centers. In: International Conference on High Performance Computing Simulation (HPCS), pp 947–954 Corral-García J, González-Sánchez JL, Pérez-Toledano MA (2016) Towards automatic parallelization of sequential programs and efficient use of resources in HPC centers. In: International Conference on High Performance Computing Simulation (HPCS), pp 947–954
6.
go back to reference ISO. Syntactic metalanguage. Extended BNF. ISO (vol. ISOIEC 14977:1996, pp 12), International Organization for Standardization, Geneva, Switzerland (1996) ISO. Syntactic metalanguage. Extended BNF. ISO (vol. ISOIEC 14977:1996, pp 12), International Organization for Standardization, Geneva, Switzerland (1996)
7.
go back to reference Pereira R, Couto M, Ribeiro F, Rua R, Cunha J, Fernandes JP, Saraiva J (2017) 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. ACM, New York, pp 256–267 Pereira R, Couto M, Ribeiro F, Rua R, Cunha J, Fernandes JP, Saraiva J (2017) 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. ACM, New York, pp 256–267
8.
go back to reference Abdulsalam S, Lakomski D, Gu Q, Jin T, Zong Z (2014) Program energy efficiency: the impact of language, compiler and implementation choices. In: International Green Computing Conference, pp 1–6 Abdulsalam S, Lakomski D, Gu Q, Jin T, Zong Z (2014) Program energy efficiency: the impact of language, compiler and implementation choices. In: International Green Computing Conference, pp 1–6
9.
go back to reference Agner Fog (2018) Optimizing software in C++: an optimization guide for Windows, Linux and Mac platforms. Copenhagen University College of Engineering Agner Fog (2018) Optimizing software in C++: an optimization guide for Windows, Linux and Mac platforms. Copenhagen University College of Engineering
10.
go back to reference Goldthwaite Lois (2006) Technical report on C++ performance. ISO/IEC PDTR, 18015 Goldthwaite Lois (2006) Technical report on C++ performance. ISO/IEC PDTR, 18015
11.
go back to reference Sloss Andrew, Symes Dominic, Wright Chris (2004) ARM system developer’s guide: designing and optimizing system software. Elsevier, Amsterdam Sloss Andrew, Symes Dominic, Wright Chris (2004) ARM system developer’s guide: designing and optimizing system software. Elsevier, Amsterdam
12.
go back to reference Guntheroth Kurt (2016) Optimized C++: proven techniques for heightened performance. O’Reilly Media Inc., Sebastopol Guntheroth Kurt (2016) Optimized C++: proven techniques for heightened performance. O’Reilly Media Inc., Sebastopol
13.
go back to reference Malviya Neeta, Khunteta Ajay (2015) Code optimization using code purifier. Int J Comput Sci Inf Technol (IJCSIT) 6(5):4753–4757 Malviya Neeta, Khunteta Ajay (2015) Code optimization using code purifier. Int J Comput Sci Inf Technol (IJCSIT) 6(5):4753–4757
14.
go back to reference Gupta Nitika, Seth Nistha, Verma Prabhat (2015) Optimal code compiling in C. Int J Comput Sci Inf Technol (IJCSIT) 6(3):2050–2057 Gupta Nitika, Seth Nistha, Verma Prabhat (2015) Optimal code compiling in C. Int J Comput Sci Inf Technol (IJCSIT) 6(3):2050–2057
15.
go back to reference Cooper Keith D, Mckinley Kathryn S, Torczon L (1998) Compiler-based code-improvement techniques Cooper Keith D, Mckinley Kathryn S, Torczon L (1998) Compiler-based code-improvement techniques
19.
go back to reference Kim D, Hong JE, Yoon I, Lee SH (2016) Code refactoring techniques for reducing energy consumption in embedded computing environment. In: Cluster computing Kim D, Hong JE, Yoon I, Lee SH (2016) Code refactoring techniques for reducing energy consumption in embedded computing environment. In: Cluster computing
20.
go back to reference Park JJ, Hong JE, Lee SH (2014) Investigation for software power consumption of code refactoring techniques. In: SEKE, pp 717–722 Park JJ, Hong JE, Lee SH (2014) Investigation for software power consumption of code refactoring techniques. In: SEKE, pp 717–722
21.
go back to reference Gottschalk M, Jelschen J, Winter A (2013) Energy-efficient code by refactoring. In: Softwaretechnik-Trends, vol 33, no 2 Gottschalk M, Jelschen J, Winter A (2013) Energy-efficient code by refactoring. In: Softwaretechnik-Trends, vol 33, no 2
22.
go back to reference Kulkarni S, Cavazos J (2012) Mitigating the compiler optimization phase-ordering problem using machine learning. In: Proceedings of the ACM International Conference on Object Oriented Programming Systems Languages and Applications, OOPSLA ’12. Association for Computing Machinery, New York, pp 147–162 Kulkarni S, Cavazos J (2012) Mitigating the compiler optimization phase-ordering problem using machine learning. In: Proceedings of the ACM International Conference on Object Oriented Programming Systems Languages and Applications, OOPSLA ’12. Association for Computing Machinery, New York, pp 147–162
23.
go back to reference Cavazos J, Fursin G, Agakov F, Bonilla E, O’Boyle MFP, Temam O (2007) Rapidly selecting good compiler optimizations using performance counters. In: International Symposium on Code Generation and Optimization (CGO’07), pp 185–197 Cavazos J, Fursin G, Agakov F, Bonilla E, O’Boyle MFP, Temam O (2007) Rapidly selecting good compiler optimizations using performance counters. In: International Symposium on Code Generation and Optimization (CGO’07), pp 185–197
24.
go back to reference Tartara M, Crespi Reghizzi S (2013) Continuous learning of compiler heuristics. ACM Trans Archit Code Optim 9(4):1–25CrossRef Tartara M, Crespi Reghizzi S (2013) Continuous learning of compiler heuristics. ACM Trans Archit Code Optim 9(4):1–25CrossRef
25.
go back to reference Kelefouras Vasilios, Djemame Karim (2019) A methodology correlating code optimizations with data memory accesses, execution time and energy consumption. J Supercomput 75(10):6710–6745CrossRef Kelefouras Vasilios, Djemame Karim (2019) A methodology correlating code optimizations with data memory accesses, execution time and energy consumption. J Supercomput 75(10):6710–6745CrossRef
35.
go back to reference Yoo Andy B, Jette Morris A, Grondona M (2003) Slurm: simple linux utility for resource management. In: Workshop on Job Scheduling Strategies for Parallel Processing. Springer, Berlin, pp 44–60 Yoo Andy B, Jette Morris A, Grondona M (2003) Slurm: simple linux utility for resource management. In: Workshop on Job Scheduling Strategies for Parallel Processing. Springer, Berlin, pp 44–60
Metadata
Title
Efficient code development for improving execution performance in high-performance computing centers
Authors
Javier Corral-García
Felipe Lemus-Prieto
Miguel-Ángel Pérez-Toledano
Publication date
30-07-2020
Publisher
Springer US
Published in
The Journal of Supercomputing / Issue 4/2021
Print ISSN: 0920-8542
Electronic ISSN: 1573-0484
DOI
https://doi.org/10.1007/s11227-020-03382-z

Other articles of this Issue 4/2021

The Journal of Supercomputing 4/2021 Go to the issue

Premium Partner