Architetture avanzate (2012/2013)

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 4-mar-2013 al 14-giu-2013.

Orario lezioni

II semestre
Giorno Ora Tipo Luogo Note
lunedì 8.30 - 11.30 lezione Aula C  
mercoledì 14.30 - 16.30 lezione Laboratorio didattico Gamma  

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.

Testi di riferimento
Autore Titolo Casa editrice Anno ISBN Note
John L. Hennessy and David A. Patterson Computer Architecture - A Quantitative Approach (Edizione 4) Morgan Kaufmann 2007

Modalità d'esame

Test abilitativo al progetto + progetto di laboratorio

Opinione studenti frequentanti - 2012/2013


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

I dati relativi all'AA 2012/2013 non sono ancora disponibili