Περίληψη |
The ever increasing complexity of parallel application along with the variety of architectures and systems on which parallel applications run, combined with the ever increasing demands of the programmers and users, impose the perpetual evolution of {\em Parallel Performance Analysis Tools} (PPA tools). This evolution must be reflected to improvements in speed, efficiency, and ease of use of PPA tools. Every little detail of those tools should be designed very cautiously and new approaches should be adopted in order for competitive PPA tools to be constructed. {\em ArrayTracer} is a PPA tool. Its basic characteristics are that it functions at source code level, introduces minimum overhead to the running applications, causes minimum perturbation to application's control flow and minimizes the volume of the traces. It collects traces either at the {\em Static Analysis phase} or during the execution of the application and processes them at post-mortem time. During the Static Analysis, all the available information concerning the behavior that the application will show when it executes, is extracted and stored in {\em Static trace-files}. The rest of the information depends on the run-time user input and is captured in traces which are produced during application's execution. In order for the application to produce those traces, {\em instrumentation code} is inserted into application's source code during the Static Analysis phase. Trace produced at run-time are stored in {\em Dynamic trace-files}. The current implementation of {\em ArrayTracer} operates on applications written in {\em Fortran} and using {\em PVM} for interprocess communication.
|