PTLIB Review of XLCB

See the PTLIB Review of Parallel Debuggers and Performance Analyzers which includes this evaluation of XLCB for the review criteria and methodology as well as a comparison with other similar tools.

We based this review on the LCB reference implementation command-line and graphical user interfaces, which we invoked on provided example core files, because this was all that was available to us for testing.

Performance

Acceptable monitoring overhead
Not applicable to the user interface. However, the efficiency with which corefiles are generated by vendor implementations will be important to usability of the tool. The "lightweight"ness of the corefile format is intended to make corefile generation efficient.

Intrusion compensation
Not applicable.

Acceptable response time
Yes.

Memory/disk requirements
This package takes up very little room (under 6 megs) and does not use much memory either.

Scalable data collection
Not applicable to user interface.

Scalable data presentation
Yes, the command-line interface gives only essential information about the failing process (or just one if more than one failed). The graphical interface provides both a concise overview and a more detailed call graph view.

Versatility

Languages/programming models/ communication libaries supported
Not applicable.

Runs on currently popular platforms
Solaris, SunOS, HP-UX and AIX

Platform dependencies isolated
Not applicable.

Support for heterogeneous environment
Not applicable.

Interacts with current or soon-to-be standards (e.g., PVM, MPI, HPF)
Not applicable.

Uses SDDF
No, proposes the LCB standard corefile format.

Change/customize/add new views easily
No.

Ease of Use

Documentation
The documentation is provided on Web pages. A readme file is also included with the source which explains how to compile and install the user interfaces. The installation instructions should explain how to modify the master.mk.in file to specify locations of the Tcl and Tk libraries and include files, and how to set the TCL_LIBRARY and TK_LIBRARY environment variables. The user's guides should also be included with the source code so that the user doesn't have to refer to the Web pages.

Ease of installation
Fairly Easy to install but you must have tk4.0 and tcl 7.4 for XLCB to be installed properly.

Command-line interface
Yes.

Window-based interface
Yes.

GUI common look-and-feel (OSF/Motif Style Guide)
Yes, this package has a common feel window display.

Privilege-free installation
Yes, this does not require special privileges for installation

Reports information at source code level
Yes.

Automated instrumentation
The intention is for vendors who adopt LCB to generate the lightweight corefile automatically upon program failure. The LCB project also proposes a standard API callable from Fortran and C that defines routines callable from a user program to generate a standard lightweight corefile.

Compile without special linking
Not applicable.

Maturity

Runs without crashing the monitored program
Not applicable.

Reports and recovers from error conditions
No errors encountered.

Capabilities

Support for multiple threads per node
Apparently yes, since the documentation describes a node/process/thread list for the routine detail display, although the provided examples only illustrated processes.

Presents different levels of abstraction, from global to individual threads, procedures, or data structures
Yes, global view as well as call graph view as well as information about individual nodes in call graph.

Single point control for parallel debugging
Yes, comprehensive dynamic program location for all processes is provided by the graphical browser tool.

Attach/detach to/from running program
Not applicable.

Breakpoints and data watchpoints
Possible if LCB is integrated with a debugger.

Program state examination
No, but the documentation clearly states that this is not a function of LCB, but should be provided instead by a debugger.

Program state modification
Not applicable.

Event tracing mechanism
Not applicable.

Cache and memory reference tracking/display
Not applicable.

Remote data access pattern analysis
Not applicable.

Message tracing/display
Not applicable.

Input/output characterization
Not applicable.

Real-time monitoring
No, unless you pipe the output to it. So it can be done on the fly with a few modifications.

Post-mortem analysis
Yes.

Profiling at level of subprocedures and coarse blocks
Not applicable.

Utilization display (communications/idle/IO/computation)
Not applicable.

Performance prediction
Not applicable.

Comparisons between different runs
Not applicable.

Other

Commercial/research
research

Cost
Free

Webpage
http://www.nero.net/~pancake/ptools/lcb/.

Version Date
May 1996

Version
1.1

Summary

LCB is a very specialized tool for looking at core files that are in the lcb format. It shows where your parallel program actually failed. The main problem with this tool is that it is not yet generally available because the backend must be implemented by vendors.

Ratings (Worse 1 ... 5 Better)

Click here to view a screen shot
Reviewed by Kevin London, london@cs.utk.edu
Oct 4, 1996

Review updated by Shirley Browne, browne@cs.utk.edu
Jan 6, 1997