Dimemas: predict parallel performance using a single cpu machine
 |
Dimemas is a performance analysis tool for message-passing programs. It enables the
user to develop and tune parallel applications on a workstation, while providing an
accurate prediction of their performance on the parallel target machine. The Dimemas
simulator reconstructs the time behavior of a parallel application on a machine
modeled by a set of performance parameters. Thus, performance experiments can be done
easily. The supported target architecture classes include networks of workstations,
single and clustered SMPs, distributed memory parallel computers, and even
heterogeneous systems.
Several message-passing libraries are supported, including PVM, MPI and PARMACS. For
communication, a linear performance model is used, but some non-linear effects such
as network conflicts are taken into account. The simulator allows specifying different
task to node mappings.
Dimemas generates trace files that are suitable for two performance analysis tools:
Paraver and Vampir. Paraver and Vampir enable the user to conveniently examine any
performance problems indicated by a simulator run.
The analysis module performs critical path analysis reporting the total CPU usage of
different code blocks, as well as their importance for the program execution time. Based
on a statistical evaluation of synthetically perturbed traces and architectural
parameters, the importance of different performance parameters and the benefits of
particular code optimizations can be analyzed.
Dimemas main goals can be sumarized as:
Utilization
Development and tunning
Benchmarking
Training
Features
Predict behaviour of target architecture
Forecast effects of code optimization
What if analysis
Usage
Integrated with visualization tool
Extensive application characterization
Squeezing the information that a single instrumented run can provide
|