DISTRIBUTED SYSTEMS
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)
ALBERTO GIORDANO
MASSIMO MARESCA (Presidente Supplente)
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
Calendario appelli
Data | Ora | Luogo | Tipologia | Note |
---|---|---|---|---|
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 |