Projections - A Step by Step Tutorial

Post on 07-Jan-2016

54 views 0 download

Tags:

description

Projections - A Step by Step Tutorial. By Chee Wai Lee For the 2004 Charm++ Workshop. Outline. Introduction to Projections. Basic features. Advanced features. Basic performance analysis techniques. Soon-to-be ready features. An Introduction to Projections. - PowerPoint PPT Presentation

transcript

Projections - A Step by Step Tutorial

By Chee Wai Lee

For the 2004 Charm++ Workshop

Outline Introduction to Projections.Basic features.Advanced features.Basic performance analysis techniques.Soon-to-be ready features.

An Introduction to Projections Performance Analysis tool

for Charm++ based applications.

Automatic trace instrumentation.

Post-mortem visualization. Multiple advanced

features that support: Data volume control Generation of additional

user data.

Basic Features (outline)Changes to code (none!)Link time decisions.Run time decisions (none!)Basic Visualization.

Coding, Linking & RunningNo changes to Charm++ program

required!Choose and link an appropriate trace

module. Tracemode “projections” Tracemode “summary”

No changes required to the way application is run.

Example program - Jacobi2D

Tracemode Projections Each Charm++ event

appears as a line of text in log file.

At link time, specify “-tracemode projections”

Supported by all views in the visualization tool.

Tracemode summary Contains:

Processor utilization information over entire run.

Total execution time attributed to each Charm++ entry method.

Number of times each entry method is called.

At link time, specify:“-tracemode summary”

Limited visualization support.

Coding, Linking & Running Example -Jacobi2D

Basic Visualization

Visualization - outline.Summary mode

Summary graph screen. Overview. Usage Profile.

Miscellaneous Dialog box features.

Visualization - outline (cont)Projections Log mode

Overview and Usage Profile as before. Flexible Graph view. Histograms. Time Profile. Timeline. Animations. Miscellaneous features.

Summary Mode Visualization

The Summary View

• Provides a view of the overall utilization of the application.

• Very quick to load.

Overview

• Shows utitlization as a color scale split by processor over time.

• Useful for identifying the processor responsible for bad behavior.

Usage Profile

• Shows the contribution of utilization by each entry point.

• Useful for identifying badly behaved entry points.

Dialog boxes

• Flexible processor specification string. E.g. “0,2-5,45-127:5”

• Ability to save up to 5 commonly used time ranges

Projections Log ModeVisualization

Overview & Usage ProfileThese views are similar to the ones for

summary-based visualization.They may differ somewhat because

additional information (eg. Idle time) becomes available in full log traces.

They also take longer to load.

Graph View

• Features:• Selectively view Entry points.• Convenient means to switch to between axes data types.

Histograms - time based

• Divide the time spent by entry methods into various bin sizes and count them.

• Useful for determining if there’s a grainsize problem.

Histograms - communication

• Frequency counts for communication-based properties.

Time Profiles• Shows the spread of Charm++ entry methods over time.

Timeline

• The most detailed view in Projections.• Useful for understanding critical path issues or unusual entry point behaviors at specific times.

Animations

Miscellaneous Features -Color Selection• Colors are automatically supplied by default.• We allow users to select their own colors and save them.• These colors can then be restored the next time Projections loads.

Advanced Features

Advanced Features - outlineUser APIsRuntime tracing optionsVisualization support for features.

User APIsControlling trace generation

void traceBegin() void traceEnd()

Tracing User Events int traceRegisterUserEvent(char *, int) void traceUserEvent(char *) void traceUserBracketEvent(int, double,

double) double CmiWallTimer()

Runtime options+traceoff+traceroot <directory>Projections mode only:

+logsize <# entries> +gz-trace

Summary mode only: +bincount <# of intervals> +binsize <interval time quanta (us)>

Visualization of user events

User Events (cont)

• Detailed information about User Events can be acquired via a table.

Monitoring messages

• Right-clicking on an entry method in Timeline causes a line to be drawn from the corresponding send event.

Soon-to-be ready features Instrumenting function calls in AMPI.Flexible Performance counter data

acquisition.

Instrumenting AMPI function calls.REGISTER_FUNCTION(“user function

description string”);TRACE_FUNC(<func call code>,

“user function description string”);

Basic Performance AnalysisTechniques - A case study