15
1 21 Sep 2005 UPC Performance Analysis UPC Performance Analysis Tool: Tool: Status and Status and Plans Plans Professor Alan D. George, Principal Investigator Mr. Hung-Hsun Su, Sr. Research Assistant Mr. Adam Leko, Sr. Research Assistant Mr. Bryan Golden, Research Assistant Mr. Hans Sherburne, Research Assistant HCS Research Laboratory University of Florida PAT PAT

21 Sep 2005 1 UPC Performance Analysis Tool: Status and Plans Professor Alan D. George, Principal Investigator Mr. Hung-Hsun Su, Sr. Research Assistant

Embed Size (px)

DESCRIPTION

21 Sep Accomplishments Survey of PAT technology Evaluation of existing parallel PAT using a standardized scoring system Study of UPC language with respect to performance analysis Usability study Identification of reusable components Requirements for PAT High-level design for PAT PAT = Performance Analysis Tool

Citation preview

Page 1: 21 Sep 2005 1 UPC Performance Analysis Tool: Status and Plans Professor Alan D. George, Principal Investigator Mr. Hung-Hsun Su, Sr. Research Assistant

121 Sep 2005

UPC Performance Analysis UPC Performance Analysis Tool: Tool: Status and PlansStatus and Plans

Professor Alan D. George, Principal InvestigatorMr. Hung-Hsun Su, Sr. Research Assistant

Mr. Adam Leko, Sr. Research AssistantMr. Bryan Golden, Research Assistant

Mr. Hans Sherburne, Research Assistant

HCS Research LaboratoryUniversity of Florida

PATPAT

Page 2: 21 Sep 2005 1 UPC Performance Analysis Tool: Status and Plans Professor Alan D. George, Principal Investigator Mr. Hung-Hsun Su, Sr. Research Assistant

221 Sep 2005

Outline

Accomplishments

PAT High-level Design

PAT Development Plan

Q&A

Page 3: 21 Sep 2005 1 UPC Performance Analysis Tool: Status and Plans Professor Alan D. George, Principal Investigator Mr. Hung-Hsun Su, Sr. Research Assistant

321 Sep 2005

Accomplishments Survey of PAT technology

Evaluation of existing parallel PAT using a standardized scoring system

Study of UPC language with respect to performance analysis

Usability study

Identification of reusable components

Requirements for PAT

High-level design for PAT

PAT = Performance Analysis ToolPAT = Performance Analysis Tool

Page 4: 21 Sep 2005 1 UPC Performance Analysis Tool: Status and Plans Professor Alan D. George, Principal Investigator Mr. Hung-Hsun Su, Sr. Research Assistant

421 Sep 2005

Performance Analysis Technologies Three general performance analysis approaches

Analytical modeling Mostly predictive methods Could also be used in conjunction with experimental performance

measurement Pros: easy to use, fast, can be done without running the program Cons: usually not very accurate

Simulation Pros: allow performance estimation of program with various system

architectures Cons: slow, not generally applicable for regular UPC/SHMEM users

Experimental performance measurement Strategy used by most modern PATs Uses actual event measurement to perform the analysis Pros: most accurate Cons: can be time-consuming

PAT = Performance Analysis ToolPAT = Performance Analysis Tool

Page 5: 21 Sep 2005 1 UPC Performance Analysis Tool: Status and Plans Professor Alan D. George, Principal Investigator Mr. Hung-Hsun Su, Sr. Research Assistant

521 Sep 2005

Tools Study: List of Tools Profiling tools

TAU (Univ. of Oregon) mpiP (ORNL, LLNL) HPCToolkit (Rice Univ.) SvPablo (Univ. of Illinois,

Urbana-Champaign) DynaProf (Univ. of Tennessee,

Knoxville)

Tracing tools Intel Cluster Tools (Intel) MPE/Jumpshot (ANL) Dimemas & Paraver (European

Ctr. for Parallelism of Barcelona) MPICL/ParaGraph (Univ. of

Illinois, Univ. of Tennessee, ORNL)

Other tools KOJAK (Forschungszentrum

Jülich, ICL @ UTK) Paradyn (Univ. of Wisconsin,

Madison)

Also quickly reviewed CrayPat/Apprentice2 (Cray) DynTG (LLNL) AIMS (NASA) Eclipse Parallel Tools Platform

(LANL) Open/Speedshop (SGI)

Page 6: 21 Sep 2005 1 UPC Performance Analysis Tool: Status and Plans Professor Alan D. George, Principal Investigator Mr. Hung-Hsun Su, Sr. Research Assistant

621 Sep 2005

Tools Study: Lessons Learned Most effective tools present data to user at many levels

Profile and summary data that gives top-level view of program’s execution Trace data that shows exact behavior and communication patterns Hardware counters that show how well program runs on current architecture

Common problems experienced Difficult installations Poor documentation, no “quickstart” guide Too much user overhead Not enough data available from tools to troubleshoot performance problems Difficult to navigate tool to get to performance data or nonstandard user

interfaces Inability to relate data back to source code

Page 7: 21 Sep 2005 1 UPC Performance Analysis Tool: Status and Plans Professor Alan D. George, Principal Investigator Mr. Hung-Hsun Su, Sr. Research Assistant

721 Sep 2005

Overall Scores

62

50.75

48

42.625

47

42.5

60.625

55.875

48.625

38.25

50.375

0 10 20 30 40 50 60 70

TAU

Paradyn

MPE/Jumpshot

DiP

mpiP

Dynaprof

KOJAK

ICT

SvPablo

MPICL

HPCToolkit

Page 8: 21 Sep 2005 1 UPC Performance Analysis Tool: Status and Plans Professor Alan D. George, Principal Investigator Mr. Hung-Hsun Su, Sr. Research Assistant

821 Sep 2005

Language Study & Usability Study Language study

Hybrid pre-processor/wrapper library approach appears appropriate UPC functions wrappers Others (direct memory access, upc_forall, etc.) pre-processor

UPC profiling interface Avoid prevention of compiler optimization Obtain low-level / implementation specific data

Usability study Elicit user feedback through a Performance Tool Usability Survey –

limited success thus far http://www.hcs.ufl.edu/prj/upcgroup/survey.html

Review and develop a concise summary of literature regarding usability for parallel performance tools

Page 9: 21 Sep 2005 1 UPC Performance Analysis Tool: Status and Plans Professor Alan D. George, Principal Investigator Mr. Hung-Hsun Su, Sr. Research Assistant

921 Sep 2005

Extensibility & Code Reuse Instrumentation & measurement units

Source instrumentation: tau_instrument, PDToolkit Binary instrumentation: DynInst, DPCL, ATOM, Pin Hardware counters: PAPI, PCL General trace and profile routines: TAU, EPILOG & EARL from KOJAK Use PAPI, develop own instrumentation technique (UPC profiling interface)

Analysis unit Source code correlation from wrapper libraries: HPCToolkit, mpiP Pattern matching for bottleneck identification: EXPERT from KOJAK Borrow idea + develop one-sided communication model

Presentation unit Trace visualization: Jumpshot, Intel Trace Analyzer or VampirNG using libvtf Profile visualization: CUBE from KOJAK, Paraprof from TAU Source code viewer: ToolGear, HPCToolkit Develop on our own but borrow small pieces of code

UPC PAT Develop new tool that borrows ideas from existing tools

Page 10: 21 Sep 2005 1 UPC Performance Analysis Tool: Status and Plans Professor Alan D. George, Principal Investigator Mr. Hung-Hsun Su, Sr. Research Assistant

1021 Sep 2005

PAT High-level Design Semi-automatic source-level instrumentation as default

Minimize user workload Reduce development complexity Provide easy source-code correlation

Tracing mode as default with profiling support

Analyses: load balancing, scalability, memory system

Visualizations: Timeline display Speedup chart Call-tree graph Communication volume graph Memory access graph Profiling table

Page 11: 21 Sep 2005 1 UPC Performance Analysis Tool: Status and Plans Professor Alan D. George, Principal Investigator Mr. Hung-Hsun Su, Sr. Research Assistant

1121 Sep 2005

PAT High-level Design: Experimental Performance Measurement Stages Instrumentation – user-

assisted or automatic insertion of instrumentation code

Measurement – actual measuring stage

Analysis – filtering, aggregation, analysis of data gathered

Presentation – display of analyzed data to user, deals directly with user

Optimization – process of finding and resolving bottlenecks

Instrumentation

Measurement

AnalysisPresentation

Optimization

Original code

Analytical modeling

Simulation

Page 12: 21 Sep 2005 1 UPC Performance Analysis Tool: Status and Plans Professor Alan D. George, Principal Investigator Mr. Hung-Hsun Su, Sr. Research Assistant

1221 Sep 2005

PAT High-Level Design – Simplified Version

P UNIT

I UNIT

M UNIT

A UNIT

Input interface

Automatic sourceinstrumentation manager

Measurement modules Event file managerLow-level event read/write module

High-level event moduleAnalysis/data managerAnalysis modules

Visualization manager

Basic event data

Complex event data

Analysis data

STORAGE

UPC Profiling Interface

Page 13: 21 Sep 2005 1 UPC Performance Analysis Tool: Status and Plans Professor Alan D. George, Principal Investigator Mr. Hung-Hsun Su, Sr. Research Assistant

1321 Sep 2005

P UNIT

I UNIT

M UNIT

A UNIT

GUI

Command line

Input interface

Automatic sourceinstrumentation manager

Binaryinstrumentation manager

Low-level event read module

Hardware modules (ex: PAPI)

Software modules

Measurement modules Event file manager

Trace format converter

Low-level event write module

Aggregation module

High-level event moduleAnalysis/data manager

Search module

Performance data manager

Analysis modules(With filtering and

aggregation)

Standard analysis modules

Advanced analysis modules

Other analysis modules

Standard view modules

Advanced view modules

Plug-in view modules

Visualization manager

Simulator

Basic event data

Complex event data

Analysis data

STORAGE

CORE MODULEADVANCED MODULEOTHER MODULE

Search/indexing module

Page 14: 21 Sep 2005 1 UPC Performance Analysis Tool: Status and Plans Professor Alan D. George, Principal Investigator Mr. Hung-Hsun Su, Sr. Research Assistant

1421 Sep 2005

Research and Release Schedule Beta-tester needed!!

PAT Release Delivery Date

I and M modules for 1st platforms April 1, 2006 (Month 6)

I, M, and A modules for 1st platforms July 1, 2006 (Month 9)

I and M modules for 2nd platforms July 1, 2006 (Month 9)

Beta-1 (I, M, A, and P modules for all platforms) October 1, 2006 (Month 12)

Beta-2 December 1, 2006 (Month 14)

Beta-3 February 1, 2007 (Month 16)

Version 1.0 April 1, 2007 (Month 18)

Page 15: 21 Sep 2005 1 UPC Performance Analysis Tool: Status and Plans Professor Alan D. George, Principal Investigator Mr. Hung-Hsun Su, Sr. Research Assistant

1521 Sep 2005

Q & A