Visualization for Parallel Performance Evaluation and Optimization


Parallel systems promise significant performance benefits over uniprocessor or non-distributed systems; however, it is hard to realise the full potential of parallel systems in practice. It is very hard to analyze and tune the performance of parallel systems. Tha main goal for using visualization is to help reason about and understand performance of parallel and concurrent programs. Continuous evolution in the design and use of parallel systems has been a stumbling block in the development of visualization techniques for parallel performance evaluation.

The main challenge lies in visually representing the mental models users apply in attempting to understand performance information. It is challenging to relate performance information back to the abstractions that the user understands, particularly when a performance view that appeals to one person's mental model may have little in common with models held by others. The solution is that the visualization techniques and methods used to construct graphic displays of the data must be closely integrated with the models of parallel computation the data represent.

In the following section, we discuss a paralel performance visualization model and an underlying theory for applying visualization principles. We then discuss visualization principles and scenarios.

A Parallel Performance Visualization Model

A proposed high-level model of parallel performance visualization highlights the architectural relationship between performance data analysis and performance display, emphasizing the different aspects of visualization development. The model is based on the following notions:

The key point in the model is that the performance visual design can and should incorporate knowledge of the performance analysis abstraction very early on, providing the basis for performance interpretation in the final visualization. A performance visualization abstraction must be instantiated in a performance visualizer tool that implements performance views, displays, and their mappings using environment-specific graphics technology, based on underlying graphics libraries, toolkits, and other resources.

Performance Visualization Evolution

Much of the early work in this area focused on development of specific performance displays derived mostly from statistical graphics and adapted to represent performance data; Kiviat diagrams and Gantt charts are good examples. The work on multiple views and graphical performance representations began to define a theory of performance visualization. The integration and support for multiple views and displays represented a software engineering challenge. The environments began to support more user interaction in selecting view-display combinations and in specifying view-display attributes.

Recently, performance visualization research has shifted its emphasis to the technology required to generate application-specific performance visualizations. The three primary objectives of this recent work are: - to exploit the perceptual capabilitites of sophisticated graphics in the design of performance displays - to provide support for high-level performance visual abstractions and their instantiation through visualization languages, graphics libraries, and data visualization environments - to involve the user directly in prototyping and customizing performance displays so that meaningful performance visualizations can be readily constructed and evaluated.

Visualization Concepts and Principles

In this section, we present a classification of the concepts and principles that are found across the range of performance tools cited in the literature.

Visualization Scenarios

In this section, we discuss some of the performance evaluation problems encountered and the range of possible visualization applications.


Ethendranath N B
Last modified: Tue Mar 10 17:02:17 EST 1998