PTLIB Review of XPVM
See the PTLIB Review of Parallel Debuggers and
Performance Analyzers which includes this evaluation of XPVM
for the review criteria and methodology as well as a comparison
with other similar tools.
Performance
- Acceptable monitoring overhead
- No.
- Intrusion compensation
- No.
- Acceptable response time
- Overhead can make response time unacceptable in some cases.
- Memory/disk requirements
- Only requires 2.6 megs of Hard Drive space.
- Scalable data collection
- No.
- Scalable data presentation
- Yes. The user has the ability to zoom in or out while using
XPVM's graphical views.
Versatility
- Languages/programming models/
communication libaries supported
- C and Fortran / PVM
- Runs on currently popular platforms
- Yes. Sun Sparc, DEC Alpha, IBM R6K, SGI IRIX
- Platform dependencies isolated
- Yes.
- Support for heterogeneous environment
- Yes. XPVM has the same heterogeneous environment support allowed
by PVM.
- Interacts with current or soon-to-be
standards (e.g., PVM, MPI, HPF)
- Yes.
- Uses SDDF
- Yes.
- Change/customize/add new views easily
- The space_time and utilization windows have a zoom feature which
allows the user to examine a particular segment of the program
more closely.
Ease of Use
- Documentation
- Clear and concise.
- Ease of installation
- Moderate (tcl/tk version must be setup correctly, etc.).
- Command-line interface
- N/A
- Window-based interface
- Excellent X-windows based 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
- PVM calls can be observed as they are invoked, but XPVM is
not a debugger.
- Automated instrumentation
- Yes.
- Compile without special linking
- Yes. No linking required beyond the linking necessary for any
PVM applications.
Maturity
- Runs without crashing the monitored program
- Yes. Does not crash monitored program.
- Reports and recovers from error conditions
- No.
- Support
- It is supported and response times are quick.
Capabilities
- Support for multiple threads per node
- No.
- Presents different levels of abstraction,
from global to individual threads,
procedures, or data structures
- Does not allow the user to view at the procedure or data structure
level. However, the user is able to view each process' call to
PVM routines.
- Single point control for parallel debugging
- Yes. Although XPVM is NOT a parallel debugger, the call_trace
monitoring window is quite useful for debugging.
- Attach/detach to/from running program
- No.
- Breakpoints and data watchpoints
- No.
- Program state examination
- No.
- Program state modification
- No.
- Event tracing mechanism
- Yes. XPVM creates a tracefile which may be replayed instead
of executing the program again.
- Cache and memory reference tracking/display
- No.
- Remote data access pattern analysis
- No.
- Message tracing/display
- Yes.
- Input/output characterization
- No.
- Real-time monitoring
- Yes.
- Post-mortem analysis
- Yes.
- Profiling at level of subprocedures and
coarse blocks
- No.
- Utilization display
(communications/idle/IO/computation)
- Yes. XPVM features both space_time and utilization monitoring
windows. The space_time window allows the user the view
the status of each task by viewing its horizontal bar
representation. The utilization window simply displays
the aggregate number of tasks in any particular state
(computation, overhead, or waiting).
- Performance prediction
- No.
- Comparisons between different runs
- No.
Other
- Commercial/research
- Research.
- Cost
- Freely available.
Software Obtained
- Location
- http://unix.hensa.ac.uk/netlib/pvm3/xpvm
- Date
- Early August, 1996
- Version
- Version 1.1.1
Summary
XPVM is a quite useful and user-friendly version of PVM that runs
under X-windows and includes both monitoring and debugging features.
The user is able to add or delete machines dynamically from his/her
virtual machine just as with PVM. XPVM also has a Network View
window which shows each of the machines in the virtual machine
(with a different picture for each unique architecture supported)
and gives each of these pictures a color representing the state of
that machine (active/system/no tasks). In addition to this window,
XPVM has several other views for monitoring a parallel program
(space_time (timeline), utilization, call_trace, etc.). The
call_trace window can be quite useful for debugging purposes.
Combining these attributes with the fact that XPVM can do both
run-time and post-mortem analysis, most users would find XPVM to
be a robust and useful tool for monitoring/debugging parallel code.
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