Visualization in performance tuning
Programs can generate an enormous amount of trace data, not
all of which is useful in tuning. Effective analysis of a trace
data set requires finding its useful components, and examining
them for patterns and relationships that indicate performance
problems, and possible solutions.
The essentially sequential nature of textual displays
poorly suit them to this task. Consequently, most tools rely on
visual representations of trace data--graphs, plots,
etc. A well conceived visual display takes advantage of human
shape- and pattern-recognition abilities to communicate
anomalous behavior in a data set.
For performance data, however, finding an effective
visualization scheme can be very difficult. To be useful, a
visualization must not only indicate the existence of a problem;
it must also indicate how to change code to improve
performance. Moreover, a good display should be
scalable. That is, a display scheme useful for one
program should ideally be as useful for a similar program
using more resources (longer execution time, greater
parallelization).
Given the importance and difficulty of this problem, the volume of
research in this area is not surprising. Much more is likely to come. In
choosing a visualization to use, or attempting to create a new one, it
can be enormously instructive to examine this knowledge base.
Scope of the collection
That's where these pages come in. Links on this home page point to a
series of brief articles on performance visualization topics. Our aim
is not to provide an instruction manual on tuning, or critiques of
particular software implementations of tuning methods ("tools").
Rather, we wish to illustrate how various visualization schemes
have attempted to address the important issues in tuning.
We do provide brief descriptions of several tuning tools. However,
the emphasis is on visualization methods, not particular
implementations. We have included tools which, in our opinion,
either:
- are widely available, and provide good illustrations of
one or more traditional performance visualization methods;
- present some unique, interesting visualization; or
- have important historical significance.
Our list is certainly not exhaustive, and reflects some editorial
judgment.
How the documents are organized
This collection consists of a series of pages, each discussing a
single performance tuning topic. We have organized the topics
into four categories:
- "Methods" are techniques
(e.g., Gantt charts) for displaying/visualizing
performance data.
- "Tools" are software
packages which provide execution tracing and/or
implementations of one or more performance visualization
methods.
- "Sources or publications"
announce, document or review research on tools or methods.
- "Authors" are researchers
or reviewers who have contributed to this field.
You can access pages in a particular category by following the
appropriate link above. Related pages are extensively cross-
linked.
All pages conclude with a revision date and time. On topic
pages, the revision date indicates the last modification of that
particular page. On the home and category index pages,
revision dates indicate the last time any document in the
collection was modified.
Contact us
As this set of documents evolves, we would like to hear from
you. Please send us your comments and suggestions about
scope, content, etc.