Salta al contenuto principale della pagina

DISTRIBUTED SYSTEMS

CODICE 86799
ANNO ACCADEMICO 2020/2021
CFU
  • 6 cfu al 2° anno di 8733 INGEGNERIA INFORMATICA (LM-32) - GENOVA
  • 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 tutti gli insegnamenti è consultabile su 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 Ora 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