Visualizing application behavior on superscalar processors

The advent of superscalar processors with out-of-order execution makes it increasingly difficult to determine how well an application is utilizing the processor and how to adapt the application to improve its performance. We describe a visualization system for the analysis of application behavior on superscalar processors. Our system provides an overview-plus-detail display of the application's execution. A timeline view of pipeline performance data shows the overall utilization of the pipeline. This information is displayed using multiple time scales, enabling the user to drill down from a high-level application overview to a focus region of hundreds of cycles. This region of interest is displayed in detail using an animated cycle-by-cycle view of the execution. This view shows how instructions are reordered and executed and how functional units are being utilized. Additional context views correlate instuctions in this detailed view with the relevant source code for the application. This allows the user to discover the root cause of the poor pipeline utilization and make changes to the application to improve its performance. This visualization system can be easily configured to display a variety of processor models and configurations. We demonstrate it for both the MXS and MMIX processor models.

[1]  Mendel Rosenblum,et al.  Using complete machine simulation to understand computer system behavior , 1998 .

[2]  Michael J. Flynn,et al.  Performance Factors for Superscalar Processors , 1995 .

[3]  Stephen G. Eick,et al.  Seesoft-A Tool For Visualizing Line Oriented Software Statistics , 1992, IEEE Trans. Software Eng..

[4]  Ben Shneiderman,et al.  The eyes have it: a task by data type taxonomy for information visualizations , 1996, Proceedings 1996 IEEE Symposium on Visual Languages.

[5]  Donald Ervin Knuth,et al.  The Art of Computer Programming , 1968 .

[6]  Donald E. Knuth MMIXware, A RISC Computer for the Third Millennium , 1999, Lecture Notes in Computer Science.

[7]  David A. Patterson,et al.  Computer architecture (2nd ed.): a quantitative approach , 1996 .

[8]  Kenneth C. Yeager The Mips R10000 superscalar microprocessor , 1996, IEEE Micro.

[9]  Donald E. Knuth,et al.  The Art of Computer Programming, Volumes 1-3 Boxed Set , 1998 .

[10]  John Stasko Animating algorithms with XTANGO , 1992, SIGA.

[11]  Sougata Mukherjea,et al.  Applying algorithm animation techniques for program tracing, debugging, and understanding , 1993, Proceedings of 1993 15th International Conference on Software Engineering.

[12]  Trung A. Diep,et al.  VMW: A Visualization-Based Microarchitecture Workbench , 1995, Computer.

[13]  David A. Patterson,et al.  Computer Architecture: A Quantitative Approach , 1969 .

[14]  Ali Poursepanj,et al.  The PowerPC performance modeling methodology , 1994, CACM.