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)
- Performance: x
- Versatility: x
- Ease of Use: x
- Maturity: x
- Capabilities: x
- OVERALL: x
Click here to view a screen shot
Reviewed by Chris Hastings, hastings@cs.utk.edu
Aug. 13, 1996