SISTEMI DI ELABORAZIONE
cod. 05924

Anno accademico 2014/15
2° anno di corso - Primo semestre
Docente
Settore scientifico disciplinare
Sistemi di elaborazione delle informazioni (ING-INF/05)
Field
Ingegneria informatica
Tipologia attività formativa
Caratterizzante
42 ore
di attività frontali
6 crediti
sede:
insegnamento
in - - -

Obiettivi formativi

La finalità del corso è quella di definire e caratterizzare i sistemi di elaborazione dell’informazione. In particolare verrà fornita allo studente la capacità di comprendere:

- modelli di programmazione parallela e distribuita
- sistemi di tipo client/server e sistemi di tipo peer-to-peer
- sistemi autonomici
- tecniche di simulazione
- computer quantistici

Lo studente imparerà ad applicare tali competenze per:

- sviluppare modelli di sistemi di elaborazione, in particolare per studiarne le prestazioni
- programmare sistemi paralleli e distribuiti
- progettare sistemi distribuiti di tipo client/server e di tipo peer-to-peer
- progettare sistemi di elaborazione dotati di caratteristiche autonomiche
- sviluppare simulazioni a eventi discreti
- progettare circuiti quantistici

Prerequisiti

- - -

Contenuti dell'insegnamento

1. Elaborazione automatica dell’informazione
2. Calcolo parallelo
3. Calcolo distribuito
4. Sistemi peer-to-peer
5. Sistemi autonomici
6. Tecniche di simulazione
7. Computer quantistici

Programma esteso

Contenuti Sistemi di Elaborazione (42 ore)

1. Elaborazione automatica dell’informazione
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
2.1. Architetture parallele; 2.2. Valutazione delle prestazioni; 2.3. Modelli di programmazione parallela; 2.4. Message Passing Interface (MPI); 2.5. MapReduce; 2.6. Sistemi Multicore, General Purpose GPU Programming, CUDA, OpenCL

3. Calcolo distribuito
3.1. Cluster computing; 3.2. Grid computing; 3.3. Cloud computing; 3.4. Pervasive computing

4. Sistemi peer-to-peer
4.1. Variabili di stato; 4.2. Dinamiche delle reti peer-to-peer; 4.3. Problematiche di progettazione; 4.4. Strategie di progettazione degli schemi di overlay; 4.5. Schemi di overlay (Napster, BitTorrent, eMule, Skype, Chord, Kademlia)

5. Sistemi autonomici
5.1. I quattro principi dell'autonomic computing; 5.2. MAPE-K; 5.3. NAM, NAM4J, Distributed Remodeling Framework

6. Tecniche di simulazione
6.1. Concetti generali sulle simulazioni; 6.2. Simulazioni ad eventi discreti

7. Computer quantistici
7.1. Cenni storici; 7.2. Richiami di algebra lineare; 7.3. Postulati della meccanica quantistica; 7.4. Quantum bit; 7.5. Circuiti quantistici; 7.6. Algoritmi quantistici

Bibliografia

M. Amoretti, dispense in inglese sugli argomenti del corso.
C. Ghezzi, D. Mandrioli, "Informatica Teorica", Città Studi, 1989.
D. E. Culler, J. Pal Singh, “Parallel Computer Architecture: A Hardware/Software Approach”, Morgan Kaufman, 1999.
B.P. Zeighler, H. Praehofer, T.G. Kim, "Theory of Modeling and Simulation", Second Edition, Academic Press, 2000.
M. Nielsen, I. Chuang, “Quantum Computation and Quantum Information”, Cambridge University Press, 2011.

Metodi didattici

Il corso viene svolto con lezioni frontali in cui il docente spiega gli argomenti mostrando delle diapositive oppure scrivendo alla lavagna.
La parte del corso dedicata ai sistemi peer-to-peer si conclude con un paio di esercitazioni pratiche in qui gli studenti sono invitati a utilizzare il middleware Sip2Peer per sviluppare semplici applicazioni. Le lezioni sulle tecniche di simulazione si concludono con un paio di esercitazioni pratiche in cui gli studenti sono invitati a utilizzare il tool di simulazione DEUS.

Modalità verifica apprendimento

Non sono previste prove in itinere.

E' prevista una prova scritta (3 ore) articolata su 6-7 quesiti a risposta libera, relativi alla parte teorica del corso.
E' previsto lo svolgimento di una tesina legata agli argomenti del corso. Tale tesina comporta l'utilizzo o lo sviluppo di software, la stesura di una relazione e una presentazione alla commissione (con il supporto di diapositive). Ciascuna tesina può essere svolta da un singolo studente o da un gruppo di due studenti.

Altre informazioni

Il materiale didattico e di supporto alle lezioni è disponibile sul sito lea.unipr.it