Programming languages for massive parallelism
Task farming adequately expressed in conventional languages
- task = function call
- libraries handle communication + load-balancing
Data parallelism can be expressed in conventional languages + MPI (say), but historically higher level languages have been quite successful
- Potentially avoid the problems of general concurrent programming (non-determinism, synchronization, deadlock, …)