Common parallel patterns
Pipeline (compute a function in stages)
Task farm (compute a set of independent tasks)
Map/forall (compute independent tasks on (overlapping) partitions of a single data item)
Reduce/Scan (compute associative “sums” of non-scalar data (with partial results)