DISTRIBUTED SYSTEMS

A.A. di erogazione 2020/2021
Insegnamento opzionale

Laurea Magistrale in INFORMATICA
 (A.A. 2020/2021)
L'insegnamento è condiviso, tecnicamente "mutuato" con altri corsi di laurea, consultare il dettaglio nella sezione Mutuazioni
Anno di corso: 
1
Tipologia di insegnamento: 
Affine/Integrativa
Settore disciplinare: 
INFORMATICA (INF/01)
Lingua: 
Inglese
Crediti: 
6
Ciclo: 
Secondo Semestre
Ore di attivita' frontale: 
48
Dettaglio ore: 
Lezione (48 ore)

Questo corso fornisce un’introduzione avanzata ai differenti modelli ed architetture di sistemi distribuiti e le metodologie per descrivere e risolvere problemi computazionali risolvibili utilizzando tali modelli. Verranno illustrati in profondità come casi particolari l’esecuzione di transazioni e la replicazione dei dati in una base di dati distribuita.
Alla fine di questo corso lo studente:
1. possiede conoscenze relative ad aspetti avanzati i sistemi distribuiti (in particolare, basi di dati relazionali distribuite e/o replicate).
2. possiede le conoscenze per gestire grandi collezioni di dati utilizzando i differenti modelli architetturali che vengono presentati durante lo svolgimento del corso.
3. È in grado di individuare un problema relativo alla gestione dei dati utilizzando le differenti architetture di sistemi distribuiti che vengono presentate nel corso e di risolverlo in modo professionale.
4. è in grado di giudicare l’adeguatezza di una base di dati distribuita e replicata, in funzione delle esigenze del contesto applicativo.

Lo studente ha conoscenza degli argomenti presentati in un corso introduttivo di Basi di Dati Relazionali. In particolare, lo studente conosce il modello relazionale dei dati, l’algebra relazionale, il linguaggio di interrogazione SQL, la progettazione concettuale e logica di una base di dati relazionale. Inoltre, lo studente ha conoscenza altresì degli argomenti presentato in un corso avanzato di Basi di Dati Relazionali, quali il modello dei dati object-oriented, i modelli dei dati semi-strutturati ed i relativi linguaggi di interrogazione. Infine, lo studente ha conoscenza dell’analisi della complessità degli algoritmi nel caso centralizzato e sequenziale.

˗ introduzione ai sistemi distribuiti (2 ore)
˗ modelli architetturali: memoria condivisa, scambio di messaggi, tipologie di errori, modelli sincrono e asincrono (4 ore)
˗ tempo e casualità: orologi logici di Lamport, timestamp vettoriali, calcolo di snapshot distribuiti, sincronizzazione con orologi fisici (4 ore)
˗ accordo e consenso: accordo in un sistema senza errori, accordo in un sistema sincrono con errori di tipo crash, i failure detector, consenso in un sistema asincrono con errori, consenso uniforme con failure detector (12 ore)
˗ transazioni in un DBMS distribuito: richiami alla gestione centralizzata delle transazioni, protocollo two-phase locking centralizzato, affidabilità delle transazioni distribuite, commitment atomico e protocollo two-phase commit, valutazione del protocollo 2PC (12 ore)
˗ comunicazione affidabili in gruppi: multicast affidabile, multicast bizantino, multicast ordinato, multicast e consenso (4 ore)
˗ replicazione: modelli di consistenza per dati replicati, tipi di dati sequenziali, consistenza forte e debole (4 ore)
˗ replicazione dei dati in un sistema distribuito: proprietà acide 1-copy, protocolli di replicazione con e senza middleware (8 ore)

Le lezioni frontali consistono in 48 ore di lezioni teoriche. Le lezioni sono dedicate all’illustrazione di: modelli di sistemi distribuiti; metodologie per esprimere e risolvere problemi nei vari modelli; applicazione di tali metodologie nell’ambito di basi di dati distribuite.

La modalità di verifica consiste in una prova scritta.
Lo scopo di tale prova è quello di verificare l’apprendimento e la comprensione dei modelli teorici alla base dei sistemi distribuiti. Una prove scritta consiste di domande di natura teorica, il cui scopo è di verificare le capacità comunicative sviluppate dallo studente, in particolare l'acquisizione della terminologia tecnica necessaria alla comprensione e comunicazione delle metodologie e dei modelli relativi ai sistemi distribuiti.
Le domande sono in numero di 4-5.
Il voto della prova scritta è espresso in trentesimi. La prova è superata se il voto è maggiore o uguale a 18/30

Dispense ed altro materiale di studio sono forniti dal docente, e sono reperibili sul sito di e-learning dell’Università.

Il docente riceve su appuntamento tramite email a nome.cognome@uninsubria.it. Il docente risponde solo a email firmate e provenienti dal dominio studenti.uninsubria.it.

Cerchi il programma? Potrebbe non essere ancora stato caricato o riferirsi ad insegnamenti che verranno erogati in futuro.
Seleziona l‘anno in cui ti sei immatricolato e troverai le informazioni relative all'insegnamento del tuo piano di studio.

A.A. 2019/2020

Anno di corso: 2
Curriculum: GENERICO

A.A. 2018/2019

Anno di corso: 1
Curriculum: GENERICO