Abstract
Optimizing a parallel program is often difficult. This is true, in particular, for inexperienced programmers who lack the knowledge and intuition of advanced parallel programmers. We have developed a framework that addresses this problem by automating the analysis of static program information and performance data, and offering active suggestions to programmers. Our tool enables experts to transfer programming experience to new users. It complements today’s parallelizing compilers in that it helps to tune the performance of a compiler-optimized parallel program. To show its applicability, we present two case studies that utilize this system. By simply following the suggestions of our system, we were able to reduce the execution time of benchmark programs by as much as 39%.
Keywords
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.
This work was supported in part by NSF grants #9703180-CCR, #9872516-EIA, and #9975275-EIA. This work is not necessarily representative of the positions or policies of the U. S. Government
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Insung Park, Michael J. Voss, Brian Armstrong, and Rudolf Eigenmann. Parallel programming and performance evaluation with the ursa tool family. International Journal of Parallel Programming, 26(5):541–561, November 1998.
J. Brown, A. Geist, C. Pancake, and D. Rover. Software tools for developing parallel applications. 1. code development and debugging. In Proc. of Eighth SIAM Conference on Parallel Processing for Scientific Computing, March 1997.
J. Brown, A. Geist, C. Pancake, and D. Rover. Software tools for developing parallel applications. 2. interactive control and performance tuning. In Proc. of Eighth SIAM Conference on Parallel Processing for Scientific Computing, March 1997.
Michael T. Heath. Performance visualization with ParaGraph. In Proc. of the Second Workshop on Environments and Tools for Parallel Scientific Computing, pages 221–230, May 1994.
Daniel A. Reed. Experimental performance analysis of parallel systems: Techniques and open problems. In Proc. of the 7th Int’ Conf on Modelling Techniques and Tools for Computer Performance Evaluation, pages 25–51, 1994.
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, 28(11):37–46, November 1995.
J. Yan, S. Sarukkai, and P. Mehra. Performance measurement, visualization and modeling of parallel and distributed programs using the AIMS toolkit. Software-Practice and Experience, 25(4):429–461, April 1995.
W. E. Nagel, A. Arnold, M. Weber, H. C. Hoppe, and K. Solchenbach. VAMPIR: visualization and analysis of MPI resources. Supercomputer, 12(1):69–80, January 1996.
B. Topol, J. T. Stasko, and V. Sunderam. PVaniM: A tool for visualization in network computing environments. Concurrency Practice and Experience, 10(14):1197–1222, December 1998.
W. Liao, A. Diwan, R. P. Bosch Jr., A. Ghuloum, and M. S. Lam. SUIF explorer: An interactive and interprocedural parallelizer. In Proc. of the 7th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, pages 37–48, August 1999.
K. C. Li and K. Zhang. Tuning parallel program through automatic program analysis. In Proc. of Second International Symposium on Parallel Architectures, Algorithms, and Networks, pages 330–333, June 1996.
W. Blume, R. Doallo, R. Eigenmann, J. Grout, J. Hoeflinger, T. Lawrence, J. Lee, D. Padua, Y. Paek, B. Pottenger, L. Rauchwerger, and P. Tu. Parallel programming with Polaris. IEEE Computer, pages 78–82, December 1996.
Seon Wook Kim, Michael Voss, and Rudolf Eigenmann. Performance analysis of parallel compiler backends on shared-memory multiprocessors. Proceedings of Compilers for Parallel Computers (CPC2000), pages 305–320, January 2000.
SeonWook Kim and Rudolf Eigenmann. Detailed, quantitative analysis of shared-memory parallel programs. Technical Report ECE-HPCLab-00204, HPCLAB, School of ECE, Purdue University, 2000.
David L. Weaver and Tom Germond. The SPARC Architecture Manual, Version 9. SPARC International, Inc., PTR Prentice Hall, Englewood Cliffs, NJ 07632, 1994.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2001 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Kim, S.W., Park, I., Eigenmann, R. (2001). A Performance Advisor Tool for Shared-Memory Parallel Programming. In: Midkiff, S.P., et al. Languages and Compilers for Parallel Computing. LCPC 2000. Lecture Notes in Computer Science, vol 2017. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-45574-4_18
Download citation
DOI: https://doi.org/10.1007/3-540-45574-4_18
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-42862-6
Online ISBN: 978-3-540-45574-5
eBook Packages: Springer Book Archive