130 likes | 412 Views
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
E N D
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 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