Computational Informatics for Brain Electromagnetic Research

Download Report

Transcript Computational Informatics for Brain Electromagnetic Research

Performance EngineeringTechnology
for Complex Scientific Component
Software
Allen D. Malony, Sameer Shende
{malony,shende}@cs.uoregon.edu
Department of Computer and Information Science
Computational Science Institute
University of Oregon
Outline
Complexity and performance technology
 Developing performance interfaces for CCA



Performance knowledge repository
Performance observation
TAU performance system
 Applications
 Implementation
 Concluding remarks

June 24, 2002
2
Argonne CCA Meeting
Problem Statement
How do we create robust and ubiquitous
performance technology for the analysis and tuning
of component software in the presence of (evolving)
complexity challenges?

How do we apply performance technology effectively
for the variety and diversity of performance
problems that arise in the context of CCA
components?
June 24, 2002
3
Argonne CCA Meeting
Extended Component Design
generic
component
PKC: Performance Knowledge Component
 POC: Performance Observability Component

June 24, 2002
4
Argonne CCA Meeting
Performance Knowledge

Describe and store “known” component’s performance



Saved information about component performance



Benchmark characterizations in performance database
Empirical or analytical performance models
Use for performance-guided selection and deployment
Use for runtime adaptation
Representation must be in common forms with standard
means for accessing the performance information
June 24, 2002
5
Argonne CCA Meeting
Performance Knowledge Repository & Component

Component performance repository




Implement in component
architecture framework
Similar to CCA component
repository [Alexandria]
Access by component
infrastructure
View performance knowledge as component (PKC)




PKC ports give access to performance knowledge
to other components
back to original component
Static/dynamic component control and composition
Component composition performance knowledge
June 24, 2002
6
Argonne CCA Meeting
Performance Observation

Ability to observe execution performance is important

Empirically-derived performance knowledge
 Does

not require measurement integration in component
Monitor during execution to make dynamic decisions
 Measurement

integration is key
Performance observation integration



Component integration: core and variant
Runtime measurement and data collection
On-line and off-line performance analysis
June 24, 2002
7
Argonne CCA Meeting
Performance Observation Component (POC)
Performance observation in a
performance-engineered
component model
 Functional extension of original
component design ( )



Include new component
methods and ports ( ) for other
components to access measured performance data
Allow original component to access performance data
 Encapsulate
June 24, 2002
as tightly-couple and co-resident performance
observation object
 POC “provides” port allow use optmized interfaces ( )
to access ``internal'' performance observations
8
Argonne CCA Meeting
Component Composition Performance Engineering
Performance of component-based scientific applications
depends on interplay of component functions and the
computational resources available
 Management of component compositions throughout
execution is critical to successful deployment and use
 Identify key technological capabilities needed to support
the performance engineering of component compositions
 Two model concepts



performance awareness
performance attention
June 24, 2002
9
Argonne CCA Meeting
Performance Awareness of Component Ensembles
Composition performance knowledge and observation
 Composition performance knowledge





Can come from empirical and analytical evaluation
Can utilize information provided at the component level
Can be stored in repositories for future review
Extends the notion of component observation to
ensemble-level performance monitoring




Associate monitoring components hierarchical component
grouping
Build upon component-level observation support
Monitoring components act as performance integrators
and routers
Use component framework mechanisms
June 24, 2002
10
Argonne CCA Meeting
Performance Engineered Component

Four parts

Performance knowledge
 Characterization
 Model

Performance observation
 Measurement
 Analysis


Performance query
Performance control
Extend component design for performance engineering
 Keep consistent with CCA model

June 24, 2002
11
Argonne CCA Meeting
TAU Performance System Framework






Tuning and Analysis Utilities
Performance system framework for scalable parallel and distributed highperformance computing
Targets a general complex system computation model
 nodes / contexts / threads
 Multi-level: system / software / parallelism
 Measurement and analysis abstraction
Integrated toolkit for performance instrumentation, measurement, analysis, and
visualization
 Portable, configurable performance profiling/tracing facility
 Open software approach
University of Oregon, LANL, FZJ Germany
http://www.cs.uoregon.edu/research/paracomp/tau
June 24, 2002
12
Argonne CCA Meeting
General Complex System Computation Model

Node: physically distinct shared memory machine

Message passing node interconnection network
Context: distinct virtual memory space within node
 Thread: execution threads (user/system) in context

Interconnection Network
physical
view
*
Node
Node
node memory
memory
VM
space
model
view
…
Node
SMP
memory
…
Context
June 24, 2002
message
* Inter-node
communication
Threads
13
Argonne CCA Meeting
TAU Performance System Architecture
Paraver
EPILOG
June 24, 2002
14
Argonne CCA Meeting
TAU Status






Instrumentation supported:
 Source, preprocessor, compiler, MPI, runtime, virtual machine
Languages supported:
 C++, C, F90, Java, Python
 HPF, ZPL, HPC++, pC++...
Packages supported:
 PAPI [UTK], PCL [FZJ] (hardware performance counter access),
 Opari, PDT [UO,LANL,FZJ], DyninstAPI [U.Maryland] (instrumentation),
 EXPERT, EPILOG[FZJ],Vampir[Pallas], Paraver [CEPBA] (visualization)
Platforms supported:
 IBM SP, SGI Origin, Sun, HP Superdome, Compaq ES,
 Linux clusters (IA-32, IA-64, PowerPC, Alpha), Apple, Windows,
 Hitachi SR8000, NEC SX, Cray T3E ...
Compilers suites supported:
 GNU, Intel KAI (KCC, KAP/Pro), Intel, SGI, IBM, Compaq,HP, Fujitsu,
Hitachi, Sun, Apple, Microsoft, NEC, Cray, PGI, Absoft, …
Thread libraries supported:
 Pthreads, SGI sproc, OpenMP, Windows, Java, SMARTS
June 24, 2002
15
Argonne CCA Meeting
Program Database Toolkit
Application
/ Library
C / C++
parser
IL
C / C++
IL analyzer
Program
Database
Files
June 24, 2002
Fortran 77/90
parser
IL
Fortran 77/90
IL analyzer
DUCTAPE
16
PDBhtml
Program
documentation
SILOON
Application
component glue
CHASM
C++ / F90
interoperability
TAU_instr
Automatic source
instrumentation
Argonne CCA Meeting
Program Database Toolkit (PDT)








Program code analysis framework for developing source-based tools for C99,
C++ and F90
High-level interface to source code information
Widely portable:
 IBM, SGI, Compaq, HP, Sun, Linux clusters,Windows, Apple, Hitachi,
Cray T3E...
Integrated toolkit for source code parsing, database creation, and database query
 commercial grade front end parsers (EDG for C99/C++, Mutek for F90)
 Intel/KAI C++ headers for std. C++ library distributed with PDT
 portable IL analyzer, database format, and access API
 open software approach for tool development
Target and integrate multiple source languages
Used in CCA for automated generation of SIDL
Use in TAU to build automated performance instrumentation tools
(tau_instrumentor)
Can be used to generate code for performance ports in CCA
June 24, 2002
17
Argonne CCA Meeting
Performance Database Framework
Raw performance data Performance analysis programs
Performance analysis
and query toolkit
PerfDML
data
description PerfDML
translators
ORDB
PostgreSQL
• XML profile data
representation
• Multiple experiment
performance database
June 24, 2002
...
18
Argonne CCA Meeting
Integrated Performance Evaluation Environment
June 24, 2002
19
Argonne CCA Meeting
Applications: VTF (ASCI ASAP Caltech)
C++, C, F90, Python
 PDT, MPI

June 24, 2002
20
Argonne CCA Meeting
Applications: SAMRAI (LLNL)
C++
 PDT, MPI
 SAMRAI timers (groups)

June 24, 2002
21
Argonne CCA Meeting
Applications: Uintah (U. Utah ASCI L1 Center)
C++
 Mapping performance data, EXPARE experiment system
 MPI, sproc

June 24, 2002
22
Argonne CCA Meeting
Applications: Uintah (U. Utah)
TAU uses SCIRun [U. Utah] for visualization of performance data (online/offline)
June 24, 2002
23
Argonne CCA Meeting
Applications: Uintah (contd.)
Scalability analysis
June 24, 2002
24
Argonne CCA Meeting
Implementation

We need the CCA forum to help:




standardize component performance knowledge repository
specification to facilitate sharing
define protocols for accessing performance data
define the interface for performance ports
support this effort
Prototype implementation using TAU
 Identify target CCA projects

June 24, 2002
25
Argonne CCA Meeting
Concluding Remarks
Complex component systems pose challenging
performance analysis problems that require robust
methodologies and tools
 New performance problems will arise





Instrumentation and measurement
Data analysis and presentation
Diagnosis and tuning
Performance engineered components

Performance knowledge, observation, query and control
June 24, 2002
26
Argonne CCA Meeting
References





A. Malony and S. Shende, “Performance Technology for Complex
Parallel and Distributed Systems,” Proc. 3rd Workshop on Parallel
and Distributed Systems (DAPSYS), pp. 37-46, Aug. 2000.
S. Shende, A. Malony, and R. Ansell-Bell, “Instrumentation and
Measurement Strategies for Flexible and Portable Empirical
Performance Evaluation,” Proc. Int’l. Conf. on Parallel and
Distributed Processing Techniques and Applications (PDPTA),
CSREA, pp. 1150-1156, July 2001.
S. Shende, “The Role of Instrumentation and Mapping in
Performance Measurement,” Ph.D. Dissertation, Univ. of Oregon,
Aug. 2001.
J. de St. Germain, A. Morris, S. Parker, A. Malony, and S. Shende,
“Integrating Performance Analysis in the Uintah Software
Development Cycle,” ISHPC 2002, Nara, Japan, May, 2002.
URL: http://www.cs.uoregon.edu/research/paracomp/tau
June 24, 2002
27
Argonne CCA Meeting
Support Acknowledgement

TAU and PDT support:

Department of Energy (DOE)
 DOE
2000 ACTS contract
 DOE MICS contract
 DOE ASCI Level 3 (LANL, LLNL)
 U. of Utah DOE ASCI Level 1 subcontract


DARPA
NSF National Young Investigator (NYI) award