Title: Dynamic%20Instrumentation%20of%20Large-Scale%20MPI%20and%20OpenMP%20Applications
1Dynamic Instrumentation of Large-Scale MPI and
OpenMP Applications
Christian Thiffault, Michael Voss, Steven T.
Healey, Seon Wook Kim
Presented By Jaydeep Marathe
2The Basic Idea ..
- Instrumentation needed to collect collect
performance data. - Static (compile or link time) instrumentation
- Dynamic (run-time) instrumentation
- Feasibility study for dynamic instrumentation
and dynamically - controlled static instrumentation.
- Paper asserts Dynamic methods better than
static instrumentation with - respect to execution overhead trace data size
But thats still debatable, as we shall see ...
3Dynamic Instrumentation (with DPCL)
Executing Program
JMP _Test
Probe Point
4Dynamic Control of Static Instrumentation
Instrumentation Library
Compiler-Instrumented Program
Conf_sync() return
...
...
Conf_sync()
...
Read Active List
...
...
Conf_sync()
Point Active ?
...
...
...
Conf_sync()
...
Instrument compile-time, decide activation at
run-time.
5Instrumentation Tool Dynprof
- For mixed (?) OpenMP MPI programs
GuideTrace OpenMP Library
KAI Guide Compiler
Application Source
Dynprof
VampirTrace Library
Executable
MPI Library
- Applicable only to the KAI OpenMP compiler
- Instrumentation VampirTrace call to log trace
Trace Data
6Experiments ..
- Compare execution times for static vs. dynamic
instrumentation. - 4 ASCI benchmarks - Smg98, Sppm, Sweep3d
(MPI), Umt98 (OpenMP) - IBM Power3 144-node system, each node has 8
Power3 processors. - Measure execution times with 5 scenarios
- FULL Full Static Instrumentation Trace logging
- FULL-OFF Full Static Instrumentation, no trace
logging - SUBSET Full Static Instrumentation, only
selected functions active. - None No instrumentation (Baseline)
- Dynamic Dynamically inserted instrumentation.
7Results Smg98
8Results Smg98 (contd)
Static approach (SUBSET), more expensive than
dynamic insertion (DYNAMIC).
WHY ?? - No explanation in paper.
9Results Smg98 ? Another interpretation
Observe values for FULL, FULL-OFF,SUBSET. Very
Close !!
Compiler instrumentation inefficiency ? skews
results ! ? dynamic approach looks better.
10Time to create and instrument
- Significant cost, but only occurs at startup.
- May significantly perturb application, when
instrumented during run-time.
11Summary and Conclusions
- Tool to instrument MPI and OpenMP programs
(Dynprof) - Trace logging/visualization through existing
VampirTrace library. - Compare costs of static,dynamic and
dynamically controlled static - instrumentation.
- Asserts that dynamically inserted
instrumentation is less expensive, as compared to
static instrumentation.