The increasing complexity in parallel systems has a significant
impact in the performance evaluation process. Indeed, the performance
achieved by a parallel program is the result of complex interactions
between the hardware and software components of the system
itself, and inefficiencies derive from dependencies, resource
contentions, uneven work distributions and loss of synchronization
among processors. Workload characterization becomes also more
complex, since methodologies usually adopted in sequential systems
do not provide an adequate description of the load of parallel
programs.
The objective of this project was the characterization of parallel
programs and the development of a methodology for automatic analysis,
tuning and debugging of their performance. Performance analysis of
parallel programs was approached starting from measurements collected
by monitoring the program execution. Metrics and criteria for
evaluating dissimilarities and unbalance among processors were
derived. Moreover, parallel programs based on High Performance Fortran
and MPI were considered. The objective was to highlight the influence
on the performance of HPF programs, of the language constructs and of
the parallelization strategies adopted by the compiler, and of the
communication protocols used by the MPI explicit message passing
communication paradigms.
Within this framework, a tool (MEDEA) for automatic performance
analysis of parallel programs was developed. MEDEA automatically
analyzes trace files taken from the execution of HPF and MPI programs
and extracts performance parameters able to explain the behavior of
the parallel program. The tool integrates basic statistical
techniques, fitting techniques and cluster analysis, in order to
derive models of the workload.
This project was supported by national and international projects,
such as, Italian Research Council (C.N.R.) projects, ESPRIT II IMSE
Project, ESPRIT LTR Project HPF+, and
ESPRIT Working Group APART.
|