Salta al contenuto principale
CODICE 86799
ANNO ACCADEMICO 2020/2021
CFU
SETTORE SCIENTIFICO DISCIPLINARE ING-INF/05
LINGUA Italiano
SEDE
  • GENOVA
PERIODO 1° Semestre
MATERIALE DIDATTICO AULAWEB

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à.

MODALITA' 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

Commissione d'esame

PIERPAOLO BAGLIETTO (Presidente)

ALBERTO GIORDANO

MASSIMO MARESCA (Presidente Supplente)

LEZIONI

Orari delle lezioni

L'orario di questo insegnamento è consultabile all'indirizzo: Portale EasyAcademy

ESAMI

MODALITA' D'ESAME

Progetto didattico e orale

MODALITA' 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

Calendario appelli

Data appello Orario Luogo Tipologia Note
14/01/2021 09:30 GENOVA Orale
11/02/2021 09:30 GENOVA Orale
14/06/2021 09:00 GENOVA Orale
28/06/2021 09:00 GENOVA Orale
16/07/2021 09:00 GENOVA Orale
10/09/2021 09:00 GENOVA Orale