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