Modeling and Detecting Performance Problems for Distributed and Parallel Programs with JavaPSL

Modeling and Detecting Performance Problems for Distributed and Parallel Programs with JavaPSL

Abstract

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.

Grafik Top
Authors
  • Seragiotto, Clovis
  • Fahringer, T.
Grafik Top
Shortfacts
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
Grafik Top