Automated and dynamic abstraction of MPI application performance

Research output: Contribution to journalArticleResearchpeer-review

Abstract

© 2016, The Author(s). Developing an efficient parallel application is not an easy task, and achieving a good performance requires a thorough understanding of the program’s behavior. Careful performance analysis and optimization are crucial. To help developers or users of these applications to analyze the program’s behavior, it is necessary to provide them with an abstraction of the application performance. In this paper, we propose a dynamic performance abstraction technique, which enables the automated discovery of causal execution paths, composed of communication and computational activities, in MPI parallel programs. This approach enables autonomous and low-overhead execution monitoring that generates performance knowledge about application behavior for the purpose of online performance diagnosis. Our performance abstraction technique reflects an application behavior and is made up of elements correlated with high-level program structures, such as loops and communication operations. Moreover, it characterizes all elements with statistical execution profiles. We have evaluated our approach on a variety of scientific parallel applications. In all scenarios, our online performance abstraction technique proved effective for low-overhead capturing of the program’s behavior and facilitated performance understanding.
Original languageEnglish
Pages (from-to)1105-1137
JournalCluster Computing
Volume19
Issue number3
DOIs
Publication statusPublished - 1 Sep 2016

Keywords

  • Automatic performance analysis
  • Online performance abstraction
  • Parallel applications
  • Performance metrics

Fingerprint Dive into the research topics of 'Automated and dynamic abstraction of MPI application performance'. Together they form a unique fingerprint.

Cite this