Salta al contenuto principale
CODICE 101809
ANNO ACCADEMICO 2020/2021
CFU
SETTORE SCIENTIFICO DISCIPLINARE INF/01
LINGUA Inglese
SEDE
  • GENOVA
PERIODO 1° Semestre
MATERIALE DIDATTICO AULAWEB

OBIETTIVI E CONTENUTI

OBIETTIVI FORMATIVI

Learning how to design high quality distributed systems, ranging from classical client-server to peer-to-peer and blockchain-based systems, and applying classical mathematical tools to measure reliability, availability, and fault tolerance.

OBIETTIVI FORMATIVI (DETTAGLIO) E RISULTATI DI APPRENDIMENTO

Obiettivo principale di questo corso è comprendere quando ha senso passare da un sistema centralizzato ad un sistema distribuito e come svilupparlo, tenendo conto di attributi quali disponibilità, affidabilità, tolleranza ai guasti. Durante il corso verranno presentati esempi di sistemi distribuiti, in particolare sistemi peer-to-peer e applicazioni basate su blockchain.

PREREQUISITI

Per seguire con successo questo corso, gli studenti devono già conoscere:

  • i database relazionali e la loro progettazione
  • le architetture client-server
  • i protocolli di rete
  • i principali argomenti di base di sicurezza informatica

Per le attività pratiche è necessario avere buone capacità di programmazione.

MODALITA' DIDATTICHE

Lezioni, esercitazioni pratiche e studio a casa. Nell'a.a. 2020/2021 le lezioni saranno anche erogate online su Teams.

PROGRAMMA/CONTENUTO

Ti serve davvero un sistema distribuito? Pro e contro nella scelta:

  • Scalabilità verticale e orizzontale
  • Costi di comunicazione

Gestione dei dati distribuiti

  • Replicazione
  • Codici a cancellazione e codici fontana

Rendere coerenti i sistemi

  • Il consenso bizantino
  • Approcci moderni (ad es. Google's Spanner)

Rendere veloci i sistemi: progettazione di sistemi di successo

  • MapReduce e Hadoop
  • Spark e Reliable Distributed Datasets

Rendere decentralizzati i sistemi: peer-to-peer

  • Ricerca dei dati nei sistemi peer-to-peer
  • Incentivi alla cooperazione

Consenso per i sistemi peer-to-peer: blockchain e registri distribuiti

  • Hai davvero bisogno di una blockchain?
  • Bitcoin e Proof-of-Work
  • Modelli di consenso alternativi
  • Ethereum: cosa c'è dietro al computer più lento del mondo

TESTI/BIBLIOGRAFIA

Durante il corso verranno suggeriti articoli scientifici sugli argomenti trattati durante le lezioni.

DOCENTI E COMMISSIONI

Commissione d'esame

MARINA RIBAUDO (Presidente)

MATTEO DELL'AMICO

LEZIONI

Orari delle lezioni

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

ESAMI

MODALITA' D'ESAME

Esame orale e discussione delle esercitazioni proposte durante il corso.

MODALITA' DI ACCERTAMENTO

L'accertamento delle conoscenze acquisite avviene mediante colloquio orale.

Calendario appelli

Data appello Orario Luogo Tipologia Note
10/02/2021 09:00 GENOVA Esame su appuntamento
23/07/2021 09:00 GENOVA Esame su appuntamento
16/09/2021 09:00 GENOVA Esame su appuntamento
18/02/2022 09:00 GENOVA Esame su appuntamento