Fortran Instrumentation Environment for Pablo



Objective: To extend the Pablo performance evaluation system from the University of Illinois at Urbana-Champaign to make it a more effective and more usable tool for the performance analysis of ESS applications, in conjunction with the Scalable I/O initiative. The emphasis of this work is on the understanding of parallel I/O performance on a variety of scalable parallel systems.

Approach: The need for Fortran instrumentation environment was identified during the Pablo evaluation stage, since Fortran is the most widely used programming language in ESS applications. The Fortran instrumentation environment has been developed using C, C++, yacc, lex, X11R5 and Motif. Inside this instrumentation environment, a Fortran program is first parsed to produce an internal parsing tree description. This parsing tree description is then used by the graphical user interface to indicate all potential instrumentation points. It is also used by the code generator to produce the instrumented code. To balance the needs for detailed information and less perturbation, there are four types of trace events. They are procedure tracing, loop tracing, message tracing, and I/O tracing.

Accomplishments: The Fortran instrumentation environment has three components: the Fortran parser that identifies all potential instrumentation points; the graphical user interface for interactively specifying code instrumentation point; and the code generator that emits source code with embedded calls to trace capture library. Integrated with the Pablo package, it provides a powerful tool for performance evaluation.

Significance: The Fortran instrumentation environment extends Pablo's ability for performance evaluation for scientific/engineering oriented applications as users will be able to instrument their Fortran code without the painstaking and error prone efforts of manual instrumentation.

Status/Plans: Most of the implementation is completed. More testing and bug fixing are needed before release. We will continue to work with the University of Illinois and the Scalable I/O Initiative to understand the ESS performance issues.

Point of Contact:
Chuigang Fu
Jet Propulsion Laboratory
cfu@smokeymt.jpl.nasa.gov
(818) 354-0969