overview of dyntg

13
Overview of DynTG Adam Leko UPC Group HCS Research Laboratory University of Florida Color encoding key: Blue: Information Red: Negative note Green: Positive note

Upload: minnie

Post on 19-Jan-2016

23 views

Category:

Documents


0 download

DESCRIPTION

Overview of DynTG. Adam Leko UPC Group HCS Research Laboratory University of Florida. Color encoding key: Blue: Information Red: Negative note Green: Positive note. Basic Information. Name: DynTG - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Overview of DynTG

Overview of DynTG

Adam Leko

UPC Group

HCS Research Laboratory

University of Florida

Color encoding key:

Blue: Information

Red: Negative note

Green: Positive note

Page 2: Overview of DynTG

2

Basic Information Name: DynTG Developer: Center for Applied Scientific Computing,

Lawrence Livermore National Laboratory Current Version:

(Unreleased) Website:

http://www.llnl.gov/CASC/tool_gear/ Contact:

Martin Schulz ([email protected]) John May ([email protected]) John Gyllenhaal ([email protected])

Page 3: Overview of DynTG

3

Overview of DynTG Not yet publicly available yet

A release should be available “in the next few weeks” as of 5/26/2005 according to developers

Still nothing available Information in this overview based on [1]

DynTG brings together two existing tools: DPCL and Tool Gear Lets the user instrument their program by viewing source

code and choosing instrumentation points at runtime Uses Tool Gear to provide source browser and metric

display to user Uses DPCL to perform dynamic instrumentation at runtime

Page 4: Overview of DynTG

4

Related Project: DPCL DPCL – Dynamic Probe Class Library

[2] Based on DynInst from Paradyn Meant to provide performance tool

developers with a library that handles instrumenting distributed programs during runtime

Also has built-in security features Architecture of DPCL shown right

Analysis tool uses DPCL “super daemon” to establish secure connection to DPCL daemons on each host

DPCL daemons (one per user per host) use DynInst to perform instrumentation of running programs and handle sending data back to the analysis tool

Currently only works on Linux and AIX platforms

Page 5: Overview of DynTG

5

Related Project: Tool Gear Tool Gear – “Software infrastructure for developing performance analysis and debugging

tools for large scale parallel programs” [3] Basic architecture shown below

Tool Gear provides a “database” by which Performance tools give information to the tool gear viewers Viewers pass asynchronous events (such as instrumentation requests) to a tool

Architecture handles both post-mortem and runtime analysis But Tool Gear is much more useful for tools that perform online analysis (and hence DynTG)

However, only a few viewers that display metrics inline with source code are currently available Tool Gear is used in mpiP’s mpipview (see mpiP evaluation)

Page 6: Overview of DynTG

6

Related Project: Tool Gear (2) A good description of the purpose of Tool Gear

(from [1], pg. 5):

“Source code viewers are complex and difficult to implement, yet required by a large number of tools. The Tool Gear project was born based on this observation and provides a versatile framework for the development of interactive tools. As its core it provides a scalable source viewer, which can display both the source code itself as well as multiple performance metrics on a per source line basis. The performance data itself is stored inside Tool Gear using a database. Data can directly be added to this database from a collector using the Tool Gear communication library.”

Page 7: Overview of DynTG

7

DynTG Architecture DynTG merges DPCL and ToolGear’s architectures together All analysis, instrumentation, and display are performed while a program is running

Page 8: Overview of DynTG

8

DynTG Modules DynTG can load “modules” (shared objects) at startup that report

information back to the main viewer Similar to Dynaprof’s loadable probe interface (see Dynaprof review)

Each probe split into two pieces Probe module

Contains the DPCL data probes that should be inserted when the user requests a function to be instrumented

Should contain code that sends data to collector modules via DPCL’s Ais_send routine

Collector module Receives data from the DPCL daemons, analyzes it, and gives it to the Tool Gear

viewer

According to paper [1], much low-level functionality is already provided by DynTG “allows even unexperienced [sic] users not familiar with DPCL or Tool Gear

to develop new probe/collector modules”

Page 9: Overview of DynTG

9

Built-In Modules

Counter Counts how often a program executes a specific location

Timer Keeps track of how much time is spent at a location using

the UNIX gettimeofday call PMAPI

Provides direct access to IBM’s hardware counters Users specify which hardware counters they are interested

and specify priorities for each Module maps user’s request to available hardware

resources

Page 10: Overview of DynTG

10

DynTG GUI User interacts with Tool Gear

GUI to select what parts of their code they want instrumented (see right)

GUI loads modules and inserts probes as previously discussed

It is not clear from the paper how the tool handles starting programs

Page 11: Overview of DynTG

11

DynTG GUI (2)

Page 12: Overview of DynTG

12

DynTG Overhead In paper, authors found runtime overhead of DynTG to be

between 1.94% and 12.4% ([1], page 6) Used two applications from the ASC Purple Benchmark Codes

SMG2000 (60x60x60) sPPM (64x64x64)

They inserted single instrumentation action into a central location (executed around 4000 times per second)

Based on our own experience with DynInst, overhead is very low for everything but very lightweight functions However, overhead can easily grow to several hundred percent

or more for applications with functions that execute > 105 times per second

Normally these types of functions should be inlined, so not a major concern

Page 13: Overview of DynTG

13

References

[1] M. Schulz, J. May, J. Gyllenhaal. “DynTG: A Tool for

Interactive, Dynamic Instrumentation,” ICSS 2005,

Atlanta, GA, May 22-25, 2005.

[2] L. DeRose, T. Hoover Jr. “The Dynamic Probe Class Library – An Infrastructure for Developing

Instrumentation for Performance Tools,” IPDPS 2001, April 2001.

[3] Toolgear website: http://www.llnl.gov/CASC/tool_gear/