DM is a programming model. It defines logic and programming strategies that allow the creation of an algorithm, parallel in this case.

PRAM is a computing model, that is, an abstraction of a parallel computer. It defines costs on memory access and how procesos can work and communicate. You can also build an algorithm directly into the computing model though.


That is the main difference. In some places you may find that they use and exchange the two concepts as if they were equal, but that is not healthy.