Different approaches to automatic performance analysis of distributed applications

Parallel computing is a promising approach that provides more powerful computing capabilities for many scientific research fields to solve new problems. However, to take advantage of such capabilities it is necessary to ensure that the applications are successfully designed and that their performance is satisfactory. This implies that the task of the application designer does not finish when the application is free of functional bugs, and that it is necessary to carry out some performance analysis and application tuning to reach the expected performance. This application tuning requires a performance analysis, including the detection of performance bottlenecks, the identification of their causes and the modification of the application to improve behavior. These tasks require a high degree of expertise and are usually time consuming. Therefore, tools that automate some of these tasks are useful, especially for non-expert users. In this paper, we present three tools that cover different approaches to automatic performance analysis and tuning. In the first approach, we apply static automatic performance analysis. The second is based on run-time automatic analysis. The last approach sets out dynamic automatic performance tuning.

[1]  Barton P. Miller,et al.  The Paradyn Parallel Performance Measurement Tool , 1995, Computer.

[2]  Jeffrey K. Hollingsworth,et al.  An API for Runtime Code Patching , 2000, Int. J. High Perform. Comput. Appl..

[3]  Barton P. Miller,et al.  A Callgraph-Based Search Strategy for Automated Performance Diagnosis (Distinguished Paper) , 2000, Euro-Par.

[4]  Hong Linh Truong,et al.  SCALEA: A Performance Analysis Tool for Distributed and Parallel Programs , 2002, Euro-Par.

[5]  Graham D. Riley,et al.  Knowledge Specification for Automatic Performance Analysis - APART Technical Report , 1999 .

[6]  Michael T. Heath,et al.  The Visual Display of Parallel Performance Data , 1995, Computer.

[7]  Tomàs Margalef,et al.  Relating the Execution Behaviour with the Structure of the Application , 1999, PVM/MPI.

[8]  Graham D. Riley,et al.  Specification of performance problems in MPI programs with ASL , 2000, Proceedings 2000 International Conference on Parallel Processing.

[9]  Bernd Mohr,et al.  Automatic Performance Analysis of MPI Applications Based on Event Traces , 2000, Euro-Par.

[10]  Tomàs Margalef,et al.  Automatic Performance Analysis of Master/Worker PVM Applications with Kpi , 2000, PVM/MPI.

[11]  Michael T. Heath,et al.  Visualizing the performance of parallel programs , 1991, IEEE Software.

[12]  D.A. Reed,et al.  Scalable performance analysis: the Pablo performance analysis environment , 1993, Proceedings of Scalable Parallel Libraries Conference.

[13]  Jack Dongarra,et al.  PVM: Parallel virtual machine: a users' guide and tutorial for networked parallel computing , 1995 .