"The main purpose of parallel processing is to get the job done in less time. EPPA wants to serve the user understandable and clear insight in the performance of his parallel program."EPPA IN A GLANCE
EPPA explains in different views the performance of your parallel program:
View 1. The timeline shows the program execution of each process (here: parallel matrix multiplication of 2 WxW matrices):
View 2. The resulting performance (here: WorkSize W= size of matrices):
View 3. The cost of each phase per process:
View 4. Performance/overhead in function of number of processors:
View 5. Performance/overhead in function of matrix size W:
and much more...
EPPA asks little, but returns a lot!
|1. The different phases of the program, like useful computation, partitioning, ...||Cost of each phase, its impact on the performance||View 3|
|2. The experiment parameters, like #processors, work size, hardware, ...||Multiple experiment analysis:
measurements in function of parameters
|View 4 & 5|
|3. The #quantums processed and communicated in each phase||Time of the phases in function of #quantums||ok|
|4. The #operations that are computed in each phase||#operations per quantum
Time of phases in function of #basic operations
Similar tracing tools are XPvm, XMPI and especially SCALEA. XPvm and XMPI automatically trace the computation-communication-idle phases of the execution profile, whereas EPPA and SCALEA needs manual insertion of measurement code. Like EPPA, these tools show the timeline and the cost of the different phases, but EPPA let the user add extra information about the program.
SCALEA and other tools use and analyse hardware counters. We don't, but these approaches could be integrated with EPPA. The rationale of this is that EPPA will only give a first-order analysis (explanation of this will be added soon...) that is easier to understand for non-experts, it will also indicate when a first-order approximation is inaccurate and a deeper analysis is necessary.
More on tools: ASKALON,
The Parallel Tools Consortium,
User Documentation (on our LINUX-C++-pvm system)
EPPA is at present only available on our system...