Abstract
MulTVision is a visualization tool that supports both performance measurement and debugging by helping a programmer see what happens during a specific, traced execution of a program. MulTVision has two components: a debug monitor and a replay engine. A traced execution yields a log as a by-product; both the debug monitor and the replay engine use this log as input. The debug monitor produces a graphical display showing the relationships between tasks in the traced execution. Using this display, a programmer can see bottlenecks or other causes of poor performance. The replay engine can be used to reproduce internal program states that existed during the traced execution. The replay engine uses a novel log protocol—the side- effect touch protocol-oriented toward programs that are mostly functional (have few side effects). Measurements show that the tracing overhead added to mostly functional programs is generally less than the overhead already incurred for task management and touch operations. While currently limited to program executions that create at most tens of thousands of tasks, MulTVision is already useful for an interesting class of programs.
Preview
Unable to display preview. Download preview PDF.
References
Bagnall, L., Par Vis: A Program Visualization Tool for Multilisp, S.M. thesis, MIT E.E.C.S. Dept., Cambridge, Mass., Feb. 1989.
Bates, P., and J. Wileden, “High-Level Debugging of Distributed Systems: The Behavioral Abstraction Approach,” J. of System Software 3, 1983, pp. 255–244.
Carver, R., and K.-C. Tai, “Reproducible Testing of Concurrent Programs Based on Shared Variables,” 6th Int'l. Conf. on Distributed Computing Systems, May 1986, pp. 428–433.
Fowler, R., T. LeBlanc, and J. Mellor-Crummey, “An Integrated Approach to Parallel Program Debugging and Performance Analysis on Large-Scale Multiprocessors,” ACM SIGPLAN/SIGOPS Workshop on Parallel and Distributed Debugging, SIGPLAN Notices 24:1, January 1989, pp. 163–173.
Geist, G.A., et al., PICL: A Portable Instrumented Communication Library, C Reference Manual, Technical Report ORNL/TM-11130, Oak Ridge National Laboratory, Oak Ridge, Tennessee, U.S.A., 1990.
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., and D. Kranz, “A Replay Mechanism for Mostly Functional Parallel Programs,” Technical Report CRL 90/6, DEC Cambridge Research Lab, Nov. 1990.
Halstead, R., and D. Kranz, “A Replay Mechanism for Mostly Functional Parallel Programs,” International Symposium on Shared-Memory Multiprocessing, Tokyo, April 1991. In N. Suzuki, ed., Shared Memory Multiprocessing, MIT Press, 1992, pp. 287–313.
Harter, P., D. Heimbigner, and R. King, “Idd: An Interactive Distributed Debugger,” 5th Intl. Conf. on Distributed Computing Systems, May 1985, pp. 498–506.
Heath, M., and J. Etheridge, “Visualizing the Performance of Parallel Programs,” IEEE Software 8:5, Sept. 1991, pp. 29–39.
Heath, M., and J. Etheridge, Visualizing Performance of Parallel Programs, Technical Report ORNL/TM-11813, Oak Ridge National Laboratory, Oak Ridge, Tennessee, U.S.A., 1991.
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.
Hough, A., and J. Cuny, “Belvedere: Prototype of a Pattern-Oriented Debugger for Highly Parallel Computation,” 1987 Intl. Conf. on Parallel Processing, August 1987, pp. 735–738.
Kranz, D., R. Halstead, and E. Mohr, “Mul-T, A High-Performance Parallel Lisp,” ACM SIGPLAN '89 Conf. on Programming Language Design and Implementation, Portland, OR, June 1989, pp. 81–90.
LeBlanc, R., and A. Robbins, “Event-Driven Monitoring of Distributed Programs,” 5th Int'l. Conf. on Distributed Computing Systems, May 1985, pp. 515–522.
LeBlanc, T., and J. Mellor-Crummey, “Debugging Parallel Programs with Instant Replay,” IEEE Trans. Computers C-36:4, April 1987, pp. 471–482.
Malony, A., D. Hammerslag, and D. Jablonowski, “Traceview: A Trace Visualization Tool,” IEEE Software 8:5, Sept. 1991, pp. 19–28.
Mellor-Crummey, J., Debugging and Analysis of Large-Scale Parallel Programs, Technical Report 312, University of Rochester Computer Science Dept., Sept. 1989.
Miller, B., and J.-D. Choi, ACM SIGPLAN '88 Conf. on Programming Language Design and Implementation, Atlanta, June 1988, pp. 135–144.
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., N. Adams, and J. Meehan, The T Manual, fifth edition, (pre-beta draft), Yale University Computer Science Department, October 1988.
Rees, J., and W. Clinger, eds., “Revised 3 Report on the Algorithmic Language Scheme,” ACM SIGPLAN Notices 21:12, Dec. 1986, pp. 37–79.
Rubin, R., L. Rudolph, and D. Zernik, “Debugging Parallel Programs in Parallel,” ACM SIGPLAN/SIGOPS Workshop on Parallel and Distributed Debugging, SIGPLAN Notices 24:1, January 1989, pp. 216–225.
Segall, Z., and L. Rudolph, “PIE: A Program and Instrumentation Environment for Parallel Processing,” IEEE Software 2:6, Nov. 1985, pp. 22–37.
Tanaka, H., and J. Tatemura, “HyperDEBU: A Multiwindow Debugger for Parallel Logic Programs,” Parallel Symbolic Computing: Languages, Systems, and Applications (U.S./Japan workshop, October 1992), Springer-Verlag Lecture Notes in Computer Science, 1993.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1993 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Halstead, R.H., Kranz, D.A., Sobalvarro, P.G. (1993). MulTVision: A tool for visualizing parallel program executions. In: Halstead, R.H., Ito, T. (eds) Parallel Symbolic Computing: Languages, Systems, and Applications. PSC 1992. Lecture Notes in Computer Science, vol 748. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0018653
Download citation
DOI: https://doi.org/10.1007/BFb0018653
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-57396-8
Online ISBN: 978-3-540-48133-1
eBook Packages: Springer Book Archive