CODICE 101809 ANNO ACCADEMICO 2020/2021 CFU 9 cfu anno 2 COMPUTER SCIENCE 10852 (LM-18) - GENOVA 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 MARINA RIBAUDO 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 MATTEO DELL'AMICO 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