Table of Contents
CS 528: Lecture 5 - 2/16/99
Administrative Details
Performance Metrics
Performance Metrics
Cost Optimality
Amdahls Law
Pictorial Depiction of Amdahls Law
Developing A Parallel Program
Some Important Concepts
Goal
Amdahls Law and Parallelization Overheads
Parallelization Process
Decomposition
Assignment
Orchestration
Mapping
Programming as Successive Refinement
Partitioning for Performance
Partitioning for Performance
Load Balance and Synch Wait Time
Identifying Concurrency
Identifying Concurrency (contd.)
Determining Task Granularity
Deciding How to Manage Concurrency
Dynamic Assignment
Why Dynamic Assignment?
Impact of Dynamic Assignment
Dynamic Assignment and Message Passing
Reducing Serialization
Reducing Inherent Communication
Reducing Extra Work
Domain Decomposition
Domain Decomposition (contd.)
Domain Decomposition (contd)
Finding a Domain Decomposition
Other Techniques
Orchestration for Performance
Limitations of Algorithm Analysis
Reducing Artifactual Communication
Working Set Perspective
Exploiting Temporal Locality
Exploiting Temporal Locality (contd.)
Exploiting Spatial Locality
Exploiting Spatial Locality (contd.)
Spatial Locality Example
Tradeoffs with Inherent Communication
Example Performance Impact
Structuring Communication
Reducing Overhead
Reducing Network Delay
Reducing Contention
Types of Contention
Overlapping Communication
Summary of Tradeoffs
Motivating Applications
Case Study 1: Simulating Ocean Currents
Ocean
Ocean: Partitioning
Orchestration and Mapping
Execution Time Breakdown
Case Study 2: Simulating Galaxy Evolution
Case Study 2: Barnes-Hut
Application Structure
Partitioning
Load Balancing
A Partitioning Approach: ORB
Another Approach: Costzones
Performance Comparison
Orchestration
Orchestration (contd.) and Mapping
Execution Time Breakdown
Case Study 3: Rendering Scenes by Ray Tracing
Partitioning
Partitioning (contd.)
Locality vs. Load Balancing
Orchestration and Mapping
Execution Time Breakdown
Summary