Sistemi Distribuiti
Corso di Laurea Specialistica in Ingegneria Informatica
AA 2007/2008

ORDINAMENTO 2000 (5 Crediti)

Docente Prof. Roberto Baldoni

Tutor. Ing. Alessia Milani, Ing. Leonardo Querzoni, Ing. Silvia Bonomi


Avvisi:


Orario di Ricevimento

Giovedi' dalle ore 16.30 alle 18.00. Via Ariosto 25 - stanza B212 II piano.


Appelli AA 2008/2009:

Primo appello: 13 Luglio 2009. Risultati.

Secondo appello: 7 Settembre 2009. Risultati.

Appelli AA 2007/2008:

Primo appello: 19 Marzo 2008. Risultati.

Secondo appello: 11 Aprile 2008. Risultati.

Terzo appello: 7 Luglio 2008. Risultati.

Quarto appello: 10 Settembre 2008. Risultati.

Quinto Appello: 7 Gennaio 2009. Risultati

Sesto appello: 2 Febbraio 2009. Risultati

Appelli AA 2006/2007:

Primo appello: 28 Marzo. Risultati.

Secondo appello: 20 Aprile. Risultati.

Terzo appello: 2 Luglio. Risultati.

Quarto appello: 12 Settembre. Risultati.

Quinto appello: 28 Novembre. Risultati


Orari delle lezioni:

Lunedi' Aula 1 12.00-13.30
Mercoledi' Aula 40 12.00-13.30
Giovedi' Aula 8 14.00-15.30


Testi di riferimento

Testi consigliati


Programma Preliminare

Argomenti
Materiale
Introduzione Concetti di base di un sistema distribuito: hardware, software e tecnologie di comunicazione, dalla specifica all’implementazione. trasparenze, T1
Dai sistemi concorrenti a quelli distribuiti appunti, trasparenze (pdf1, pdf2)

Astrazioni di base

 

processi: eventi, history, guasti, computazione distribuita, algoritmi distribuiti, proprietà di safety e di liveness. T1
modelli computazionali: Sincrono, Asincrono, Parzialmente Sincrono. T1
canali di comunicazione punto-punto: fair loss, stubborn, perfect. Relazione con TCP e UDP. T1, trasparenze(pdf)
Failure detector: perfetta su sistemi sincroni, eventually perfect su sistemi parzialmente sincroni, esempio di elezione del leader. T1
Computazioni Distribuite relazione happened-before ed alcune sue rappresentazioni trasparenze (pdf) , T1
tempo: clock fisico, clock logico. Esempi di utilizzo. La comunicazione causale, stabilità dei messaggi trasparenze (pdf1, pdf2), "Fundamentals of Distributed Computing: A practical tour of vector clocks"

Sincronizzazione

registri: operazioni non-atomiche: registri e relative specifiche (safe, regular, atomic), protocolli di base T1, trasparenze (1, 2, 3)
Mutua Esclusione Distribuita: algoritmi basati su token e su permesso. trasparenze (pdf)
Consenso: definizione, FLP impossibility result, flooding consensus uniforme e non uniforme con failure detector perfetti ed eventually perfect. Applicazioni del consenso: Total order protocol, non-blocking atomic commitment. T1, trasparenze (pdf) , esercitazione(pdf)

Teoria delle comunicazioni:

Specifiche e protocolli: Reliable Broadcast, FIFO broadcast, Causal Broadcast, Total Order Broadcast, gerarchia di total order broadcast: specifiche ed implementazioni, broadcast probabilistico

T1, trasparenze (pdf), trasparenze (pdf),

"A guided tour on total order communication"

Teoria della Replicazione: Tecniche di Replicazione Software: Primary backup, active replication. Virtual synchrony. trasparenze (pdf)
"Fault Tolerance by Replication in distributed systems" (pdf)
Diffusione dell'informazione Sistemi Publish/Subscribe. Il paradigma di comunicazione, event routing, SIENA, SCRIBE, TERA.

trasparenze (pdf).
articolo 1 (pdf).
articolo 2 (pdf).
articolo 3 (pdf).

Modalita' d'esame

L'esame richiede il superamento di una prova scritta. Esempio di prova scritta.


Testi d'esame

Testo d'esame (appello del 22 Marzo 2004) soluzione di alcune delle domande proposte

Testo d'esame (appello del 1 Aprile 2004)

Testo d'esame (appello del 19 Luglio 2004)

Testo d'esame (appello del 24 Settembre 2004)

Testo d'esame (appello del 16 Aprile 2005)

Testo d'esame (appello del 22 Luglio 2005)

Testo d'esame (appello del 21 Settembre 2005)

Testo d'esame (appello del 29 Marzo 2006)

Testo d'esame (appello del 19 Aprile 2006)