Top Banner
Profiling, Tracing, Debugging and Monitoring Frameworks Sathish Vadhiyar Courtesy: Dr. Shirley Moore (University of Tennessee)
23

Profiling, Tracing, Debugging and Monitoring Frameworks

Jan 01, 2016

Download

Documents

Isabella Paul

Profiling, Tracing, Debugging and Monitoring Frameworks. Sathish Vadhiyar. Courtesy: Dr. Shirley Moore (University of Tennessee). Outline. Profiling ,Tracing, Debugging Tools – Main thrust on Vampir and TotalView Debugging – TotalView. Definitions – Profiling and Tracing. - PowerPoint PPT Presentation
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Profiling, Tracing, Debugging and Monitoring Frameworks

Profiling, Tracing, Debugging and Monitoring Frameworks

Sathish Vadhiyar

Courtesy: Dr. Shirley Moore (University of Tennessee)

Page 2: Profiling, Tracing, Debugging and Monitoring Frameworks

Outline

Profiling ,Tracing, Debugging Tools – Main thrust on Vampir and TotalView

Debugging – TotalView

Page 3: Profiling, Tracing, Debugging and Monitoring Frameworks

Definitions – Profiling and Tracing Profiling – Summary information about various

statistics - Number of function calls made - Execution times for functions - Number of floating point instructions - FLOP count etc. Tracing –Information about events - Time stamps about entering/exiting calls - Interaction between processes (send and

recv traces)

Page 4: Profiling, Tracing, Debugging and Monitoring Frameworks

Vampir For performance analysis of parallel

applications Event-based and trace-based performance

analysis tool Different statistical displays – - timeline displays - profiling statistics (execution times of routines) - communication statistics Can be analyzed at different levels – zoom

in facility Needs VampirTrace for instrumentation

Page 5: Profiling, Tracing, Debugging and Monitoring Frameworks

Problems Identified

Excessive communication cost load (im)balance Communication bottle-necks

Shows percentage spent in all MPI procedures and actual applications

Shows percentage time spent for each MPI procedure

Page 6: Profiling, Tracing, Debugging and Monitoring Frameworks

Displays

Page 7: Profiling, Tracing, Debugging and Monitoring Frameworks

Displays (Summary Charts)

Page 8: Profiling, Tracing, Debugging and Monitoring Frameworks

Activity Charts (Identifying Load Balance)

Page 9: Profiling, Tracing, Debugging and Monitoring Frameworks

Communication Statistics

Page 10: Profiling, Tracing, Debugging and Monitoring Frameworks

Timeline Diagram

Page 11: Profiling, Tracing, Debugging and Monitoring Frameworks

VampirTrace

Vampir graphical tool uses VampirTrace tracing library

VampirTrace uses MPI profiling interface to intercept MPI calls

E.g.:mpicc –o my_program my_program.c -

L<vampirtrace_dir>/lib –lVTGives rise to my_program.stf

Page 12: Profiling, Tracing, Debugging and Monitoring Frameworks

My VAMPIR results [secvss@altix openmp]$ vampir

/opt/vampir/examples/redblack_sndrcv.stf VAMPIR: Could not find matching license. VAMPIR: Need license for product VA40. VAMPIR: platform IA64-LIN VAMPIR: hostid 0x10908e31, network address

144.16.49.142, userid 2000 VAMPIR: Environment variable PAL_ROOT set to /opt/vampir. VAMPIR: Environment variable PAL_LICENSEFILE set to /opt/vampir/etc/license.dat. VAMPIR: Environment variable VT_ROOT set to /opt/vampir_trace.

Page 13: Profiling, Tracing, Debugging and Monitoring Frameworks

Some more Parallel Profiling Libraries

GuideView (for OpenMP from Pallas) Upshot / Jumpshot (MPI from Argonne) SvPablo (UIUC for MPI and OpenMP) DynaProf (UT)

Page 14: Profiling, Tracing, Debugging and Monitoring Frameworks

Parallel Debugging – TotalView (Etnus)

Source level parallel debugger Multithreaded, multiprogram debugger for

MPI, PVM, OpenMP Examine and change data Can attach to all or some of running

processes Separate window for each process Can change source code while debugging Start/stop execution

Page 15: Profiling, Tracing, Debugging and Monitoring Frameworks

TotalView Introduction

Detailed information by diving Computational steering by changing

variable values or by using expressions

Displaying variables across processes/threads

Page 16: Profiling, Tracing, Debugging and Monitoring Frameworks

Action Points

Breakpoints Barrier breakpoints Conditional breakpoints Evaluation point Watchpoints

Page 17: Profiling, Tracing, Debugging and Monitoring Frameworks

MPI and TotalView

mpirun [ MPICH-arguments ] -tv program [ program-arguments ]

totalview poe -a program [ arguments ] [ PE_arguments ]

Page 18: Profiling, Tracing, Debugging and Monitoring Frameworks

Message Queue Displays

Page 19: Profiling, Tracing, Debugging and Monitoring Frameworks

Break point Example1    pid = fork();2    if (pid == -1)3        error ("fork failed");4    else if (pid == 0) 5        children_play();6    else7        parents_work();

Conditional Breakpoint:if (i > 20 && i < 25)

        $stop;

Page 20: Profiling, Tracing, Debugging and Monitoring Frameworks
Page 21: Profiling, Tracing, Debugging and Monitoring Frameworks

Visualization of Data

Page 22: Profiling, Tracing, Debugging and Monitoring Frameworks

Research Areas

Compact representation of trace files Minimize overhead due to tracing

Page 23: Profiling, Tracing, Debugging and Monitoring Frameworks

Further Reading

Review of performance analysis tools for MPI programs (www.netlib.org/utk/people/JackDongarra/PAPERS/perftools-review2.pdf)

TotalView Hands-on Exercises(http://www/llnl/gov/computing/tutorials/workshops/workshop/total_view/MAIN.html