SISTEMI DI ELABORAZIONE
cod. 05924

Anno accademico 2013/14
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: PARMA
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 teorici (a tempo discreto, a tempo continuo e orientate agli eventi)
- modelli di programmazione parallela e distribuita
- sistemi di tipo client/server e sistemi di tipo peer-to-peer
- sistemi autonomici
- tecniche di simulazione

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

Prerequisiti

- - -

Contenuti dell'insegnamento

1. Sistemi e modelli
2. Elaborazione automatica dell’informazione
3. Calcolo parallelo
4. Calcolo distribuito
5. Sistemi peer-to-peer
6. Sviluppo di applicazioni peer-to-peer con Sip2Peer
7. Calcolo autonomico
8. Tecniche di simulazione
9. Simulazioni ad eventi discreti con DEUS

Programma esteso

Contenuti Sistemi di Elaborazione (42 ore)

1. Sistemi e modelli
1.1. Spazio degli stati
1.2. Modelli deterministici e modelli stocastici
1.3. Sistemi complessi
1.4. Sistemi complessi adattativi
1.5. Modelli Markoviani
1.5.1. Catene di Markov a tempo discreto
1.5.2. Catene di Markov a tempo continuo
1.5.3. Modelli di Markov con premio
1.6. Dinamiche di popolazione
1.7. Topologie di rete
1.8. Modelli DEVS

2. Elaborazione automatica dell’informazione
2.1. Cenni di teoria dell'informazione
2.2. Tassonomia dei sistemi di elaborazione
2.3. Automi
2.4. Architettura di Von Neumann

3. Calcolo parallelo
3.1. Concetti generali
3.2. Modelli di programmazione parallela
3.3. Architettura NUMA; Onyx2
3.4. Parallelismo massivo, CM2
3.5. Message Passing Interface (MPI)
3.6. Sistemi multicore, Cell, General Purpose GPU Programming
3.7. CUDA

4. Calcolo distribuito
4.1. Cluster computing
4.2. Grid computing
4.3. Cloud computing
4.4. Pervasive computing

5. Sistemi peer-to-peer
5.1. Variabili di stato
5.2. Dinamiche delle reti peer-to-peer
5.3. Problematiche di progettazione
5.4. Strategie di progettazione degli schemi di overlay
5.5. Schemi di overlay piン noti (Napster, BitTorrent, eMule, JXTA, Skype, Chord, Kademlia)

6. Sviluppo di applicazioni peer-to-peer con Sip2Peer

7. Calcolo autonomico
7.1. I quattro principi dell'autonomic computing
7.2. MAPE-K
7.3. NAM e NAM4J
7.4. Distributed Remodeling Framework

8. Tecniche di simulazione
8.1. Concetti generali sulle simulazioni
8.2. Simulazioni ad eventi discreti

9. Simulazioni ad eventi discreti con DEUS

Bibliografia

M.Amoretti, dispense in inglese sugli argomenti del corso.
B.P. Zeighler, H. Praehofer, T.G. Kim, "Theory of Modeling and Simulation", Second Edition, Academic Press, 2000.
G. Bolch et al., “Queueing Networks and Markov Chains”, Second Edition, Wiley Interscience, 2006.
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

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 riguardante la modellizzazione di sistemi tramite Catene di Markov comprende
anche la soluzione alla lavagna di alcuni esercizi.
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