Architetture avanzate (2014/2015)

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 sem. dal 2-mar-2015 al 12-giu-2015.

Orario lezioni

II sem.
Giorno Ora Tipo Luogo Note
martedì 8.30 - 10.30 lezione Laboratorio didattico Gamma  
giovedì 14.30 - 17.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 - 2014/2015


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 46.15% 29 1
Respinti 3.84%
Assenti 50.0%
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% 8.3% 0.0% 0.0% 8.3% 16.6% 25.0% 16.6% 25.0%

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