SITE TITLE

LOGO DIETI

Calcolo Parallelo e Distribuito (mod A e B) magistrale

Modulo A

Titolo in inglese: Parallel and distributed computing

 Lingua: italiano

Insegnamento: Calcolo parallelo e distribuito

Anno di corso: I

CFU: 6

SSD: MAT/08

Ore di lezione: 48

Semestre: 1

Modulo: A

Codice: 57199-26419

Obiettivi formativi:
Fornire idee di base, metodologie, strumenti software per lo sviluppo di algoritmi in ambiente di calcolo paralleli e/o distribuiti ad alte prestazioni. Parte integrante del corso è l'attività di laboratorio.

Contenuti:
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.

Prerequisiti: Programmazione II

Modalità didattiche:

 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.

Materiale didattico:

Appunti e slide delle lezioni del corso:

A.Murli – Lezioni di Calcolo Parallelo, Liguori

Manuale di MPI

Manuale di OpenMP

Modalità di esame: 

L'esame si articola in prova

Scritta e orale

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

In caso di prova scritta i quesiti sono

 

 

 

A risposta libera

 

 

Esercizi numerici

 

Altro

 Sviluppo di progetti durante il corso; Prova al calcolatore

Docente: Laccetti Giuliano

 

Modulo B

Titolo in inglese: Parallel and distributed computing Lingua: italiano 

Insegnamento: Calcolo parallelo e distribuito

Anno di corso: I

CFU: 6

SSD: MAT/08

Ore di lezione: 48

Semestre: 2

Modulo: B

Codice: 57199-26420

Obiettivi formativi:
Fornire idee di base, metodologie, strumenti software per lo sviluppo di algoritmi in ambiente di calcolo paralleli e/o distribuiti ad alte prestazioni. Parte integrante del corso è l'attività di laboratorio.

Contenuti:
Differenze tra calcolo parallelo e calcolo distribuito. Il calcolo parallelo ad alte prestazioni: algoritmi a blocchi. Modelli di programmazione per gli ambienti di calcolo parallelo/distribuito più diffusi: cluster computing, multicore computing, network computing e GPU computing. Nuove tipologie di ambienti di calcolo paralleli/distribuiti: grid computing e cloud computing. Modelli di programmazione ibridi/gerarchici. Esempi significativi di sviluppo di algoritmi in tali ambienti di calcolo.

Prerequisiti: Calcolo Parallelo e Distribuito mod. A (se non già sostenuto alla triennale)

Modalità didattiche:

Lezioni frontali. Esercitazioni in laboratorio

 

Materiale didattico:

- D. Kirk, W.W. Hwu, Programming Massively Parallel Processor second ed., Morgan Kaufman

- J. Dongarra et al., Sourcebook of parallel computing, Morgan Kaufman

- A. Murli, Lezioni di Calcolo Parallelo, Liguori ed. 

Modalità di esame: 

L'esame si articola in prova

 

 

   

 

 

Solo orale

 

 

 

 

 

 

 

 

 

 

In caso di prova scritta i quesiti sono 

 

           

 

Altro

Discussione elaborati di laboratorio 

Docente: Lapegna Marco