PTLIB:
Evaluation Properties for Parallel Debuggers
and Performance Analyzers

Examination of program state
BDE-2b
Mechanism for examining the final state of a failed application in terms of source-level constructs, but access to source-level information may be limited if the code was not compiled for debugging (BDE-2e)

Event tracing
Event tracing mechanism for generating event records including timestamp and event type designator and formatted in SDDF with (BDE-2g)

Execution replay
Re-executing a message-passing program with the same event ordering as in a previous execution (helpful in debugging nondeterministic programs).

Handles optimized code
In presence of code optimization, mechanism for reporting minimal information on program state (stack traceback, access to variables that have not been eliminated) and some degree of control over program execution (breakpoints where possible, single-stepping at some level, stepping over subroutines) (BDE-2d)

Input/output characterization
Providing data on I/O performance characteristics such as queue lengths, delays, service times, and request throughputs, so that the programmer can adjust placement of data across multiple storage devices, and select appropriate caching and prefetch policies.

Message tracing/display
For all supported message-passing libraries, mechanism for tracing message sends, receives, and synchronizations, at least to the level supported interactively by the Ptool Consortium's message queue manager. (BDE-2h)

Modification of program state
Change contents of variables, aggregates, and blocks of memory (BDE-2b)

Profiling
Capability of profiling CPU time distribution from all processes/threads at the levels of subprocedures and coarse blocks (e.g., large loops) with (BDE-2f)

Race detection
In a message passing program, a race condition exists when two or more messages are in transit to the same receive operation. Some races, such as when a master process collects results from slaves and message order is irrelevant, are benign. Others are unintended and are the result of a race-causing bug.

Remote data access pattern analysis
Analysis of communication costs with respect to distributed data structures, to assist the programmer in tuning data alignments and distributions -- e.g., in HPF.

Single point of control for parallel debugging
(BDE-2b)

Source code level reporting
Reports debugging information at level of application source code (before preprocessing) for baseline languages (C, Fortran 77), including support for mixed language applications (BDE-2b)

Statistical analysis
Performance statistics analysis whereby performance measures obtained for individual PEs/processes are reported and summarized for the entire application, including (BDE-2i)

Thread support
Support for multiple threads per node, including ability to


Last updated on August 14, 1996
ptlib_maintainers@netlib.org