MPI PERUSE

A Performance Revealing Extensions Interface to MPI

 

 

 

Overview
Participants
Links
Current Spec

 

MPI PERUSE Overview

PERUSE is a performance-revealing extensions interface to MPI. This interface is intended to provide greater insight into the performance related processes and interactions between application software, system software, and MPI message-passing middleware than the standard MPI Profiling interface (PMPI) defined by the MPI specification. This additional level of detailed performance information can be used by scalable parallel algorithm developers for tuning purposes and by developers of performance monitoring tools.

The MPI Forum defined PMPI as a mechanism for application developers to obtain high-level performance information about the behavior of both the application algorithm and the parallel system. PMPI has proven its usefulness, and a large number of tools have emerged to address the needs of parallel performance evaluation. However, PMPI provides for relatively high-level profiling and does not give enough insight into the complex processes that take place within the MPI library or in the software layers below MPI with which the MPI library interacts. These issues become of vital importance for understanding the performance and scalability of ultra-scale parallel platforms, such as the ones used by the DOE ASC program.

The main objective of PERUSE is to provide detailed information about events and activities that take place within the MPI library or in the lower software layers but can be observed by the MPI library. PERUSE aims at giving more information about the internal state and processing of the MPI library than just looking at MPI as a black box (the level of profiling available from PMPI). This information can then be used in application and system level performance evaluation, which is not possible now by only using the standard PMPI interface. In this respect, PERUSE complements PMPI.