O modelo PRAM (Parallel Random Access Machine) é uma extensão do modelo sequencial RAM e também o mais conhecido dos modelos de computação paralela.
Essa maneira de estabelecer a comunicação torna possível acesso de escrita ou leitura simultaneamente de vários processadores a uma mesma posição da memória. Dessa maneira, vão surgir 3 variantes do modelo PRAM, as que possuem permissão, ou não, do acesso concorrente:
| Exclusive Read, Exclusive Write (EREW) |
Modelo que não fornece permissão qualquer acesso simultâneo a uma mesma posição da memória por mais de um processador, seja para escrita ou leitura.
|
| Concurrent Read, Exclusive Write (CREW) |
Modelo fornece permissão somente de leitura simultânea em uma mesma posição da memória por mais de um processador, não fornece permissão a mesma operação para a escrita simultânea.
|
| Concurrent Read, Concurrent Write (CRCW) |
Modelo fornece permissão tanto para leitura, como para escrita concorrente em uma mesma posição da memória por mais de um processador. Com o intuito de evitar a possibilidade de conflitos do acesso simultâneo, os seguintes critérios devem ser observados:
|
Apesar de sua importância conceitual e teórica, o modelo PRAM, não consegue espelhar com precisão a noção de paralelismo. Algumas características que não foram incorporadas ao modelo têm grande impacto no desempenho das implementações.
Em virtude das limitações do modelo PRAM, outras alternativas surgiram para contornar estes problemas, estes modelos são chamados realísticos, exemplo, o BSP e o CGM, que veremos a seguir.
Significa a quantidade de ciclos que um processador é capaz de realizar durante um determinado tempo. (Fonte: http://pt.wikipedia.org/wiki/Clock)
XCRCW arbitrário: valores simultaneamente escritos poderão ser diferentes e apenas um, entre todos os processadores, poderá escrever, não importando qual.
XCRCW prioritário: valores que são escritos simultaneamente poderão ser diferentes. Será armazenado na posição da memória o valor escrito pelo processador que tenha a maior prioridade;
XCRCW comum: na escrita simultânea, todos os processadores devem escrever o mesmo valor;
X