SISTEMI DI ELABORAZIONE

Docenti: 
AMORETTI Michele
Codice dell'insegnamento: 
10424*7506*2016*2015*2
Crediti: 
6
Anno accademico di offerta: 
2017/2018
Settore scientifico disciplinare: 
SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI (ING-INF/05)
Semestre dell'insegnamento: 
Secondo Semestre
Lingua dell'insegnamento: 

Italiano

Obiettivi formativi

Al termine del corso ci si attende che lo studente sia in grado di:
- conoscere le principali tipologie di macchine astratte
- conoscere le principali classi di complessità computazionale
- sviluppare modelli di sistemi di elaborazione, in particolare per studiarne le prestazioni
- conoscere le caratteristiche delle architetture parallele
- conoscere le principali tecniche di descrizione e valutazione degli algoritmi paralleli
- progettare e sviluppare programmi paralleli
- conoscere le caratteristiche dei sistemi autonomici
- progettare sistemi di elaborazione autonomici
- conoscere i principi di funzionamento dei simulatori ad eventi discreti
- sviluppare simulazioni ad eventi discreti
- conoscere i principi dell'informatica quantistica
- progettare algoritmi e protocolli quantistici

Prerequisiti

Contenuti dell'insegnamento

1. Macchine astratte e complessità computazionale
2. Calcolo parallelo
3. Sistemi autonomici
4. Simulazione ad eventi discreti
5. Informatica quantistica

Programma esteso

1. Elaborazione automatica dell’informazione (5 ore)
1.1. Cenni di teoria dell'informazione; 1.2. Tassonomia dei sistemi di elaborazione; 1.3. Macchine astratte; 1.4. Complessità computazionale

2. Calcolo parallelo (13 ore)
2.1. Architetture parallele; 2.2. Algoritmi paralleli; 2.3. Valutazione delle prestazioni; 2.4. Message Passing Interface (MPI); 2.5. MapReduce; 2.6. Sistemi Multicore, OpenMP; 2.7. General Purpose GPU Programming, CUDA

3. Sistemi autonomici (3 ore)
3.1. I quattro principi dell'autonomic computing; 3.2. Il modello MAPE-K; 3.3. I framework NAM, NAM4J, DRF

4. Tecniche di simulazione (5 ore)
4.1. Concetti generali sulle simulazioni; 4.2. Simulazioni ad eventi discreti; 4.3. Modelli DEVS; 4.4. La piattaforma di simulazione DEUS

5. Computer quantistici (16 ore)
5.1. Cenni storici; 5.2. Richiami di algebra lineare; 5.3. Postulati della meccanica quantistica; 5.4. Quantum bit; 5.5. Circuiti quantistici; 5.6. Algoritmi quantistici; 5.7. Protocolli di sicurezza quantistici

Bibliografia

M. Amoretti, dispense in inglese sugli argomenti del corso.
C. Ghezzi, D. Mandrioli, "Informatica Teorica", Città Studi, 1989.
S. Arora, B. Barak, "Computational Complexity: A Modern Approach", Cambridge University Press, 2009.
G. Hager, G. Wellein, "Introduction to High Performance Computing for Scientists and Engineers", CRC Press, 2010.
B.P. Zeighler, H. Praehofer, T.G. Kim, "Theory of Modeling and Simulation", 2nd Ed., Academic Press, 2000.
M. Nielsen, I. Chuang, "Quantum Computation and Quantum Information", Cambridge University Press, 2011.

Metodi didattici

Le attività didattiche saranno condotte privilegiando lezioni frontali in cui il docente spiega gli argomenti mostrando delle slide e scrivendo sulla lavagna.
Alcune ore saranno dedicate ad esercitazioni pratiche di programmazione parallela e di sviluppo di simulatori ad eventi discreti.
Il materiale didattico (comprendente slide, dispense, codice sorgente, articoli scientifici) verrà caricato con cadenza settimanale sulla piattaforma Elly.
Per scaricare il materiale didattico è necessaria l’iscrizione al corso on line.
Si ricorda agli studenti non frequentanti di controllare il materiale didattico disponibile e le indicazioni fornite dal docente tramite la piattaforma Elly.

Modalità verifica apprendimento

La valutazione degli apprendimenti prevede due momenti:
1) una prova scritta della durata di 3 ore, articolata su domande aperte relative agli argomenti teorici del corso;
2) un progetto a scelta tra lo sviluppo di software parallelo, lo sviluppo di un simulatore ad eventi discreti, lo studio approfondito di un articolo di quantum computing; è prevista la stesura di una breve relazione e la presentazione orale del lavoro svolto.
La prova scritta è valutata con scala 0-30. Il progetto è valutato con scala 0-4. I due punteggi si sommano a formare il voto finale.
Non sono previste prove in itinere.

Altre informazioni