SISTEMI INFORMATIVI
AZIENDALI
Introduzione al calcolo parallelo
Pierpaolo Guerra
Anno accademico 2009/2010
Introduzione al calcolo parallelo

Cenni sul calcolo parallelo

Dal calcolo sequenziale al calcolo parallelo

Perché usare il calcolo parallelo?

Problematiche hardware e software

Applicazioni e sviluppi
Cenni sul calcolo parallelo (1)
Per decenni, la tecnologia ha conosciuto sempre nuovi
successi divenuti forza trainante per gli sviluppi delle
architetture degli elaboratori.
La potenza di calcolo dei computer è aumentata
essenzialmente attraverso:
• Aumenti della velocità del clock
• Chip più efficienti
• Memorie più ampie
• Ottimizzazioni del calcolo (pipelining e vettorizzazioni)
Cenni sul calcolo parallelo (2)

Nonostante ciò quando si devono eseguire
calcoli molto complessi si possono
incontrare:
Limiti
 Limiti
 Limiti
 Limiti

della memoria
della velocità di trasmissione
della miniaturizzazione
economici
Cenni sul calcolo parallelo (3)
La soluzione a tali limiti è presentata
dall’utilizzo contemporaneo di più risorse
di calcolo che può essere ottenuto:
Utilizzando un computer singolo con più
processori
 Utilizzando più computer collegati in rete
 Implementando una combinazione di
computer multi-processore collegati in
rete

Cenni sul calcolo parallelo (4)
• Il calcolo parallelo può quindi essere visto come
un’evoluzione del calcolo seriale (sequenziale)
• In generale, è l’uso simultaneo di più CPU per risolvere un
unico problema computazionale
• Per girare su più CPU, un problema è diviso in parti discrete
che possono essere risolte concorrentemente
• Ogni parte è a sua volta divisa in una serie di istruzioni
• Le istruzioni di ogni parte sono eseguite
contemporaneamente su CPU diverse (una CPU può eseguire
al massimo una operazione alla volta)
Dal calcolo sequenziale al calcolo parallelo
IL CALCOLO SEQUENZIALE

Risolve un problema tramite un algoritmo, le cui
istruzione sono eseguite in sequenza

Modello computazionale caratterizzato da un
singolo processore

ES: Supponiamo di dover effettuare la somma di
8 numeri . Per eseguire la somma abbiamo
bisogni di 7 somme, oltre ad un’assegnazione
iniziale (somma=i[0]) .
Dal calcolo sequenziale al calcolo parallelo
IL CALCOLO PARALLELO

Risolve lo stesso problema tramite un algoritmo
le cui istruzioni sono eseguite in modo parallelo

Modello computazionale che prevede processori
multipli e relativi meccanismi di cooperazione

Es: Supponiamo di dover effettuare la somma di
8 numeri con 4 CPU, ognuna delle quali effettua
la somma di due variabili. In seguito 2 CPU
effettuano la somma dei due risultati precedenti e
1 CPU somma alla fine i due risultati ottenuti.
Bastano 3 passi invece dei 7 precedenti.
Perché il calcolo parallelo?
Risolvere problemi che risultano computazionalmente troppo
onerosi anche per i più veloci supercomputer contemporanei
E’ possibile utilizzare il calcolo parallelo per risolvere:
• Un problema più grande nello stesso tempo (Scale-up)
•Lo stesso problema in minor tempo (Speed-up)
• Superare i vincoli di memoria
• Contenere i costi
(N processori economici invece che 1 più costoso)
Limiti hardware e software

Il calcolo parallelo necessita di strutture
hardware in grado di effettuare la
parallelizzazione ( servono più CPU)

Il software che si utilizza deve essere in
grado di effettuare la ripartizione delle
operazioni da assegnare alle diverse cpu
Applicazioni e sviluppi
Le principali applicazioni in cui tale tecnologia è
risultata fondamentale sono i casi simulazione
numerica di sistemi molto complessi, cioè “Grand
Challenge Problems”:






Modellazione del clima globale
Simulazioni di reazioni chimiche e nucleari
Studio del genoma umano
Studio delle proprietà di materiali complessi
Simulazione di attività geologica e sismica
Progettazione di veicoli più efficienti e sicuri