Data Parallelism is higher level than either message passing or object models (if objects used to break up data to respect computer) |
It provides a Shared Memory Programming Model which can be executed on SIMD or MIMD computers, distributed or shared memory computers |
Note it specifies problem not machine structure |
It in principle provides the most attractive machine independent model for programmers as it reflects problem and not computer |
Its disadvantage is that hard to build compilers especially for the most interesting new algorithms which are dynamic and irregular! |