programma
C. Limongelli, F. Milicchio e A. Paoluzzi

Esame e Progetti 2005/06

Del materiale per la preparazione dello scritto con matrici a blocchi e MPI e` disponibile. L'elenco di assegnazione dei progetti e` in in linea. Gli eventuali link conducono al materiale di studio consigliato. Voto finale: scritto (10 punti) + progetto (15 p) + discussione (5 p). La sufficienza nello scritto e` obbligatoria.

Avvisi

I risultati dell'esame di luglio sono in linea.

Obiettivi didattici

Il corso intende introdurre lo studente alle tecniche di programmazione parallela, nonché alle moderne architetture hardware e software per il calcolo parallelo e distribuito, incluse le infrastrutture di calcolo che vanno sotto il nome di computing grids.
Il corso offrirà anche una introduzione ai linguaggi paralleli di ultima generazione e ai metodi iterativi distribuiti per la simulazione di problemi ingegneristici.

Risorse di calcolo

Si utilizzerà il laboratorio HPC donato dalla IBM Corporation al Dipartimento di Informatica e Automazione. Questo contiene sia un cluster di workstations che un server SMP interconnessi da software Grid:

1. Server IBM P650 8 processori PowerPC4+ 1400MHz, 16 GB RAM, 900 GB HD
2. 8 Intellistation IBM M-Pro P4 3GHz, 1GB RAM, GPU GeForce Quadro FX 3000

Programma

1. Introduzione. Computing grids. Architetture parallele. Principi di progetto di algoritmi paralleli. Richiami Unix/Linux e linguaggio C.
2. Operazioni di comunicazione. Paradigma MPI: principi, esempi. PVM. Cluster set-up. Esempi di programmazione PVM.
3. Metriche di prestazione dei programmi paralleli. Memoria condivisa. Threads. Programmi asincroni. Sincronizzazione. OpenMP. Linguaggi basati su direttive. Esempi di programmazione multithread.
4. Algoritmi paralleli: operazioni matriciali; risoluzione sistemi lineari; search e ottimizzazione discreta; algoritmi paralleli su grafi; File system distribuito sicuro basato su Kerberos, OpenLDAP e OpenAFS.
5. Seminari: supercomputers e computing grids (IBM); applicazioni aeroacustiche; volume rendering (Livermore); PLaSM parallelo.

Linguaggi di programmazione

C, Python, Fortran

Materiale didattico

1. Blaise N. Barney, HPC Training Materials, per gentile concessione del Lawrence Livermore National Laboratory's Computational Training Center
2. Grama, Gupta, Karypis, Kumar Introduction to Parallel Computing Addison-Wesley, Harlow, 2003. Second edition. ISBN:0201648652
3. Ahmar Abbas Grid Computing: A Practical Guide to Technology and Applications Charles River Media, 2004. ISBN:1584502762
4. Slides delle lezioni

© 2004 Alberto Paoluzzi Contact