Comparisons of Performance Consultant exigency searches
using old module-based and new callgraph-based approaches
with various applications on a range of systems.
Paradyn will be demonstrated analyzing the execution performance of a
distributed application running on a heterogeneous assembly of
workstations, including new platforms to which Paradyn has recently
been ported.
[Brian Wylie]
Demonstration of Paradyn with applications using a heterogeneous
collection of processors running SPARC/Solaris, x86/Solaris,
x86/Linux & MIPS/Irix.
Paradyn has been extended to profile threaded programs by incorporating
techniques developed to dynamically instrument and associated
performance dats to individual threads using a "Same Instrumentation
Code Multiple Data" design. Thread-conscious locking is introduced to
avoid "self-deadlock" that could result from instrumenting thread
context switches, and per-thread virtual timers reduce the number of
expensive timer calls. Paradyn uses "inferior RPC" (aka
oneTimeCode) to trigger instrumentation after execution has
passed the insertion point, and a safe mechanism was devised to handle
the presence of threads. As a result detailed performance information
can be obtained for threaded programs without requiring special
compiling and linking.
[Zhichen Xu]
Demonstration showing how the thread-aware Paradyn can provide
detailed performance information for Sun's multithreaded Java Virtual
Machine (JVM), based on run-time instrumentation of Solaris threads
on an UltraSPARC II.
Whereas Paradyn dynamically instruments user processes, KernInst
dynamically instruments the operating system kernel. No special
operating system preparation is needed; KernInst instruments stock,
unmodified, already-running operating systems.
[Ariel Tamches]
The kperfmon real-time kernel performance profiling tool that
communicates with the kerninstd kernel instrumentation server will be
demonstrated on Solaris 7 running on an UltraSPARC CPU.
Static determination of whether it is safe to load untrusted machine
code into a trusted host system.
[Zhichen Xu]
Demonstration of a prototype safety checker for SPARC machine-language
programs applied to several simple examples (ranging from code that
contains just a few branches, to code that contains nested loops). The
safety checker is able to mechanically synthesize the loop invariants
in all cases, and prove that these examples meet the necessary safety
conditions, in times ranging from less than a second to about 6 seconds.
Views each execution of an application in development as a scientific
experiment and provides functionality to answer questions about its
performance which span more than a single execution, code version or
environment. Historic performance data analysed in this way has been
exploited to improve subsequent parallel program performance diagnosis.
[Wei Zhou & Omer Zaki]
Demonstration of a prototype Java-based interactive environment for
classifying, inventorying and sifting experiments using execution and
exigency search data from Paradyn and the Draco scientific application
as it was developed and run in various environments.
Last modified:
Sun Mar 19 20:44:38 CST 2000
by
wylie