Architetture avanzate (2015/2016)

Codice insegnamento
4S02910
Docente
Nicola Bombieri
Coordinatore
Nicola Bombieri
crediti
6
Settore disciplinare
ING-INF/05 - SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI
Lingua di erogazione
Italiano
Periodo
II semestre dal 1-mar-2016 al 10-giu-2016.

Orario lezioni

II semestre
Giorno Ora Tipo Luogo Note
giovedì 14.30 - 17.30 laboratorio Laboratorio didattico Gamma  
venerdì 10.30 - 13.30 lezione Aula I  

Obiettivi formativi

Definizione, specifica e analisi di architetture di calcolo avanzate con particolare enfasi alle piattaforme embedded multiprocessore e GP-GPU.

Programma

Modulo TEORIA (32 ore):
-) Introduzione al parallelismo e alle architetture parallele.
-) Progettazione di programmi per architetture parallele.
-) Modelli di programmazione parallela.
-) Misura e analisi delle prestazioni.
-) Legge di Amdhal e metriche per la misura delle prestazioni.
-) Pipeline: concetti base ed avanzati.
-) Instruction-level parallelism (ILP).
-) Tecniche avanzate di branch prediction, static scheduling e speculation.
-) Gerarchie di memoria: concetti base ed avanzati.
-) Tecniche avanzate per l'ottimizzazione delle performance della cache.
-) Memoria virtuale.
-) Thread-level parallelism (TLP).
-) Coerenza della cache in architetture shared-memory.
-) Protocolli Snoopy.
-) Data-level parallelism (DLP).
-) General purpose Graphic Processing Unit (GP-GPU).
-) Programmazione di architetture GP-GPU con CUDA e OpenCL.
-) Introduzione a Grid e Cloud Computing.

Modulo LABORATORIO (24 ore):
-) Utilizzo di compilatori paralleli per architetture multiprocessore (OpenMP).
-) Utilizzo di compilatori paralleli per architetture multicomputer (MPI).
-) Programmazione GP-GPU: CUDA, OpenCL.

Per seguire con profitto l'insegnamento è consigliabile che lo studente abbia già acquisito competenze in:
*) Fondamenti di architettura degli elaboratori. In particolare: il set di istruzioni, unità di elaborazione, gerarchia di memoria, pipeline.
*) Fondamenti di sistemi operativi. In particolare: concetto di processo e thread, virtualizzazione memoria.
*) Fondamenti di programmazione. In particolare: concetti base di programmazione C e Assembly.

Modalità d'esame

Test abilitativo al progetto + progetto di laboratorio

Opinione studenti frequentanti - 2015/2016


Statistiche per i requisiti di trasparenza (Attuazione Art. 2 del D.M. 31/10/2007, n. 544)

Statistiche esiti
Esiti Esami Esiti Percentuali Media voti Deviazione Standard
Positivi 27.27% 29 1
Respinti --
Assenti 72.72%
Ritirati --
Annullati --
Distribuzione degli esiti positivi
18 19 20 21 22 23 24 25 26 27 28 29 30 30 e Lode
0.0% 0.0% 0.0% 0.0% 0.0% 0.0% 0.0% 0.0% 0.0% 16.6% 0.0% 50.0% 33.3% 0.0%

Valori relativi all'AA 2015/2016 calcolati su un totale di 22 iscritti. I valori in percentuale sono arrotondati al numero intero più vicino.