110 likes | 125 Views
This paper explores the dynamic instrumentation of MPI and OpenMP applications, comparing static and dynamic approaches. It presents the feasibility of dynamic instrumentation and dynamically controlled static instrumentation, asserting that dynamic methods are superior in terms of overhead and trace data size. The study includes a comparison of execution times for different scenarios using ASCI benchmarks on an IBM Power3 system. Results suggest that dynamically inserted instrumentation is less expensive than static instrumentation, with potential application perturbations and costs at startup. The tool Dynprof is introduced for instrumenting MPI and OpenMP programs, with trace logging and visualization facilitated through the VampirTrace library.
E N D
Dynamic Instrumentation of Large-Scale MPI and OpenMP Applications Christian Thiffault, Michael Voss, Steven T. Healey, Seon Wook Kim Presented By: Jaydeep Marathe NC State University
The 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 that’s still debatable, as we shall see ... NC State University
Base Trampoline Mini-Trampoline Save Context Instrumentation Code Pre-Instrument Log_Event(…); Start_Timer(); ….. …... Restore Context Relocated Instruction Save Context Post-Instrument Restore Context Dynamic Instrumentation (with DPCL) Executing Program JMP _Test Probe Point NC State University
List of Active Points Yes ! Instrumentation Code Log_Event(…); Start_Timer(); ….. …... Dynamic Control of Static Instrumentation Instrumentation Library Compiler-Instrumented Program Conf_sync() { return; } …………... …………... Conf_sync() …………... Read Active List …………... …………... Point Active ? Conf_sync() …………... …………... …………... Conf_sync() …………... Instrument compile-time, decide activation at run-time. NC State University
Instrumentation 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 NC State University
Experiments .. • 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. NC State University
Results: Smg98 NC State University
Results: Smg98 (contd) Static approach (SUBSET), more expensive than dynamic insertion (DYNAMIC). WHY ?? - No explanation in paper. NC State University
Results: Smg98 Another interpretation Observe values for FULL, FULL-OFF,SUBSET. Very Close !! Compiler instrumentation inefficiency skews results ! dynamic approach looks better. NC State University
Time to create and instrument • Significant cost, but only occurs at startup. • May significantly perturb application, when instrumented during run-time. NC State University
Summary 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. NC State University