Next: The pC++ Program Up: Program Analysis Environments for Previous: Program Analysis Environments for

Introduction

The trend towards using high-level parallel language systems to program scalable parallel computers must be accompanied by advances in the tools and environments for program analysis and tuning. The language system concerns are achieving programmability through parallel programming abstractions, portability through retargetable runtime systems, and scalability and performance through restructuring and optimizing compiler tools. These concerns lead to a new set of requirements for program analysis support: analysis based on language/program semantics, portable measurement and analysis infrastructure, and compiler-integrated analysis. These requirements are difficult to address using general-purpose parallel tools because of the tight logical coupling that is necessary between the language model and program analysis functionality. Moreover, for evaluating the usability and programmer productivity issues associated with parallel program analysis tools it is important to have an application- or language-specific context.

TAU (TAU, Tuning and Analysis Utilities) is a parallel program analysis environment that we have designed and developed for the parallel object-oriented language system pC++. In this paper, we describe the TAU design and show how programming productivity requirements for pC++ are addressed in its implementation. It is not our goal to propose TAU as a general purpose solution to parallel program analysis. Rather, our goal is to demonstrate the potential benefits of a new development strategy for program analysis tools, one that promotes meeting specific language analysis requirements over providing general purpose functionality.

The TAU program analysis environment is described in §2. The pC++ language is reviewed to establish TAU's design requirements, then the TAU architecture is presented. Some of the TAU static and dynamic analysis tools have been covered in detail elsewhere (see [10][9]). Instead of reiterating that discussion (a brief description is given in §2.1 and §2.2), we focus on the latest TAU tool for breakpoint-based program analysis in §3. Future directions are discussed in §4.



Next: The pC++ Program Up: Program Analysis Environments for Previous: Program Analysis Environments for


mohr@cs.uoregon.edu
Tue May 31 11:08:16 PDT 1994