Modeling and Detecting Performance Problems for Distributed and Parallel Programs with JavaPSL
In this paper we present a systematic approach to model and detect performance problems by using JavaPSL, a Performance Specification Language for distributed and parallel programs. JavaPSL is a Java library used to specify performance properties (e.g., communication and synchronization overhead) of distributed and parallel programs based on experiment-related data (e.g. code regions, target machines, and performance summaries). Powerful mechanisms of Java, in particular, polymorphism, abstract classes, and reflection, are used to describe performance properties. A variety of pre-defined performance properties which examine, for instance, the scalability behavior of a program, are supported to analyze one or several experiments. Moreover, JavaPSL provides meta-properties in order to describe new properties based on existing ones. We have implemented a prototype performance tool that uses JavaPSL to detect performance bottlenecks for MPI, OpenMP, and hybrid programs. Several experiments with realistic codes demonstrate the usefulness of JavaPSL.
Top- Seragiotto, Clovis
- Fahringer, T.
Category |
Technical Report (Technical Report) |
Divisions |
Scientific Computing |
Publisher |
Institute for Software Science, University of Vienna |
Date |
August 2002 |
Official URL |
http://www.par.univie.ac.at/publications/download/... |
Export |