Upload
modesto-volpi
View
219
Download
1
Embed Size (px)
Citation preview
Introduzione al calcolo parallelo
SISTEMI INFORMATIVI AZIENDALI
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 della memoria Limiti della velocità di trasmissione Limiti della miniaturizzazione Limiti 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 sviluppiLe 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