Why special languages for data-parallelism?
Originally devised for Single Instruction, Multiple Data (SIMD) computers.
Specialized architectures demanded special language features.
New abstraction: distributed array.
Central control avoided problems of concurrent programming—concentrate on expressing parallel algorithms.