MODELLI DI PROGRAMMAZIONE PARALLELA


Lo scopo principale della programmazione parallela e' quello di utilizzare tutti i processori e di ridurre il tempo di esecuzione di un programma.
Non esiste pero' un software capace di assorbire le differenze esistenti nelle varie architetture parallele e quindi un unico modello di programmazione parallela, che viene a dipendere percio' dal tipo di architettura si sta programmando:
 

Symmetric Multiprocessor (SMP):

e' riferibile generalmente ad architetture con memoria condivisa.

Massively Parallel Processor (MPP):

e' riferibile generalmente ad architetture con memoria distribuita.

in questo modello di programmazione parallela, solitamente realizzato con le librerie Message Passing, a causa della presenza di:

generalmente il tempo impiegato a svolgere ogni parte parallela e' piu' dispendioso di quando questa parte di codice e' svolta in un calcolo seriale.

Riferendoci sempre al modello MPP, ci sono ulteriori (sotto)categorie di programmazione parallela che qui rappresentiamo per poi commentarle: