DISTRIBUTED SYSTEMS

DISTRIBUTED SYSTEMS

_
iten
Codice
86799
ANNO ACCADEMICO
2020/2021
CFU
6 cfu al 2° anno di 8733 INGEGNERIA INFORMATICA (LM-32) GENOVA
SETTORE SCIENTIFICO DISCIPLINARE
ING-INF/05
LINGUA
Italiano
SEDE
GENOVA (INGEGNERIA INFORMATICA )
periodo
1° Semestre
materiale didattico

PRESENTAZIONE

Il corso si propone di fornire conoscenze sulle problematiche relative alla realizzazione di sistemi di elaborazione distribuiti e ad elevata scalabilità e affidabilità.

OBIETTIVI E CONTENUTI

OBIETTIVI FORMATIVI

Il corso si propone di descrivere i principi, le tecnologie e gli algoritmi sui quali è basata l'architettura dei servizi su rete Internet e in generale in tutti i sistemi distribuiti. In particolare i contenuti del corso sono: 1. Caratterizzazione dei Sistemi Distribuiti 2. Metodi e strumenti di sincronizzazione (sincronizzazione di clock logici e fisici, mutua esclusione distribuita, algoritmi e protocolli per l'elezione di leader). Caso di studio: Hyperledger permissioned Blockchains 3. Metodi e strumenti per la consistenza dei sistemi distribuiti (piattaforme data centric, piattaforme client centric, protocolli per la consistenza). Caso di studio: piattaforma di collaborazione MS Office Online 4. Resilienza dei sistemi distribuiti (process pooling distribuito e sua resilienza, servizi di trasmissione dati affidabili, operation commit distribuito, ripristino di sistemi compromessi). Caso di studio: Piattaforma Google per calcolo e storage distribuito, Data Stores distribuiti.

OBIETTIVI FORMATIVI (DETTAGLIO) E RISULTATI DI APPRENDIMENTO

Al termine del corso l'allievo sarà in grado di affrontare la progettazione e realizzazione di reti complesse in un contesto di rete pubblica sia in contesti di rete privata e la progettazione di sistemi e applicazioni basati sulle piattaforme informatiche ad elevata scalabilità e affidabilità.

Modalità didattiche

Lezioni ed esercitazioni

PROGRAMMA/CONTENUTO

Contenuti essenziali:

1. Distributed systems characterization

2. Coordination of distributed systems

  • Physical and logical clock synchronization
  • Distributed mutual exclusion
  • Election algorithms and protocols

3. Consistency of distributed systems

  • Data centric systems
  • Client centric systems
  • Consistency protocols

4. Resilience of distributed systems

  • Distributed process pooling and resilience
  • Reliable distributed communication services
  • Distributed operation commit
  • Recovery of faulty systems

5. Case studies

  • Hyperledger permissioned blockchains
  • Google distributed storage and computation
  • In memory Distributed Data Store
  • Office online collaboration platforms

TESTI/BIBLIOGRAFIA

 

Bibliografia:

  • M. van Steen, A. tanenbaum,  Distributed Systems Third Ed. 2017
  • G. Coulouris, J. Dollimor, T. Kindberg, G. Blair, Distributed Systems: Concepts and Desing, 5th editionby 2012
  • Materiale didattico disponibile su aulaweb.

DOCENTI E COMMISSIONI

Ricevimento: su appuntamento da richiedere via email: pierpaolo.baglietto@unige.it

Commissione d'esame

PIERPAOLO BAGLIETTO (Presidente)

MASSIMO MARESCA

ALBERTO GIORDANO

LEZIONI

Modalità didattiche

Lezioni ed esercitazioni

ESAMI

Modalità d'esame

Progetto didattico e orale

Modalità di accertamento

capacità di risolvere semplici problemi di progettazione e di programmazione sugli argomenti del corso

conoscenza degli argomenti trattati a lezione e capacità di analisi e discussione delle tematiche trattate