Data parallelism
Large data structures, typically arrays, split across computational nodes.
Each node computes local patch of arrays.
Typically need some intermediate results from other nodes, but communication should not dominate.
Logical model of fine-grained parallelism—at level of array elements, rather than tasks.