Vampir 7 User Manual



Yüklə 326,77 Kb.
Pdf görüntüsü
səhifə2/14
tarix06.05.2018
ölçüsü326,77 Kb.
#42388
1   2   3   4   5   6   7   8   9   ...   14

CHAPTER 1. INTRODUCTION

1 Introduction

Performance optimization is a key issue for the development of efficient parallel soft-

ware applications. Vampir provides a manageable framework for analysis, which en-

ables developers to quickly display program behavior at any level of detail. Detailed

performance data obtained from a parallel program execution can be analyzed with a

collection of different performance views. Intuitive navigation and zooming are the key

features of the tool, which help to quickly identify inefficient or faulty parts of a pro-

gram code. Vampir implements optimized event analysis algorithms and customizable

displays which enable a fast and interactive rendering of very complex performance

monitoring data. Ultra large data volumes can be analyzed with a parallel version of

Vampir, which is available on request.

Vampir has a product history of more than 15 years and is well established on Unix

based HPC systems. This tool experience is also available for HPC systems that are

based on Microsoft Windows HPC Server 2008.



1.1 Event-based Performance Tracing and Profiling

In software analysis, the term profiling refers to the creation of tables, which summarize

the runtime behavior of programs by means of accumulated performance measure-

ments. Its simplest variant lists all program functions in combination with the number

of invocations and the time that was consumed. This type of profiling is also called

inclusive profiling, as the time spent in subroutines is included in the statistics compu-

tation.

A commonly applied method for analyzing details of parallel program runs is to record



so-called trace log files during runtime. The data collection process itself is also re-

ferred to as tracing a program. Unlike profiling, the tracing approach records timed

application events like function calls and message communication as a combination

of timestamp, event type, and event specific data. This creates a stream of events,

which allows very detailed observations of parallel programs. With this technology,

synchronization and communication patterns of parallel program runs can be traced

and analyzed in terms of performance and correctness. The analysis is usually carried

out in a postmortem step, i.e., after completion of the program. It is needless to say

5



1.2. THE OPEN TRACE FORMAT (OTF)

that program traces can also be used to calculate the profiles mentioned above. Com-

puting profiles from trace data allows arbitrary time intervals and process groups to be

specified. This is in contrast to “fixed” profiles accumulated during runtime.



1.2 The Open Trace Format (OTF)

The Open Trace Format (OTF) was designed as a well-defined trace format with open,

public domain libraries for writing and reading. This open specification of the trace

information provides analysis and visualization tools like Vampir to operate efficiently at

large scale. The format addresses large applications written in an arbitrary combination

of Fortran77, Fortran (90/95/etc.), C, and C++.

Figure 1.1: Representation of Streams by Multiple Files

OTF uses a special ASCII data representation to encode its data items with numbers

and tokens in hexadecimal code without special prefixes. That enables a very powerful

format with respect to storage size, human readability, and search capabilities on timed

event records.

In order to support fast and selective access to large amounts of performance trace

data, OTF is based on a stream-model, i.e. single separate units representing seg-

ments of the overall data. OTF streams may contain multiple independent processes

whereas a process belongs to a single stream exclusively. As shown in Figure 1.1,

each stream is represented by multiple files which store definition records, performance

6



CHAPTER 1. INTRODUCTION

events, status information, and event summaries separately. A single global master file

holds the necessary information for the process to stream mappings.

Each file name starts with an arbitrary common prefix defined by the user. The master

file is always named {name}.otf. The global definition file is named {name}.0.def.

Events and local definitions are placed in files {name}.x.events and {name}.x.defs

where the latter files are optional. Snapshots and statistics are placed in files named

{name}.x.snaps and {name}.x.stats which are optional, too.



Note: Open the master file (*.otf ) to load a trace. When copying, moving or deleting

traces it is important to take all according files into account otherwise Vampir will render

the whole trace invalid! Good practice is to hold all files belonging to one trace in a

dedicated directory.

Detailed information about the Open Trace Format can be found in the ‘‘Open Trace

Format (OTF)’’

1

documentation.



1.3 Vampir and Windows HPC Server 2008

The Vampir performance visualization tool usually consists of a performance monitor

(VampirTrace) that records performance data and a performance GUI, which is respon-

sible for the graphical representation of the data. In Windows HPC Server 2008, the

performance monitor is fully integrated into the operating system, which simplifies its

employment and provides access to a wide range of system metrics. A simple execu-

tion flag controls the generation of performance data. This is very convenient and an

important difference to solutions based on explicit source, object, or binary modifica-

tions. Windows HPC Server 2008 is shipped with a translator, which produces trace

log files in Vampir ’s Open Trace Format (OTF). The resulting files can be visualized

with the Vampir 7 performance data browser.

1

http://www.tu-dresden.de/zih/otf



7


Yüklə 326,77 Kb.

Dostları ilə paylaş:
1   2   3   4   5   6   7   8   9   ...   14




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©genderi.org 2024
rəhbərliyinə müraciət

    Ana səhifə