DISTRIBUTED DEPENDABLE SYSTEMS

DISTRIBUTED DEPENDABLE SYSTEMS

_
iten
Codice
101809
ANNO ACCADEMICO
2020/2021
CFU
9 cfu al 2° anno di 10852 COMPUTER SCIENCE (LM-18) GENOVA
SETTORE SCIENTIFICO DISCIPLINARE
INF/01
LINGUA
Inglese
SEDE
GENOVA (COMPUTER SCIENCE )
periodo
2° Semestre

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.

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

Ricevimento: La docente riceve su appuntamento presso il DIBRIS, studio numero 231, 2 piano, Via Dodecaneso 35, Genova. In caso di didattica a distanza il ricevimento avviene su Teams. E-mail: marina.ribaudo@unige.it    

LEZIONI

Modalità didattiche

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

ESAMI

Modalità d'esame

Esame orale e discussione delle esercitazioni proposte durante il corso.

Modalità di accertamento

L'accertamento delle conoscenze acquisite avviene mediante colloquio orale.