Parallel and Distributed Computing

Titolo insegnamento in inglese: Parallel and Distributed Computing

Lingua: italiano

Insegnamento: Parallel and Distributed Computing

Anno di corso: II

CFU: 6

Semestre: 1

Docenti:

  • Canale unico:  Giuliano Laccetti

Insegnamenti propedeutici previsti

nessuno

Obiettivi Formativi

Concetto di “parallelismo” e di “alte prestazioni”. I supercomputer. Classificazione e principali caratteristiche funzionali delle architetture parallele (classificazione di Flynn, rivista e aggiornata). Parametri di valutazione delle prestazioni degli algoritmi paralleli. I parametri classici di SpeedUp ed Efficiency. Metodologie per lo sviluppo di algoritmi paralleli e loro dipendenza dall'architettura. Esempi di progettazione e implementazione di algoritmi su architetture di tipo MIMD distributed memory (uso di message programming; la libreria MPI) e di tipo MIMD shared memory (l’esempio dei multicore; condivisione di memoria; la libreria OpenMP). Parametri di valutazione e scalabilità degli algoritmi paralleli. SpeedUp scalato ed Efficiency scalata. Il bilanciamento del Carico. Algoritmi tolleranti alla latenza e ai guasti. I/0 parallelo. Algoritmi di base in ambiente parallelo e distribuito: ordinamenti, calcolo matriciale

Contenuti

Parte integrante del corso sono le attività di laboratorio. Durante il corso, presentazione a scadenza fissata d 2-3 miniprogetti, da realizzare in ambiente MPI e/o OpenMP; la presentazione in tempo utile (e la sufficienza della qualità del lavoro) di tali miniprogetti, esonera gli studenti dalla prova d’esame al calcolatore.
 

Modalità didattiche

Lezioni frontali. Esercitazioni.

Modalità di esame

L'esame si articola in prova scritta e orale.

La prova scritta è a risposta libera, con esercizi numerici, Sviluppo di progetti durante il corso; Prova al calcolatore .