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)
- Performance: x
- Versatility: x
- Ease of Use: x
- Maturity: x
- Capabilities: x
- OVERALL: x
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