PTLIB Review of Xmdb
See the PTLIB Review of Parallel Debuggers and
Performance Analyzers which includes this evaluation of Xmdb
for the review criteria and methodology as well as a comparison
with other similar tools.
Performance
- Acceptable monitoring overhead
-   When I tested Xmdb, the monitoring overhead appeared to be about 30%.
 
- Intrusion compensation
-   N/A.
 
- Acceptable response time
-   Yes.
 
- Memory/disk requirements
-   Xmdb only requires 2 megs of hard drive space.
 
- Scalable data collection
-   No.
 
- Scalable data presentation
-   No.
Versatility
- Languages/programming models/
communication libaries supported
-   C and Fortran / PVM
 
- Runs on currently popular platforms 
-   Yes.  SunOs 4.1.x, Solaris, HP-UX, SGI IRIX, Cray Y-MP 
 
- Platform dependencies isolated
-   Yes.
 
- Support for heterogeneous environment
-   No.  Not simultaneously.  
 
- Interacts with current or soon-to-be
standards (e.g., PVM, MPI, HPF)
-   Yes.
 
- Uses SDDF
-   No.
 
- Change/customize/add new views easily
-   No.
Ease of Use
- Documentation
-   The documentation is quite good.  Each of Xmdb's features is
  explained in detail.
 
- Ease of installation
-   Fairly easy if Tcl and Tk are setup correctly.
 
- Command-line interface
-   No.
 
- Window-based interface
-   Yes.  Xmdb has a user-friendly 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
-   Errors are able to be detected between each pvm_recv called
  by the controlled process.  The received messages are held 
  in a queue.
 
- Automated instrumentation
-   Yes.
 
- Compile without special linking
-   No.  Xmdb does require the user's program to be linked with
       libmdb.a (included with xmdb).
Maturity
- Runs without crashing the monitored program
-   Yes.  It does not crash the monitored program.
 
- Reports and recovers from error conditions
-   Yes.
 
- Support
-   The questions I had were answered promptly by email.
Capabilities
Support for multiple threads per node
  No.
Presents different levels of abstraction, 
from global to individual threads, 
procedures, or data structures
  No.
Single point control for parallel debugging
  Yes.  The purpose of Xmdb is to give the user a single point of control 
        to debug a parallel program.
Attach/detach to/from running program
  Yes.
Breakpoints and data watchpoints
  Yes.  Xmdb sets breakpoints at every pvm_recv call and at the first
        PVM call made by the controlled process (the process on which
        the user is concentrating).
Program state examination
  No.
Program state modification
  No.
Event tracing mechanism
  Yes.  Xmdb has a replay feature to help fight against the common
        problem of unrepeatability in programs.
Cache and memory reference tracking/display
  No.
Remote data access pattern analysis
  No.
Message tracing/display
  Yes.
Input/output characterization
  Yes.  Xmdb has a message queue which can be viewed at any time.
        This queue holds the PVM communication messages received 
        from spawned processes.
Real-time monitoring
  Yes.
Post-mortem analysis
  Yes.  Using the replay mechanism, the user may reproduce the 
        current execution if an error has been encountered.
Profiling at level of subprocedures and
coarse blocks
  No.
Utilization display
(communications/idle/IO/computation)
  No.
Performance prediction
  No.
Comparisons between different runs
  No.
Other
- Commercial/research
-   Research.
 
- Cost
-   Freely available.
Software Obtained
- Location
-   http://www-c8.lanl.gov/dist_comp2/mdb/mdb.html
 
- Date
-   Early August, 1996
 
- Version
-   Version 1.0
Summary
    Xmdb offers the user a clean and simple single point control for
  debugging purposes.  Xmdb uses what it commonly referred to as
  controlled execution.  Xmdb simply blocks messages which are supposed
  to be delivered to the controlled process.  The user is able to 
  control when the messages which have been withheld are delivered to
  the control process.  While Xmdb may not have as many features as
  some of the debuggers which also are parallel monitors (eg. Pangaea),
  the manner in which Xmdb operates is easy for the user to follow.  
  This fact alone is enough to cause some users to pick Xmdb over
  other parallel debuggers.
  
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