Parallel Programming Patterns

Department of Computer Science / UIUC

Driving Forces of Parallel Patterns
  1. Decomposition
  2. (D) Data Decomposition
    (F) Functional Decomposition (at least in abstraction)
  3. Ordering
  4. (P) Ordering must be preserved
    (NP) Ordering does not matter and only the effect counts
  5. Communication structure
  6. (L) Local: neighbor-to-neighbor
    (R) Recursive: Tree structure
    (I) Irregular: Complex geometric shapes
  7. Dependencies
  8. (C) Clearly separable
    (D) Deterministically (or functionally) dependant
    (I) Inseparable


Table of Parallel Patterns
 
decomposition
ordering
communication
dependency
(D) (F) (P) (NP) (L) (R) (I) (C) (D) (I)
Pipes  
 
     
 
Layers  
 
     
 
Repositories  
 
     
 
Master/Worker
 
   
   
Replicable
 
     
 
Inseparation
 
       
Divide&Conquer
   
   
 
Geometric
 
 
     
 
Recursive
 
   
   
 
Irregular Mesh