PTLIB Review of Upshot

See the PTLIB Review of Parallel Debuggers and Performance Analyzers which includes this evaluation of Upshot for the review criteria and methodology as well as a comparison with other similar tools.

Performance

Acceptable monitoring overhead
No. Because data collection is not scalable, monitoring overhead can become unacceptable.

Intrusion compensation
No.

Acceptable response time
No. Actually the response time using upshot's interface can be quite slow.

Memory/disk requirements
MPI requires a fair amount of hard drive space (19 megs). Upshot itself only takes up a minimal amount of space though.

Scalable data collection
No.

Scalable data presentation
Yes. By zooming in on the particular portion of the graph that the user is interested in.

Versatility

Languages/programming models/ communication libaries supported
C and Fortran / MPI

Runs on currently popular platforms
Yes. Workstation clusters running various versions of UNIX, IBM SP1, IBM SP2, Intel i860, Intel Paragon, Ncube 2, Thinking Machines CM5, Convex Exemplar, Meiko CS2, CRAY T3D

Platform dependencies isolated
Yes.

Support for heterogeneous environment
No. Although MPI supports a heterogeneous environment, upshot was designed to view logfiles created from homogeneous runs.

Interacts with current or soon-to-be standards (e.g., PVM, MPI, HPF)
Yes. Upshot was designed to analyze logfiles which have been created by MPI using the MPE libraries.

Uses SDDF
No.

Change/customize/add new views easily
Yes. The user can either zoom vertically or horizontally to view a smaller (or larger) piece of the graph generated by upshot.

Ease of Use

Documentation
Below average. The documentation seems to consist only of the brief description of upshot in the otherwise adequate MPI user's guide.

Ease of installation
Fairly easy. Tcl and Tk must be setup properly though.

Command-line interface
No.

Window-based interface
Nice, simple, easy-to-use X-Windows interface.

GUI common look-and-feel (OSF/Motif Style Guide)
Yes. The windows behave as the user would expect.

Privilege-free installation
Yes.

Reports information at source code level
No.

Automated instrumentation
Yes. The user may also instrument by hand if desired.

Compile without special linking
No. To use upshot with MPI, the user's code must be linked with the MPE libraries.

Maturity

Runs without crashing the monitored program
No. Upshot does NOT crash the programs it is used to monitor.

Reports and recovers from error conditions
One problem. I have caused upshot to crash (recursive loop problem) by "zooming too much".

Support
Above average, the user may email mpi-bugs@mcs.anl.gov.

Capabilities

Support for multiple threads per node
No.

Presents different levels of abstraction, from global to individual threads, procedures, or data structures
The user is able to view how long is spent on each task within each process.

Single point control for parallel debugging
No. Upshot is used on logfiles as a monitoring tool - not a debugger.

Attach/detach to/from running program
No.

Breakpoints and data watchpoints
No.

Program state examination
No.

Program state modification
No.

Event tracing mechanism
Yes. Upshot uses log files created by MPI as its input.

Cache and memory reference tracking/display
No.

Remote data access pattern analysis
No.

Message tracing/display
No.

Input/output characterization
No.

Real-time monitoring
No.

Post-mortem analysis
Yes. Upshot may be used to examine event logs generated by MPI using the MPE library.

Profiling at level of subprocedures and coarse blocks
No.

Utilization display (communications/idle/IO/computation)
Yes. Upshot displays a graph showing when each particular process is working on each task.

Performance prediction
No.

Comparisons between different runs
No.

Other

Commercial/research
Research.

Cost
Freely available.

Software Obtained

Location
http://www.erc.msstate.edu/mpi/

Date
Early August, 1996

Version
Version 1.0.13 (July 26, 1996)

Summary

Upshot is a valuable tool for monitoring parallel programs using MPI by the mere fact that it is one of the few MPI monitoring tools available. This does not mean that upshot is not a valuable tool in its own right. Actually, upshot is the ideal tool for a user who would simply like to have a tool that is easy to use and that provides information about when each processor is working on a given task. The fact that upshot is distributed with MPI (it can be found in the profiling directory) only further enhances its attractiveness because the user does not have to struggle with the installation of an additional program.

Ratings (Worse 1 ... 5 Better)

Click here to view a screen shot
Reviewed by Chris Hastings, hastings@cs.utk.edu
Aug. 13, 1996