Insegnamento mutuato da: B018967 - SISTEMI DISTRIBUITI E RETI DI CALCOLATORI Laurea Magistrale in INFORMATICA
Lingua Insegnamento
Italiano.
Contenuto del corso
Il corso introduce gli studenti ai principi di base del calcolo distribuito, evidenziando tematiche e tecniche comuni. Al termine del corso, gli studenti apprenderanno e saranno in grado di utilizzare le principali tecniche soggiacenti alla progettazione di sistemi distribuiti e, relative, in particolare, alla comunicazione, al coordinamento, alla tolleranza ai guasti, alla localita', alla rottura della simmetria, alla sincronizzazione e all'incertezza.
Nicola Santoro. Design and Analysis of Distributed Algorithms. Wiley, 2007
Obiettivi Formativi
Conoscenze: il corso ha come scopo principale quello di introdurre gli studenti alla progettazione e analisi di algoritmi per sistemi di calcolo distribuito, focalizzandosi sulla natura e sulla struttura di base di questi sistemi, identificando principi e tecniche generali e ignorando i dettagli specifici di un particolare sistema.
Competenze acquisite: le competenze attese per lo studente sono quelle di progettare e analizzare un algoritmo per sistemi di calcolo distribuiti, sapendone provare la correttezza e verificarne l'efficienza.
Capacità acquisite (al termine del corso): gli studenti saranno in grado di progettare e analizzare algoritmi per sistemi di calcolo distribuiti.
Prerequisiti
Algoritmi e strutture dati, calcolo delle probabilità, matematica discreta, programmazione.
Metodi Didattici
Lezioni frontali.
Modalità di verifica apprendimento
Esercizi da svolgere durante il corso, implementazione di uno più algoritmi, esame orale.
Programma del corso
Ambienti di calcolo distribuito. Problemi e protocolli di base. Elezione di un leader. Smistamento di messaggi e cammini minimi. Operazioni su insiemi distribuiti. Calcolo sincrono. Tolleranza ai guasti.