Abstract
This paper contributes to the solution of several open problems with parallel programming tools and their integration with performance evaluation environments. First, we propose interactive compilation scenarios instead of the usual black-box-oriented use of compiler tools. In such scenarios, information gathered by the compiler and the compiler's reasoning are presented to the user in meaningful ways and on-demand. Second, a tight integration of compilation and performance analysis tools is advocated. M any of the existing, advanced instruments for gathering performance results are being used in the presented environment and their results are combined in integrated views with compiler information and data from other tools. Initial instruments that assist users in “data mining” this information are presented and the need for much stronger facilities is explained. The URSA Family provides two tools addressing these issues. URSA MINOR supports a group of users at a specific site, such as a research or development project. URSA MAJOR complements this tool by making available the gathered results to the user community at large via the World-wide Web. This paper presents objectives, functionality, experience, and next development steps of the URSA tool family. Two case studies are presented that illustrate the use of the tools for developing and studying parallel applications and for evaluating parallelizing compilers.
Similar content being viewed by others
REFERENCES
William Blume, Rudolf Eigenmann, Jay Hoeflinger, David Padua, Paul Petersen, Lawrence Rauchwerger, and Peng Tu, Automatic Detection of Parallelism: A Grand Challenge for High-Performance Computing, IEEE Parallel Distribut. Technol. 2(3):37–47 (Fall 1994).
M. W. Hall, J. M. Anderson, S. P. Amarasinghe, B. R. Murphy, S.-W. Liao, E. Bugnion, and M. S. Lam, Getting Performance out of Multiprocessors with the SUIF Compiler, IEEE Computer (December 1996).
Insung Park, Michael J. Voss, Brian Armstrong, and Rudolf Eigenmann, Interactive Compilation and Performance Analysis with URSA MINOR, Proc. of the Workshop of Languages and Compilers for Parallel Computing (August 1997).
Insung Park and Rudolf Eigenmann, URSA MAJOR: Exploring Web Technology for Design and Evaluation of High-Performance Systems, Proc. Int'l. Conf. High Performance Computing and Networking (April 1998).
Daniel A. Reed, Experimental Performance Analysis of Parallel Systems: Techniques and Open Problems, Proc. Seventh Int' l. Conf. on Modelling Techniques and Tools for Computer Performance Evaluation, pp. 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 Tools, IEEE Computer, 28(11): (November 1995).
Rudolf Eigenmann and Patrick McClaughry, Practical Tools for Optimizing Parallel Programs, SCS (Society for Computer Simulation ) Multiconference, Arlington, Virginia (March 27–April 1, 1993).
Bill Appelbe, Kevin Smith, and Charles McDowell, Start/Pat: A Parallel-Programming Toolkit, CSW 6(4):29–38 (July 1989).
V. Balasundaram, K. Kennedy, U. Kremer, K. McKinley, and J. Subhlok, The ParaScope Editor: An Interactive Parallel Programming Tool, ICS, pp. 540–550 (1989).
Intel, VTune: Visual Tuning Environment (1997). http://developer.intel.com/design/perftool/vtune/index.htm.
Rudolf Eigenmann, Toward a Methodology of Optimizing Programs for High-Performance Computers, Conf. Proc., ICS'93, Tokyo, Japan, pp. 27–36 (July 20–22, 1993).
Paul Marx Petersen, Evaluation of Programs and Parallelizing Compilers Using Dynamic Analysis Techniques, Ph.D. thesis, University of Illinois at Urbana-Champaign, Center for Supercomputing Research and Development (January 1993).
Seon-Wook Wim and Rudolf Eigenmann, Max/P: Detecting the Maximum Parallelism in a Fortran Program, HPCLAB, Manual ECE-HPCLab-97201 (1997).
Vincent Guarna, Jr., Dennis Gannon, David Jablonowski, Allen Malony, and Yogesh Gaur, Faust: An Integrated Environment for the Development of Parallel Programs, IEEE Software, pp. 20–27 (July 1989).
G. Bruno, P. Spiller, and I. Tota, AISPE: An Advanced, Industrial Software-Production Environment, Proc. Computer Software Appl. Conf., pp. 94–99 (1986).
J. Ambras and V. O'Day, MicroScope: A Knowledge-Based Programming Environment, IEEE Software, pp. 50–58 (May 1988).
J. H. Kuo and H. C. Tu, Prototyping a Software Information Base for Software-Engineering Environments, Proc. Computer Software Appl. Conf., pp. 38–44 (1987).
Michael J. Voss, Portable Loop-Level Parallelism for Shared Memory Multiprocess or Architectures, Master's thesis, ECE (October 1997).
Kuck and Associates, Inc., Champaign, Illinois, KAP User's Guide (1988).
OpenMP: A Proposed Industry Standard API for Shared Memory Programming, Technical Report, OpenMP (October 1997).
Brian Armstrong and Rudolf Eigenmann, Performance Forecasting: Characterization of Applications on Current and Future Architectures, Technical Report ECE-HPCLab-97202 (February 1997).
C. C. Mosher and S. Hassanzadeh, ARCO Seismic Processing Performance Evaluation Suite, User's Guide, Technical Report, ARCO, Plano, Texas (1993).
Rights and permissions
About this article
Cite this article
Park, I., Voss, M., Armstrong, B. et al. Parallel Programming and Performance Evaluation with the URSA Tool Family. International Journal of Parallel Programming 26, 541–561 (1998). https://doi.org/10.1023/A:1018720530812
Issue Date:
DOI: https://doi.org/10.1023/A:1018720530812