In order to analyze the performance of applications, as much
as possible of the relevant variables should be measured and stored.
For analyzing them, some derived variables should be calculated. |
Performance Measurement of
Sequential Applications
The measurements are based on the
PAPI hardware counters (like
#instructions and cache misses) and the variables supplied by the user
(like the application parameters, design decisions, compiler
optimization level, #basic operations, ...). The EPDA instrumentation
library facilitates the insertion of the experiments in the database.
The EPDA tool let the user examine the experiments, shows the variables
and data graphically and let the user create derived variables, like
Cycles per Instructions(CPI) shown in the diagram. Finally, the user
can make
selections, write the data to file, which can be
loaded into our learning module.
Performance Measurement of
Parallel Applications
Performance data on parallel applications is
measured automatically by using the profiling facilities of MPI (the
standard interface for message-passing applications). The
EPPA tool let the user view the results of its experiments.
Data can then be extracted from the database to be
inserted as regular EPDA experiments in the EPDA database. One can
analyze the performance on several levels - what we call the
modes - like the overall parallel
performance, but also the point-to-point
communication delays and other interesting metrics.
EPPA documentation