Abstract
Parallel symbolic programs usually exhibit certain characteristics: dynamic, data-dependent behavior patterns; complex run-time interactions that cross modularity boundaries; and control structures characterized by recursion and hierarchy. Studying the performance of such programs requires flexible tools that can adapt to the many different execution patterns that can occur.
Vista is a performance-visualization system oriented toward these needs. It is built around a set of core performance data set types — histograms and event histories — designed to allow great flexibility in specifying the content of the data sets. This flexibility includes the capability to (1) specify multiple time bases, threading fields, and histogram dimensions; (2) express relationships between different parts of the data; (3) include application-dependent information; and (4) specify display defaults controlling how data is to be presented. Vista contains modules that provide various ways to analyze and view performance data, along with an infrastructure for combining those modules into complete performance-visualization applications. A notable feature of the Vista infrastructure is its support for interactive linkage of cursor positions and other properties between modules, allowing data exploration from several different but co-ordinated viewpoints.
Many aspects of Vista's design are still in the process of being implemented, but Vista has already been used to study performance data from parallel Multilisp programs and a (sequential) speech-recognition engine. Work currently in progress is applying Vista to other parallel programming systems and to a parallel file server.
Preview
Unable to display preview. Download preview PDF.
References
Agha, G., Actors: A Model of Concurrent Computation in Distributed Systems, MIT Artificial Intelligence Laboratory Technical Report AI TR-844, June 1985.
Geist, A., et al, PICL: A Portable Instrumented Communication Library, C Reference Manual, Oak Ridge National Laboratory Technical Report ORNL/TM-11130, Oak Ridge, Tenn., 1990.
Geist, A., A. Beguelin, J. Dongarra, W. Jiang, R. Manchek, and V. Sunderam, PVM 3 User's Guide and Reference Manual, Oak Ridge National Laboratory Technical Report ORNL/TM-12187, Oak Ridge, Tenn., May 1993.
Halstead, R., “Multilisp: A Language for Concurrent Symbolic Computation,” ACM Trans. on Prog. Languages and Systems 7:4, October 1985, pp. 501–538.
Halstead, R., “Parallel Symbolic Computing,” IEEE Computer 19:8, August 1986, pp. 35–43.
Halstead, R., D. Kranz, and P. Sobalvarro “MulTVision: A Tool for Visualizing Parallel Program Executions,” in R. Halstead and T. Ito, eds., Parallel Symbolic Computing: Languages, Systems, and Applications, Lecture Notes in Computer Science 748, Springer-Verlag, Oct. 1992, pp. 183–204.
Halstead, R., “Self-describing files + smart modules = parallel program visualization,” in T. Ito and A. Yonezawa, eds., Theory and Practice of Parallel Programming, Lecture Notes in Computer Science 907, Springer-Verlag, Nov. 1994, pp. 253–283.
Heath, M., and J. Etheridge, “Visualizing the Performance of Parallel Programs,” IEEE Software 8:5, Sept. 1991, pp. 29–39.
Herrarte, V., and E. Lusk, Studying Parallel Program Behavior with Upshot, Technical Report ANL-91/15, Argonne National Laboratory, Argonne, Illinois, U.S.A., 1991.
Kamada, T., and A. Yonezawa, “A Debugging Scheme for Fine-Grain Threads on Massively Parallel Processors with a Small Amount of Log Information,” in T. Ito, R. Halstead, and C. Queinnec, eds., Parallel Symbolic Languages and Systems, Lecture Notes in Computer Science, Springer-Verlag, Oct. 1995.
Klinker, G., “An Environment for Telecollaborative Data Exploration,” IEEE Visualization '93, San Jose, California, Oct. 1993.
Klinker, G., et al., Scientific Data Exploration Meets Telecollaboration, Technical Report CRL 94/6, Cambridge Research Lab, Digital Equipment Corp., June 1994.
Koelbel, C., D. Loveman, R. Schreiber, G. Steele, and M. Zosel, The High Performance Fortran Handbook, MIT Press, Cambridge, Ma., 1994.
Message Passing Interface Forum, MPI: A Message-Passing Interface Standard, version 1.1, University of Tennessee, Knoxville, Tenn., June 12, 1995.
Nikhil, R.S., Id (Version 90.1) Reference Manual, Technical Report CSG Memo 284-2, MIT Laboratory for Computer Science, Cambridge, MA, USA, July 1991.
Nikhil, R.S., “Cid: A Parallel 'shared-memory’ C for Distributed Memory Machines,” Proc. 7th. Ann. Wkshp. on Languages and Compilers for Parallel Computing, Ithaca, N.Y., Springer-Verlag, August 1994.
Ousterhout, J., Tcl and the Tk Toolkit, Addison-Wesley, 1994.
Reed, D., R. Olson, R. Aydt, T. Madhyastha, T. Birkett, D. Jensen, B. Nazief, and B. Totty, “Scalable Performance Environments for Parallel Systems,” Sixth Distributed Memory Computing Conference (IEEE), April 1991.
Reed, D., R. Aydt, T. Madhyastha, R. Noe, K. Shields, and B. Schwartz, The Pablo Performance Analysis Environment, Technical Report, Dept. of Computer Science, University of Illinois, Urbana, Illinois, November 1992.
Rees, J., and W. Clinger, eds., “Revised3 Report on the Algorithmic Language Scheme,” ACM SIGPLAN Notices 21:12, Dec. 1986, pp. 37–79.
Steele, G., Common Lisp: The Language, second edition, Digital Press, 1990.
Tanaka, H., and J. Tatemura, “HyperDEBU: A Multiwindow Debugger for Parallel Logic Programs,” in R. Halstead and T. Ito, eds., Parallel Symbolic Computing: Languages, Systems, and Applications, Lecture Notes in Computer Science 748, Springer-Verlag, Oct. 1992, pp. 162–182.
Tatemura, J., H. Koike, and H. Tanaka, “A Performance Debugger for Parallel Logic Programming Language Fleng,” in T. Ito and A. Yonezawa, eds., Theory and Practice of Parallel Programming, Lecture Notes in Computer Science 907, Springer-Verlag, Nov. 1994, pp. 284–299.
Touretzky, D., and P. Lee, “Visualizing Evaluation in Applicative Languages,” Comm. ACM 35:10, Oct. 1992, pp. 49–59.
Upson, C., T. Faulhaber, D. Kamins, D. Laidlaw, D. Schlegel, J. Vroom, R. Gurwitz, and A. van Dam, “The Application Visualization System: A Computational Environment for Scientific Visualization,” IEEE Computer Graphics and Applications 9:4, July 1989, pp. 30–42.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1996 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Halstead, R.H. (1996). Understanding the performance of parallel symbolic programs. In: Ito, T., Halstead, R.H., Queinnec, C. (eds) Parallel Symbolic Languages and Systems. PSLS 1995. Lecture Notes in Computer Science, vol 1068. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0023056
Download citation
DOI: https://doi.org/10.1007/BFb0023056
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-61143-1
Online ISBN: 978-3-540-68332-2
eBook Packages: Springer Book Archive