1 |
Partition
-
Divide problem into tasks to expose potential parallelism
|
2 |
Communicate
-
Determine amount and pattern of data to share between tasks
|
3 |
Agglomerate
-
Combine tasks to increase granularity and reduce communication
|
4 |
Map
-
Assign agglomerated tasks to physical processors
|