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)

Click here to view a screen shot
Reviewed by Chris Hastings, hastings@cs.utk.edu
Aug. 13, 1996