Sun HPC ClusterTools 6 Software Performance Guide
|
![Table Of Contents Table Of Contents](shared/toc01.gif) ![Previous Chapter Previous Chapter](shared/prev01.gif) ![Next Chapter Next Chapter](shared/next01.gif) ![Book Index Book Index](shared/index01.gif) |
Sun HPC ClusterTools
6 Software Performance Guide
819-4134-10
Figures
Tables
Code Samples
Preface
1. Quick Reference
Compilation and Linking
MPProf
Analyzer Profiling
Job Launch on a Multinode Cluster
MPI Programming Tips
2. Introduction: The Sun HPC ClusterTools Solution
Sun HPC Hardware
Processors
Nodes
Clusters
Sun HPC ClusterTools Software
Sun MPI
Cluster Runtime Environment
3. Choosing Your Programming Model and Hardware
Starting Out
Programming Models
Scalability
Amdahl's Law
Scaling Laws of Algorithms
Characterizing Platforms
Basic Hardware Factors
Other Factors
4. Performance Programming
General Good Programming
Clean Programming
Optimizing Local Computation
Optimizing MPI Communications
Reducing Message Volume
Reducing Serialization
Load Balancing
Synchronization
Buffering
Nonblocking Operations
Polling
Sun MPI Collectives
Contiguous Data Types
Special Considerations for Message Passing Over TCP
MPI Communications Case Study
Algorithms Used
Algorithm 1
Algorithm 2
Algorithm 3
Algorithm 4
Algorithm 5
Making a Complete Program
Timing Experiments With the Algorithms
Baseline Results
Directed Polling
Increasing Sun MPI Internal Buffering
Use of MPI_Testall
5. One-Sided Communication
Introducing One-Sided Communication
Comparing Two-Sided and One-Sided Communications
Basic Sun MPI Performance Advice
Case Study: Matrix Transposition
Test Program A
Test Program B
Test Program C
Test Program D
Utility Routines
Timing
6. Compilation and Linking
Compiler Version
The mp* Utilities
The -fast Switch
The -xarch Switch
The -xalias Switch
The -g Switch
Other Useful Switches
7. Runtime Considerations and Tuning
Running on a Dedicated System
Setting Sun MPI Environment Variables
Are You Running on a Dedicated System?
Does the Code Use System Buffers Safely?
Are You Willing to Trade Memory for Performance?
Do You Want to Initialize Sun MPI Resources?
Is More Runtime Diagnostic Information Needed?
Launching Jobs on a Multinode Cluster
Minimizing Communication Costs
Load Balancing
Controlling Bisection Bandwidth
Considering the Role of I/O Servers
Running Jobs in the Background
Limiting Core Dumps
Using Line-Buffered Output
Multinode Job Launch Under CRE
Collocal Blocks of Processes
Multithreaded Job
Round-Robin Distribution of Processes
Detailed Mapping
8. Profiling
General Profiling Methodology
Basic Approaches
MPProf Profiling Tool
Sample MPProf Output
Overview
Load Balance
Sun MPI Environment Variables
Breakdown by MPI Routine
Time Dependence
Connections
Multithreaded Programs
The mpdump Utility
Managing Disk Files
Incorporating Environment Variable Suggestions
Performance Analyzer Profiling of Sun MPI Programs
Data Collection
Data Volume
Data Organization
Example
Other Data Collection Issues
Analyzing Profiling Data
Case Study
Overview of Functions
MPI Wait Times
Other Profiling Approaches
Using the MPI Profiling Interface
Inserting MPI Timer Calls
Using the gprof Utility
A. Sun MPI Implementation
Yielding and Descheduling
Progress Engine
Shared-Memory Point-to-Point Message Passing
Postboxes and Buffers
Connection Pools Versus Send-Buffer Pools
Eager Versus Rendezvous
Performance Considerations
Full Versus Lazy Connections
Optimizations for Collective Operations
Network Awareness
Shared-Memory Optimizations
Pipelining
Multiple Algorithms
One-Sided Message Passing Using Remote Process
B. Sun MPI Environment Variables
Yielding and Descheduling
Polling
Shared-Memory Point-to-Point Message Passing
Memory Considerations
Performance Considerations
Restrictions
Shared-Memory Collectives
Running Over TCP
Summary Table Of Environment Variables
Index
Sun HPC ClusterTools 6 Software Performance Guide
|
819-4134-10
|
![Table Of Contents Table Of Contents](shared/toc01.gif) ![Previous Chapter Previous Chapter](shared/prev01.gif) ![Next Chapter Next Chapter](shared/next01.gif) ![Book Index Book Index](shared/index01.gif) |
Copyright © 2006, Sun Microsystems, Inc. All Rights Reserved.