Automatic Search for Performance Problems in Parallel and Distributed Programs by Using Multi-experiment Analysis
We introduce Aksum, a novel system for performance analysis that helps programmers to locate and to understand performance problems in message passing, shared memory and mixed parallel programs. The user must provide the set of problem and machine sizes for which performance analysis should be conducted. The search for performance problems (properties) is user-controllable by restricting the performance analysis to specific code regions, by creating new or customizing existing property specifications and property hierarchies, by indicating the maximum search time and maximum time a single experiment may take, by providing thresholds that define whether or not a property is critical, and by indicating conditions under which the search for properties stops. Aksum automatically selects and instruments code regions for collecting raw performance data based on which performance properties are computed. Heuristics are incorporated to prune the search for performance properties. We have implemented Aksum as a portable Java-based distributed system which displays all properties detected during the search process together with the code regions that cause them. A filtering mechanism allows the examination of properties at various levels of detail. We present an experiment with a financial modeling application to demonstrate the usefulness and effectiveness of our approach.
KeywordsSearch Engine Code Region Performance Property Search String Property Instance
Unable to display preview. Download preview PDF.
- Siegfried Benkner. VFC: The Vienna Fortran Compiler. Journal of Scientific Programming, 7(1): 67–81, 1999.Google Scholar
- Engelbert Dockner and Hans Moritsch. Pricing Constant Maturity Floaters with Embedded Options Using Monte Carlo Simulation. Aurora Technical Reports, University of Vienna. January, 1999.Google Scholar
- Antonio Espinosa, Tomàs Margalef, and Emilio Luque. Automatic Performance Evaluation of Parallel Programs. IEEE Proceedings of the 6th Euromicro Workshop on Parallel and Distributed Processing. January, 1998.Google Scholar
- Thomas Fahringer, Michael Gerndt, Bernd Mohr, Feliz Wolf, Graham Riley, and Jesper Larsson Träff. Knowledge Specification for Automatic Performance Analysis. http://www.fz-juelich.de/apart-1/reports/wp2-asl.ps.gz. January, 2001.
- Thomas Fahringer and Clovis Seragiotto. Modeling and Detecting Performance Problems for Distributed and Parallel Programs with JavaPSL. Proceedings SC 2001, November, 2001.Google Scholar
- Michael Gerndt, Andreas Schmidt, Martin Schulz, Roland Wismüller. Performance Analysis for Teraflop Computers. A Distributed Approach. 10th Euromicro Workshop on Parallel, Distributed and Network-based Processing. January, 2002.Google Scholar
- Mark Grand. Patterns in Java, Volume 1. Wiley, 1998.Google Scholar
- Barton P. Miller, Mark D. Callaghan, Jonathan M. Cargille, Jeffrey K. Hollingsworth, R. Bruce Irvin, Karen L. Karavanic, Krishna Kunchithapadam, and Tia Newhall. The Paradyn Parallel Performance Measurement Tool. IEEE Computer, November 1995.Google Scholar
- Hong-Linh Truong, Thomas Fahringer. SCALEA: A Performance Analysis Tool for Distributed and Parallel Program. 8th International Europar Conference, August, 2002.Google Scholar
- Jeffrey Vetter. Performance Analysis of Distributed Applications using Automatic Classification of Communication Inefficiencies. In Proceedings of the 14th International Conference on Supercomputing, pp. 245–254, Santa Fe, New Mexico, May, 2000.Google Scholar
- Felix Wolf, Bernd Mohr. Automatic Performance Analysis of SMP Cluster Applications. Internal Report, Forschungszentrum Jülich GmbH. August, 2001.Google Scholar