tools for portable hpc performance: are we addressing the …pancake/presentations/... ·...

13
1 Tools for Portable HPC Performance: Are We Addressing the Right Issues? Cherri Pancake pancake@ nacse.org Northwest Alliance for Computational Science & Engineering Oregon State University Portability Is Critical yProgramming to one platform isn’t practical Hardware lifespan << software development cycle yIncreasing need to run codes at multiple sites use computational grids re-use code to form more complex applications yIncreasing interest in heterogeneous applications

Upload: others

Post on 08-Aug-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Tools for Portable HPC Performance: Are We Addressing the …pancake/presentations/... · 2003-08-15 · 2 NACSE - Oregon State University How Portability Affects Usability yPortability

1

Tools for Portable HPC Performance: Are We Addressing the Right Issues?

Cherri Pancakepancake@ nacse.org

Northwest Alliance for Computational Science & EngineeringOregon State University

Portability Is Critical

yProgramming to one platform isn’t practical• Hardware lifespan << software development

cycleyIncreasing need to

• run codes at multiple sites• use computational grids• re-use code to form more complex applications

yIncreasing interest in heterogeneous applications

Page 2: Tools for Portable HPC Performance: Are We Addressing the …pancake/presentations/... · 2003-08-15 · 2 NACSE - Oregon State University How Portability Affects Usability yPortability

2

NACSE - Oregon State University

How Portability Affects Usability

yPortability extends useful lifetime of softwareyAlso affects application developer

• Must deal with multiple, moving targets

"Each new version of each part of the development environmentintroduces some new, though usually justifiable, quirk”

(Mike Frese, NumerEx)

NACSE - Oregon State University

The Fundamental Nature of Portable Code

yPortable code is always under revision

“I’ve got it, too, Omar... A strange feeling,like we’ve just been going in circles.”

Page 3: Tools for Portable HPC Performance: Are We Addressing the …pancake/presentations/... · 2003-08-15 · 2 NACSE - Oregon State University How Portability Affects Usability yPortability

3

NACSE - Oregon State University

1. Supporting Code Portability

Tool TradeoffsTool Tradeoffs #1#1

Tools run on - but not across -multiple platforms

Tools run on - but not across -multiple platforms

ObservationObservationApplications need to run on many platforms(sometimes heterogeneous or distributed)

NACSE - Oregon State University

Portability: What Today’s Tools Do

yIncreasingly, tool back ends are targeted to multiple platforms, e.g.• Vampir (Pallas)• DEEP (Pacific Sierra)• Paradyn (Univ Wisconsin)• Jumpshot (Argonne Nat’l Lab)

Page 4: Tools for Portable HPC Performance: Are We Addressing the …pancake/presentations/... · 2003-08-15 · 2 NACSE - Oregon State University How Portability Affects Usability yPortability

4

NACSE - Oregon State University

Portability: What Users Really Need

yGUI needs to run on all desktop platforms• UNIX/LINUX• Wintel• Perhaps also Mac, Web browser• Example of a tool that does: Jumpshot (Argonne

Nat’l Lab)yBack end needs to support heterogeneous

applications• Simply running on different platforms isn’t enough

for Grid applications

NACSE - Oregon State University

2. Supporting Performance Variability

Tool TradeoffsTool Tradeoffs #2 #2

Tools present (raw) data, but not(assimilated) information

Tools present (raw) data, but not(assimilated) information

ObservationObservationPortable code tends to “shake out”

performance quirks

Page 5: Tools for Portable HPC Performance: Are We Addressing the …pancake/presentations/... · 2003-08-15 · 2 NACSE - Oregon State University How Portability Affects Usability yPortability

5

NACSE - Oregon State University

Frese’s “Rule of Thumb” for Portable Code

yA portable code works• until the new processor boards are installed• until the parallel environment changes• until the shared library changes• until the next system upgrade• until the system reconfiguration• until the next reboot• until the system load changes• until the next phase of the moon

yAnd ... correcting for platform-specific quirks lessens portability !

NACSE - Oregon State University

Variability: What Today’s Tools Do

yLists of “top resource-users” are primary way to identify where to concentrate improvement efforts

TAU (Univ. Oregon)

Page 6: Tools for Portable HPC Performance: Are We Addressing the …pancake/presentations/... · 2003-08-15 · 2 NACSE - Oregon State University How Portability Affects Usability yPortability

6

NACSE - Oregon State University

Variability: What Users Really Need

yTools should be able to perform more sophisticated analyses

4 S-check uses sensitivity analysis to show where user efforts are most likely to pay off

S-check (NIST)

NACSE - Oregon State University

Variability: What Users Really Need

yTools should be able to point the user to a solution

4Merlin maps out what an “expert” would try if he/she had those results

Merlin (Purdue Univ.)

Page 7: Tools for Portable HPC Performance: Are We Addressing the …pancake/presentations/... · 2003-08-15 · 2 NACSE - Oregon State University How Portability Affects Usability yPortability

7

NACSE - Oregon State University

3. Supporting Code Complexity

Tool TradeoffsTool Tradeoffs #3 #3

Tools support only limited code scale/complexity

Tools support only limited code scale/complexity

ObservationObservationPortable applications are typically complex,

involving semi-independent components

NACSE - Oregon State University

Example: A Typical Portable Application

yMach3 (magneto-hydrodynamics)yProfessionally ported

• by NumerEx, for Dept. of Defense HPC ProgramyComposition

• A few tens of thousands of lines of source • A few tens of include files • A few hundred subroutines (one per source file,

each dependent on a few include files• A few custom component libraries• Multilanguage (Fortran, C)

Page 8: Tools for Portable HPC Performance: Are We Addressing the …pancake/presentations/... · 2003-08-15 · 2 NACSE - Oregon State University How Portability Affects Usability yPortability

8

NACSE - Oregon State University

Complexity: What Today’s Tools Do

yThe user must sift through massive amounts of data to extrapolate useful information

xprofiler (IBM)

AIMS (NASA Ames)

NACSE - Oregon State University

Complexity: What Users Really Need

yTools should give high-level abstractions & summaries

4 DEEP’s “whole program” view offers an overview --and facilitates navigation

DEEP (PacificSierra

Research)

Page 9: Tools for Portable HPC Performance: Are We Addressing the …pancake/presentations/... · 2003-08-15 · 2 NACSE - Oregon State University How Portability Affects Usability yPortability

9

NACSE - Oregon State University

Complexity: What Users Really Need

yTools should present data at multiple levels of detail

4 Jumpshot’s“preview” lets user navigate quickly through time

Jumpshot (Argonne Nat’l Lab)

NACSE - Oregon State University

Complexity: What Users Really Need

yTools should be able to identify meaningful patterns from the raw data

4 Paradyn recognizes some patterns of memory access

Paradyn (Univ.Wisconsin)

Page 10: Tools for Portable HPC Performance: Are We Addressing the …pancake/presentations/... · 2003-08-15 · 2 NACSE - Oregon State University How Portability Affects Usability yPortability

10

NACSE - Oregon State University

Complexity: What Users Really Need

yTools should support high-level operations on user-defined states• Ability to structure and view states hierarchically• Ability to filter the timeline -- so only selected states

show• Ability to search timeline for certain conditions (e.g.,

stateA>10 ms)

NACSE - Oregon State University

4. Supporting Suite Analysis

Tool TradeoffsTool Tradeoffs #4 #4

Tools only present data on oneprogram run at a time

Tools only present data on oneprogram run at a time

ObservationObservationTesting has to be more comprehensive

for portable applications

Page 11: Tools for Portable HPC Performance: Are We Addressing the …pancake/presentations/... · 2003-08-15 · 2 NACSE - Oregon State University How Portability Affects Usability yPortability

11

NACSE - Oregon State University

Suite Analysis: What Today’s Tools Do

yUser must invoke multiple copies of the tool --manipulating them independently

jumpshot (Argonne Nat’l Lab)

NACSE - Oregon State University

Suite Analysis: What Users Really Need

yTools should be able to compare and cross-analyze multiple executions

4Guard shows differences in 2 value sets (filters allow for precision differences, boundary thresholds,etc.)

Guard (Griffith Univ.)

Page 12: Tools for Portable HPC Performance: Are We Addressing the …pancake/presentations/... · 2003-08-15 · 2 NACSE - Oregon State University How Portability Affects Usability yPortability

12

NACSE - Oregon State University

Suite Analysis: What Users Really Need

yTools should make data available for analysis by other tools -- or user’s own analysis

4Ursa Minor exports its data to statistical tools, spreadsheets, databases, etc.

Ursa Minor (Purdue Univ.)

NACSE - Oregon State University

Conclusions

yHP2C is what today’s programmers need

yCurrent tools have made tradeoffs that assume platform-specificity and stable codes

Performance

Portability

Tool tradeoffs

Page 13: Tools for Portable HPC Performance: Are We Addressing the …pancake/presentations/... · 2003-08-15 · 2 NACSE - Oregon State University How Portability Affects Usability yPortability

13

NACSE - Oregon State University

Conclusions

yNot enough research projects are addressing the real challenges for users• Increase in platform heterogeneity• Need to minimize platform-specific improvements• Increasingly hierarchical complexity of applications• Need to regression-test improvements across suites

of machines