📄 node107.html
字号:
<html><!DOCTYPE HTML PUBLIC "-//W3O//DTD W3 HTML 2.0//EN">
<!Converted with LaTeX2HTML 95.1 (Fri Jan 20 1995) by Nikos Drakos (nikos@cbl.leeds.ac.uk), CBLU, University of Leeds >
<HEAD>
<TITLE>9.1 Performance Analysis</TITLE>
</HEAD>
<BODY>
<meta name="description" value="9.1 Performance Analysis">
<meta name="keywords" value="book">
<meta name="resource-type" value="document">
<meta name="distribution" value="global">
<P>
<BR> <HR><a href="msgs0.htm#2" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/tppmsgs/msgs0.htm#2"><img ALIGN=MIDDLE src="asm_color_tiny.gif" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/asm_color_tiny.gif" alt="[DBPP]"></a> <A NAME=tex2html3252 HREF="node106.html" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/node106.html"><IMG ALIGN=MIDDLE ALT="previous" SRC="previous_motif.gif" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/previous_motif.gif"></A> <A NAME=tex2html3260 HREF="node108.html" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/node108.html"><IMG ALIGN=MIDDLE ALT="next" SRC="next_motif.gif" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/next_motif.gif"></A> <A NAME=tex2html3258 HREF="node106.html" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/node106.html"><IMG ALIGN=MIDDLE ALT="up" SRC="up_motif.gif" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/up_motif.gif"></A> <A NAME=tex2html3262 HREF="node1.html" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/node1.html"><IMG ALIGN=MIDDLE ALT="contents" SRC="contents_motif.gif" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/contents_motif.gif"></A> <A NAME=tex2html3263 HREF="node133.html" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/node133.html"><IMG ALIGN=MIDDLE ALT="index" SRC="index_motif.gif" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/index_motif.gif"></A> <a href="msgs0.htm#3" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/tppmsgs/msgs0.htm#3"><img ALIGN=MIDDLE src="search_motif.gif" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/search_motif.gif" alt="[Search]"></a> <BR>
<B> Next:</B> <A NAME=tex2html3261 HREF="node108.html" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/node108.html">9.2 Data Collection</A>
<B>Up:</B> <A NAME=tex2html3259 HREF="node106.html" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/node106.html">9 Performance Tools</A>
<B> Previous:</B> <A NAME=tex2html3253 HREF="node106.html" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/node106.html">9 Performance Tools</A>
<BR><HR><P>
<H1><A NAME=SECTION03610000000000000000>9.1 Performance Analysis</A></H1>
<P>
We distinguish three basic steps in the performance analysis process:
<A NAME=14283> </A>
data collection, data transformation, and data visualization. <em>
<A NAME=14284> </A>
Data collection
</em> is the process by which data about program
performance are obtained from an executing program. Data are normally
collected in a file, either during or after execution, although in
some situations it may be presented to the user in real time. Three
basic data collection techniques can be distinguished:
<A NAME=14285> </A>
<UL><LI>
<em> Profiles
</em> record the amount of time spent in different parts
of a program. This information, though minimal, is often invaluable
for highlighting performance problems.
<A NAME=14288> </A>
Profiles typically are gathered automatically.
<LI>
<em> Counters
</em> record either frequencies of events or cumulative times.
<A NAME=14290> </A>
The insertion of counters may require some programmer intervention.
<LI>
<em> Event traces
</em> record each occurrence of various specified
events, thus typically producing a large amount of data.
<A NAME=14292> </A>
Traces can be produced either automatically or with
programmer intervention.
</UL>
<P>
The raw data produced by profiles, counters, or traces are rarely in
the form required to answer performance questions. Hence, <em> data
<A NAME=14294> </A>
transformations</em> are applied, often with the goal of reducing total
<A NAME=14295> </A>
data volume. Transformations can be used to determine mean values or
other higher-order statistics or to extract profile and counter data
from traces. For example, a profile recording the time spent in each
subroutine on each processor might be transformed to determine the
mean time spent in each subroutine on each processor, and the standard
deviation from this mean. Similarly, a trace can be processed to
produce a histogram giving the distribution of message sizes. Each of
the various performance tools described in subsequent sections
incorporates some set of built-in transformations; more specialized
transformation can also be coded by the programmer.
<P>
Parallel performance data are inherently multidimensional, consisting
of execution times, communication costs, and so on, for multiple
program components, on different processors, and for different problem
sizes. Although data reduction techniques can be used in some
situations to compress performance data to scalar values, it is often
necessary to be able to explore the raw multidimensional data. As is
<A NAME=14296> </A>
well known in computational science and engineering, this process can
benefit enormously from the use of <em> data visualization</em>
techniques. Both conventional and more specialized display techniques
can be applied to performance data.
<P>
As we shall see, a wide variety of data collection, transformation,
and visualization tools are available. When selecting a tool for a
particular task, the following issues should be considered:
<A NAME=14298> </A>
<P>
<OL><LI>
<em> Accuracy.</em> In general, performance data obtained using sampling
techniques are less accurate than data obtained by using counters or
timers. In the case of timers, the accuracy of the clock must be
taken into account.
<P>
<LI>
<em> Simplicity.</em> The best tools in many circumstances are those that
collect data automatically, with little or no programmer intervention,
and that provide convenient analysis capabilities.
<P>
<LI>
<em> Flexibility.</em> A flexible tool can be extended easily
to collect additional performance data or to provide different views
of the same data. Flexibility and simplicity are often opposing
requirements.
<P>
<LI>
<em> Intrusiveness.</em> Unless a computer provides hardware support,
performance data collection inevitably introduces some overhead. We
need to be aware of this overhead and account for it when analyzing
data.
<P>
<LI>
<em> Abstraction.</em> A good performance tool allows data to be examined
at a level of abstraction appropriate for the programming model of the
parallel program. For example, when analyzing an execution trace from
a message-passing program, we probably wish to see individual
messages, particularly if they can be related to send and receive
statements in the source program. However, this presentation is
probably <em> not
</em> appropriate when studying a data-parallel
program, even if compilation generates a message-passing program.
Instead, we would like to see communication costs related to
data-parallel program statements.
</OL>
<P>
<BR> <HR><a href="msgs0.htm#2" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/tppmsgs/msgs0.htm#2"><img ALIGN=MIDDLE src="asm_color_tiny.gif" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/asm_color_tiny.gif" alt="[DBPP]"></a> <A NAME=tex2html3252 HREF="node106.html" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/node106.html"><IMG ALIGN=MIDDLE ALT="previous" SRC="previous_motif.gif" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/previous_motif.gif"></A> <A NAME=tex2html3260 HREF="node108.html" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/node108.html"><IMG ALIGN=MIDDLE ALT="next" SRC="next_motif.gif" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/next_motif.gif"></A> <A NAME=tex2html3258 HREF="node106.html" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/node106.html"><IMG ALIGN=MIDDLE ALT="up" SRC="up_motif.gif" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/up_motif.gif"></A> <A NAME=tex2html3262 HREF="node1.html" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/node1.html"><IMG ALIGN=MIDDLE ALT="contents" SRC="contents_motif.gif" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/contents_motif.gif"></A> <A NAME=tex2html3263 HREF="node133.html" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/node133.html"><IMG ALIGN=MIDDLE ALT="index" SRC="index_motif.gif" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/index_motif.gif"></A> <a href="msgs0.htm#3" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/tppmsgs/msgs0.htm#3"><img ALIGN=MIDDLE src="search_motif.gif" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/search_motif.gif" alt="[Search]"></a> <BR>
<B> Next:</B> <A NAME=tex2html3261 HREF="node108.html" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/node108.html">9.2 Data Collection</A>
<B>Up:</B> <A NAME=tex2html3259 HREF="node106.html" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/node106.html">9 Performance Tools</A>
<B> Previous:</B> <A NAME=tex2html3253 HREF="node106.html" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/node106.html">9 Performance Tools</A>
<BR><HR><P>
<P><ADDRESS>
<I>© Copyright 1995 by <A href="msgs0.htm#6" tppabs="http://www.dit.hcmut.edu.vn/books/system/par_anl/tppmsgs/msgs0.htm#6">Ian Foster</a></I>
</ADDRESS>
</BODY>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -