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