Environment for automatic development and tuning of parallel applications

Paola Caymes-Scutari, Germán Bianchini, Anna Sikora, Tomàs Margalef

Research output: Chapter in BookChapterResearchpeer-review

1 Citation (Scopus)

Abstract

The use of high performance computing has been gaining more and more followers in the different branches of Science and Engineering given the potential offered to deal with complex and big problems. However, the parallel programming paradigm involves additional aspects to the merely functional, which could provoke different kinds of bottlenecks in the performance of the applications. Such diff culties may represent critical obstacles, especially for the non-expert users. In this work, we consider the limitations of the automatic development of parallel applications, and the obstacles in the performance tuning process, and we propose a built-in environment that integrates these both processes in a transparent manner. We call our proposal as Environment for automatic development and tuning of Parallel Applications (EPA). EPA follows a cooperative approach: (i) It provides an interface to guide the user in the depiction of the pair problem-solution by completing a form; (ii) such information is automatically formalized in a specif cation; (iii) the specif ed information is automatically used by EPA to instantiate an instrumented skeleton; (iv) the skeleton of the parallel application is a priori enriched in EPA with tuning instrumentation, for monitoring, analysis and tuning actions; (v) the tunable parallel application is automatically generated by EPA; (vi) the user is able to execute the application with no more effort than having completed a form. Clearly, EPA makes transparent the process of code generation and instrumentation, which represents an important advantage especially for non-expert users. Given that the parallelization of any pair problem-solution is hard to generalize, the environment proposes to tackle different parallel problem solvers. The tuning knowledge injected in the generated applications is based on performance models, which makes the decision-making process concise. The Environment could include as problem solvers as needed. In this article, we introduce the problem solver constituted by the Parallel Genetic Algorithms, and - with respect to the tuning process - we consider the improvement of the amount of computational resourses involved in the execution.

Original languageAmerican English
Title of host publication2016 International Conference on High Performance Computing and Simulation, HPCS 2016
EditorsVesna Zeljkovic, Waleed W. Smari
PublisherInstitute of Electrical and Electronics Engineers Inc.
Pages743-750
Number of pages8
ISBN (Electronic)9781509020881
DOIs
Publication statusPublished - 13 Sep 2016

Publication series

Name2016 International Conference on High Performance Computing and Simulation, HPCS 2016

Keywords

  • automatic development
  • automatic performance tuning
  • dynamic tuning
  • genetic algorithms
  • parallel genetic algorithm
  • parallel paradigm

Fingerprint Dive into the research topics of 'Environment for automatic development and tuning of parallel applications'. Together they form a unique fingerprint.

Cite this