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
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.”
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)
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
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)
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.)
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)
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)
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)
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
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.)
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
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