Nothing Special   »   [go: up one dir, main page]

skip to main content
10.1145/3362789.3362865acmotherconferencesArticle/Chapter ViewAbstractPublication PagesteemConference Proceedingsconference-collections
research-article

Efficiency Analysis in Code Development for High-Performance Computing Centers

Published: 16 October 2019 Publication History

Abstract

High-Performance Computing (HPC) has become a powerful tool to solve highly complex projects that could not otherwise be addressed. However, developing parallel programs to take advantage of its benefits, making a proper and effective use of the available computing resources, can be a difficult task for beginners or scientists of specific branches of science which have very little to do with computer programming. For this purpose, a transcompiler for automatic parallelization of sequential codes was developed to train beginners in parallel programming and achieve better performances in HPC centers. Current efforts are focused on expanding the transcompiler with an additional module for optimizing sequential and parallel code fragments with the objective of speeding up their execution times. To accomplish this, several techniques for writing efficient code have been evaluated with a view to integrate them into the transcompiler in the future. This manuscript discusses the importance of these techniques to decrease running times of HPC programs. In addition, a set of tests have been developed for analysing and measuring the improvements achieved when applying each of these techniques, all of them with a significant impact on the execution times.

References

[1]
CénitS: Extremadura Supercomputing, Technological Innovation and Research Center. http://www.cenits.es, 2019.
[2]
The OpenMP Application Program Interface specification for parallel programming. http://openmp.org, 2019.
[3]
J. Corral-García, J. L. González-Sánchez, and M. A. Pérez-Toledano. Towards automatic parallelization of sequential programs and efficient use of resources in HPC centers. In 2016 International Conference on High Performance Computing Simulation (HPCS), pages 947--954, July 2016.
[4]
J. Corral-García, J. L. González-Sánchez, and M. A. Pérez-Toledano. Compilador source-to-source, para la paralelización automática de códigos secuenciales, orientado a la gestión eficiente de recursos en centros de computación de alto rendimiento. In Avances en Arquitectura y Tecnología de Computadores, Jornadas SARTECO 2019, pages 321--328, September 2018. ISBN 978-84-09-04334-7.
[5]
J. Corral-García, J. L. González-Sánchez, and M. A. Pérez-Toledano. Medición de overheads para el uso eficiente de recursos en centros de computación de alto rendimiento. In Avances en Arquitectura y Tecnología de Computadores, Jornadas SARTECO 2019, 8 pages, september 2019. ISBN (In press).
[6]
GCC, the GNU compiler collection. https://gcc.gnu.org, 2018.
[7]
Rui Pereira, Marco Couto, Francisco Ribeiro, Rui Rua, Jácome Cunha, João Paulo Fernandes, and João Saraiva. 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, pages 256--267, New York, NY, USA, 2017. ACM.
[8]
S. Abdulsalam, D. Lakomski, Q. Gu, T. Jin, and Z. Zong. Program energy efficiency: The impact of language, compiler and implementation choices. In International Green Computing Conference, pages 1--6, Nov 2014.
[9]
Agner Fog. Optimizing software in C++--an optimization guide for windows, linux and mac platforms. copenhagen university college of engineering, 2018.
[10]
Andrew Sloss, Dominic Symes, and Chris Wright. ARM system developer's guide: designing and optimizing system software. Elsevier, 2004.
[11]
Lois Goldthwaite. Technical report on C++ performance. ISO/IEC PDTR, 18015, 2006.
[12]
Kurt Guntheroth. Optimized C++: Proven Techniques for Heightened Performance. O'Reilly Media, Inc., 2016.
[13]
Neeta Malviya and Ajay Khunteta. Code optimization using code purifier. International Journal of Computer Science and Information Technologies (IJCSIT), vol.6 (5), pages 4753--4757, 2015.
[14]
Nitika Gupta, Nistha Seth, and Prabhat Verma. Optimal code compiling in c. International Journal of Computer Science and Information Technologies (IJCSIT), vol.6 (3), pages 2050--2057, 2015.
[15]
Keith D Cooper, Kathryn S Mckinley, and Linda Torczon. Compiler-based code improvement techniques, 1998.
[16]
Michael E Lee. Optimization of computer programs in C. http://leto.net/docs/Coptimization.php, 2018.
[17]
Koushik Ghosh. Writing efficient C and C code optimization. https://www.codeproject.com/Articles/6154/Writing-Efficient-C-and-C-CodeOptimization, 2018.
[18]
Pete Isensee. C++ optimization strategies and techniques. http://www.tantalon.com/pete/cppopt/main.htm, 2018.
[19]
Doohwan Kim, Jang-Eui Hong, Ilchul Yoon, and Sang-Ho Lee. Code refactoring techniques for reducing energy consumption in embedded computing environment. Cluster Computing, Nov 2016. ISSN 1573-7543.
[20]
Jae Jin Park, Jang-Eui Hong, and Sang-Ho Lee. Investigation for software power consumption of code refactoring techniques. In SEKE, p. 717--722, 2014.
[21]
Marion Gottschalk, Jan Jelschen, and Andreas Winter. Energy-efficient code by refactoring. Softwaretechnik-Trends: Vol. 33, No. 2, 2013.
[22]
NASA / Ames Research Center / NAS (United States). TOP500 Supercomputer Sites, 53rd edition. https://www.top500.org/site/48408, June 2019.
[23]
Total Exploration Production (France). TOP500 Supercomputer Sites, 53rd edition. https://www.top500.org/site/49546, June 2019.
[24]
DOE/SC/Pacific Northwest National Laboratory (United States). TOP500 Supercomputer Sites, 53rd edition. https://www.top500.org/site/48611, June 2019.

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Other conferences
TEEM'19: Proceedings of the Seventh International Conference on Technological Ecosystems for Enhancing Multiculturality
October 2019
1085 pages
ISBN:9781450371919
DOI:10.1145/3362789
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

In-Cooperation

  • University of Salamanca: University of Salamanca

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 16 October 2019

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. code optimization
  2. efficient code
  3. high-performance computing
  4. performance optimization

Qualifiers

  • Research-article
  • Research
  • Refereed limited

Conference

TEEM'19

Acceptance Rates

Overall Acceptance Rate 496 of 705 submissions, 70%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • 0
    Total Citations
  • 83
    Total Downloads
  • Downloads (Last 12 months)9
  • Downloads (Last 6 weeks)2
Reflects downloads up to 13 Nov 2024

Other Metrics

Citations

View Options

Get Access

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media