portable parallel performance tools shirley browne, utk clay breshears, cewes msrc jan 27-28, 1998
TRANSCRIPT
![Page 1: Portable Parallel Performance Tools Shirley Browne, UTK Clay Breshears, CEWES MSRC Jan 27-28, 1998](https://reader036.vdocument.in/reader036/viewer/2022083005/56649f265503460f94c3cbf9/html5/thumbnails/1.jpg)
Portable Parallel Performance Tools
Shirley Browne, UTK
Clay Breshears, CEWES MSRC
Jan 27-28, 1998
![Page 2: Portable Parallel Performance Tools Shirley Browne, UTK Clay Breshears, CEWES MSRC Jan 27-28, 1998](https://reader036.vdocument.in/reader036/viewer/2022083005/56649f265503460f94c3cbf9/html5/thumbnails/2.jpg)
Overview
• Tool-assisted performance analysis and tuning• Post-mortem analysis of trace files
– AIMS– MPE logging and nupshot– Pablo– VAMPIR
• Run-time analysis using dynamic instrumentation– Paradyn
![Page 3: Portable Parallel Performance Tools Shirley Browne, UTK Clay Breshears, CEWES MSRC Jan 27-28, 1998](https://reader036.vdocument.in/reader036/viewer/2022083005/56649f265503460f94c3cbf9/html5/thumbnails/3.jpg)
Schedule - Tuesday, Jan. 27
• 9:00-10:00
– Trace file generation, MPI profiling interface, trace file formats, analysis techniques
• 10:00-12:00
– Overview of AIMS, nupshot, VAMPIR, SvPablo
• 12:00-1:30
– Lunch
• 1:30-5:00
– Introductory hands-on exercises using trace file generation and analysis tools
![Page 4: Portable Parallel Performance Tools Shirley Browne, UTK Clay Breshears, CEWES MSRC Jan 27-28, 1998](https://reader036.vdocument.in/reader036/viewer/2022083005/56649f265503460f94c3cbf9/html5/thumbnails/4.jpg)
Schedule - Wed., Jan. 28
• 9:00-10:15
– Pablo TraceLibrary and Analysis GUI
• 10:30-11:30
– Dynamic instrumentation and Paradyn
• 11:30-1:00
– Lunch
• 1:00-2:00
– Hands-on exercise using Paradyn
• 2:00-5:00
– Bring Your Own Code hands-on exercise
![Page 5: Portable Parallel Performance Tools Shirley Browne, UTK Clay Breshears, CEWES MSRC Jan 27-28, 1998](https://reader036.vdocument.in/reader036/viewer/2022083005/56649f265503460f94c3cbf9/html5/thumbnails/5.jpg)
Tool-assisted Performance Analysis
Developperformance
model
Instrumentsource code(optional orautomatic)
Link withinstrumentation
library
Generatetracefile during
program execution
Analyze trace file
Compare modelpredictions withmeasurements
Tune code and/orrevise model
![Page 6: Portable Parallel Performance Tools Shirley Browne, UTK Clay Breshears, CEWES MSRC Jan 27-28, 1998](https://reader036.vdocument.in/reader036/viewer/2022083005/56649f265503460f94c3cbf9/html5/thumbnails/6.jpg)
Source Code Instrumentation
• MPI profiling interface (MPE logging, Pablo MPI trace library, VAMPIRtrace)
• Automatic parsing and insertion of calls to tracing routines (AIMS, SvPablo)
• By hand insertion of calls to tracing routines (MPE logging, Pablo basic and I/O trace library, VAMPIRtrace)
![Page 7: Portable Parallel Performance Tools Shirley Browne, UTK Clay Breshears, CEWES MSRC Jan 27-28, 1998](https://reader036.vdocument.in/reader036/viewer/2022083005/56649f265503460f94c3cbf9/html5/thumbnails/7.jpg)
MPI Profiling Interface
• Conforming implementation of MPI must– Provide a mechanism through which all the
MPI functions may be accessed with a name shift (All MPI functions which normally start with MPI_ should also be accessible with the prefix PMPI_)
– Provide a no-op routine MPI_PCONTROL
![Page 8: Portable Parallel Performance Tools Shirley Browne, UTK Clay Breshears, CEWES MSRC Jan 27-28, 1998](https://reader036.vdocument.in/reader036/viewer/2022083005/56649f265503460f94c3cbf9/html5/thumbnails/8.jpg)
MPI Profiling Interface (cont)
• Goal - enable authors of profiling (and other) tools to interface to MPI implementations without access to the underlying implementation
• Enables interception of all MPI calls made by the user program
![Page 9: Portable Parallel Performance Tools Shirley Browne, UTK Clay Breshears, CEWES MSRC Jan 27-28, 1998](https://reader036.vdocument.in/reader036/viewer/2022083005/56649f265503460f94c3cbf9/html5/thumbnails/9.jpg)
Example Profiling Routine
static int totalBytes;static double totalTime;int MPI_Send(void *buffer, const int count, MPI_Datatype datatype, int dest, int tag, MPI_comm comm)
{
double tstart = MPI_Wtime(); int extent; int result = PMPI_Send(buffer,count,datatype,dest, tag,comm); MPI_Type_size(datatype,&extent); /* Compute size */ totalBytes += count * extent; totalTime += MPI_Wtime() - tstart; return result;}
![Page 10: Portable Parallel Performance Tools Shirley Browne, UTK Clay Breshears, CEWES MSRC Jan 27-28, 1998](https://reader036.vdocument.in/reader036/viewer/2022083005/56649f265503460f94c3cbf9/html5/thumbnails/10.jpg)
Control of Profiling
• MPI_PCONTROL() allows user to– enable and disable profiling during execution– flush trace buffers at non-critical points– add user events to a trace file
• Default state after MPI_INIT has been called is for profiling to be enabled at normal default level
![Page 11: Portable Parallel Performance Tools Shirley Browne, UTK Clay Breshears, CEWES MSRC Jan 27-28, 1998](https://reader036.vdocument.in/reader036/viewer/2022083005/56649f265503460f94c3cbf9/html5/thumbnails/11.jpg)
Trace File Formats
• Self-Defining Data Format (SDDF) - Pablo
• Alog - MPE logging
• VAMPIR
• AIMS
• IBM VT format
• PICL
![Page 12: Portable Parallel Performance Tools Shirley Browne, UTK Clay Breshears, CEWES MSRC Jan 27-28, 1998](https://reader036.vdocument.in/reader036/viewer/2022083005/56649f265503460f94c3cbf9/html5/thumbnails/12.jpg)
Parallel Tools Library (PTLIB)• http://www.nhse.org/ptlib/• Access to and information about parallel tools• Communication libraries, compilers,
debuggers, performance tools• Initial focus on parallel performance tools• Parallel Tools Digest• Discussion forums
![Page 13: Portable Parallel Performance Tools Shirley Browne, UTK Clay Breshears, CEWES MSRC Jan 27-28, 1998](https://reader036.vdocument.in/reader036/viewer/2022083005/56649f265503460f94c3cbf9/html5/thumbnails/13.jpg)
PTLIB Evaluation of Performance Tools for MPI
• Tracefile generation and analysis tools– AIMS– MPE logging and nupshot– Pablo– VAMPIR
• Automated runtime analysis tool– Paradyn
![Page 14: Portable Parallel Performance Tools Shirley Browne, UTK Clay Breshears, CEWES MSRC Jan 27-28, 1998](https://reader036.vdocument.in/reader036/viewer/2022083005/56649f265503460f94c3cbf9/html5/thumbnails/14.jpg)
PTLIB Evaluation Criteria
• Robustness
• Usability
• Scalability
• Portability
• Versatility
![Page 15: Portable Parallel Performance Tools Shirley Browne, UTK Clay Breshears, CEWES MSRC Jan 27-28, 1998](https://reader036.vdocument.in/reader036/viewer/2022083005/56649f265503460f94c3cbf9/html5/thumbnails/15.jpg)
PTLIB Evaluation Platforms
• UNIX workstations
• IBM SP
• Cray T3E
• SGI Power Challenge Array
• SGI Origin 2000
![Page 16: Portable Parallel Performance Tools Shirley Browne, UTK Clay Breshears, CEWES MSRC Jan 27-28, 1998](https://reader036.vdocument.in/reader036/viewer/2022083005/56649f265503460f94c3cbf9/html5/thumbnails/16.jpg)
Parallel Performance Tool Capabilities Post-
mortemanalysis
Automaticrun-timeanalysis
Sourcecode
clickback
State-timediagram
(zooming/scrolling)
Statisticalanalysis
Languages& platformssupported
AIMS x x x xFortran,CSGI , Sun,IBM SP
nupshot x x(x)Language-independentMost MPIplatforms
Paradyn(MPI version) x x
Fortran, C,HPF, C++IBM SP
SvPablo x x xANSI C, HPFSun, SGI
VAMPIR x x(x)Language-independentall platforms
![Page 17: Portable Parallel Performance Tools Shirley Browne, UTK Clay Breshears, CEWES MSRC Jan 27-28, 1998](https://reader036.vdocument.in/reader036/viewer/2022083005/56649f265503460f94c3cbf9/html5/thumbnails/17.jpg)
SDDF Example (cont.)
“Seek” {
[2] {
201803857,
0
}, 20.1803857, 70013, 0, 0.0031946, 3, 0, 0, 0 };;