Title: Task/Channel Model
1Task/Channel Model
2Fosters Design Methodology
- Partitioning
- Communication
- Agglomeration
- Mapping
3Fosters Methodology
4Example Domain Decompositions
5Example Functional Decomposition
6Agglomeration Can Improve Performance
- Eliminate communication between primitive tasks
agglomerated into consolidated task - Combine groups of sending and receiving tasks
7Mapping Example
8Case Studies
- Boundary value problem
- Finding the maximum
- The n-body problem
- Adding data input
9Boundary Value Problem
Ice water
Rod
Insulation
10Rod Cools as Time Progresses
11Finite Difference Approximation
12Agglomeration and Mapping
13Sequential execution time
- ? time to update element
- n number of elements
- m number of iterations
- Sequential execution time m (n-1) ?
14Parallel Execution Time
- p number of processors
- ? message latency
- Parallel execution time m(??(n-1)/p?2?)
15Finding the Maximum Error
6.25
16Reduction
- Given associative operator ?
- a0 ? a1 ? a2 ? ? an-1
- Examples
- Add
- Multiply
- And, Or
- Maximum, Minimum
17Parallel Reduction Evolution
18Parallel Reduction Evolution
19Parallel Reduction Evolution
20Binomial Trees
21Finding Global Sum
4
2
0
7
-3
5
-6
-3
8
1
2
3
-4
4
6
-1
22Finding Global Sum
1
7
-6
4
4
5
8
2
23Finding Global Sum
8
-2
9
10
24Finding Global Sum
17
8
25Finding Global Sum
25
26Agglomeration
27Agglomeration
28The n-body Problem
29The n-body Problem
30Partitioning
- Domain partitioning
- Assume one task per particle
- Task has particles position, velocity vector
- Iteration
- Get positions of all other particles
- Compute new position, velocity
31Gather
32All-gather
33Complete Graph for All-gather
34Hypercube for All-gather
35Communication Time
36Adding Data Input
37Scatter
38Scatter in log p Steps
12345678