ParaDyn is a performance analysis tool originally developed for the CM-5, that has recently been ported to PVM on Sun workstations [MHC94]. The tool supports an automated search for the primary performance bottlenecks in long-running programs.
It is based on the search model [HM93] that introduces three axes along which performance bottlenecks can be tracked down using a stepwise refinement approach. The ``why'' axis builds a hierarchy of predefined hypotheses for the bottleneck's reason. On each level, the tool can apply tests to determine whether a hypothesis offered at that level is true. If a hypothesis, e.g. SyncBottleneck holds, the user can refine along the axis to discriminate between the subsidiary hypotheses, e.g. FrequentSyncOperations and HighSyncBlockingTime. The ``where'' axis is a similar hierarchy allowing to identify the program resources, like synchronization objects, source code or processes, that are related to the bottleneck. The ``when'' axis finally allows to find specific phases in the program's execution where the bottleneck occurs. Refinements along the three axes can be performed either automatically by the tool or guided by the user.
In contrast to Xab and XPVM, ParaDyn does not use an extended PVM library that generates event traces, but uses an on-line approach for monitoring, where the program is instrumented as needed using the UNIX ptrace interface. The instrumentation code then updates counters and timers that are periodically sampled by the ParaDyn tool.