performance analysis tools for partitioned global-address-space programming models

10
Performance Analysis Performance Analysis Tools for Partitioned Tools for Partitioned Global-Address-Space Global-Address-Space Programming Models Programming Models Adam Leko 1 , Hung-Hsun Su 1 , Dan Bonachea 2 , Max Billingsley III 1 , Alan D. George 1 1 Electrical & Computer Engineering Dept., University of Florida 2 Computer Science Dept., UC Berkeley

Upload: georgia-dodson

Post on 31-Dec-2015

17 views

Category:

Documents


1 download

DESCRIPTION

Performance Analysis Tools for Partitioned Global-Address-Space Programming Models. Adam Leko 1 , Hung-Hsun Su 1 , Dan Bonachea 2 , Max Billingsley III 1 , Alan D. George 1 1 Electrical & Computer Engineering Dept., University of Florida 2 Computer Science Dept., UC Berkeley. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Performance Analysis Tools for Partitioned Global-Address-Space Programming Models

Performance Analysis Performance Analysis Tools for Partitioned Tools for Partitioned Global-Address-Space Global-Address-Space Programming ModelsProgramming Models

Adam Leko1, Hung-Hsun Su1, Dan Bonachea2, Max Billingsley III1, Alan D. George1

1 Electrical & Computer Engineering Dept., University of Florida2 Computer Science Dept., UC Berkeley

Page 2: Performance Analysis Tools for Partitioned Global-Address-Space Programming Models

2

Outline of Talk

Motivation for PGAS performance

tools and tool interface

High-level overview of GAS tool

interface, GASP

Overview and demonstration of

Parallel Performance Wizard

Conclusions & Future Work

Page 3: Performance Analysis Tools for Partitioned Global-Address-Space Programming Models

3

Performance Tools Motivation PGAS Models

Offer simple, convenient way to express parallelism Requires an increase in compiler & runtime sophistication printf()-style performance tuning doesn’t cut it

Doesn’t scale to large runs (time or parallelism) Not enough information available to programmer

Need for good PGAS performance tools Good tools help user productivity Currently, poor support from existing tools

PGAS models are still relatively new, but… Tool support requires tight interaction with PGAS implementations Implementations of same language can vary greatly

Solution: generalized performance tool interface (GASP)

Page 4: Performance Analysis Tools for Partitioned Global-Address-Space Programming Models

4

GASP Overview Global Address Space Performance

(GASP) interface Event-based interface

GAS compiler/runtime communicate with performance tools using standard interface

Performance tool is notified when particular actions happen at runtime

Implementation-agnostic

Notification structure Function “callback” to tool developer code Use a single function name (gasp_event_notify) Notifications can come from compiler/runtime (system events) or from code (user

events) Allows calls to the source language/library to make model-specific queries

Flexible instrumentation methods supported Formal specification available at http://www.hcs.ufl.edu/upc/gasp/

Performance tool

GAS compiler and runtime systems

GAS applicationcode

GASP

User events System events

Event notifications

Page 5: Performance Analysis Tools for Partitioned Global-Address-Space Programming Models

5

Parallel Performance Wizard

New performance tool designed for PGAS languages UPC and SHMEM in particular

GASP interface developed to meet needs of this work

Beta version available:http://www.hcs.ufl.edu/ppw/

Java WebStart version of GUI available for immediate testing

Page 6: Performance Analysis Tools for Partitioned Global-Address-Space Programming Models

6

PPW + GASP Preliminary Overheads

0 %

1 %

2 %

3 %

4 %

5 %

6 %

7 %

8 %

9 %

CGprofile

CGtrace

MGprofile

MGtrace

FTprofile

FTtrace

ISprofile

IStrace

Benchmark

Per

cen

t o

verh

ead

Measurement (tracing)

PAPI

Measurement (profiling)

Instrumentation

UPC version of NAS NPB benchmarks (class “B”) on Berkeley UPC v2.3.16(32-node Quadrics QsNetII 2.0 GHz Opteron cluster)

Page 7: Performance Analysis Tools for Partitioned Global-Address-Space Programming Models

7

What Does This Mean for Users? Paula the PGAS Programmer just wrote an

application in UPC Performance issues, wants to know why Before: printf() & grep / perl Now: PPW

Demo time!

Page 8: Performance Analysis Tools for Partitioned Global-Address-Space Programming Models

8

Vendor Support UPC

Berkeley UPC GASP implemented within runtime library Supported with Berkeley UPC 2.3.16

--enable-profile configure-time option

Other UPC implementations GASP support pending

Other PGAS model implementations Titanium & SHMEM GASP support is in

the pipeline Spec definitions for other

languages/libraries forthcoming

Page 9: Performance Analysis Tools for Partitioned Global-Address-Space Programming Models

9

Conclusions & Future Directions Conclusions

GASP interface initial implementation overhead results promising (validate approach)

PPW shows usefulness of fine-grained performance data Interface can be helpful for advanced end-users

Future directions Help add GASP support to other PGAS language implementations Extend GASP to support other models (CAF, …) Help other tools take advantage of GASP support

For more information on PPW and GASP, please see http://www.hcs.ufl.edu/upc/gasp/ http://www.hcs.ufl.edu/ppw/

Beta testers encouraged for PPW!

Page 10: Performance Analysis Tools for Partitioned Global-Address-Space Programming Models

10

Q&A