81942 - SCALABLE AND CLOUD PROGRAMMING

Scheda insegnamento

  • Docente Gianluigi Zavattaro

  • Crediti formativi 6

  • SSD INF/01

  • Modalità di erogazione In presenza (Convenzionale)

  • Lingua di insegnamento Italiano

Anno Accademico 2017/2018

Conoscenze e abilità da conseguire

Servizi Web quali Facebook, Google, Amazon, ecc. vengono eseguiti su molteplici data center geograficamente distribuiti. In particolare, sono necessarie migliaia di calcolatori, organizzati in modo tale da realizzare sistemi tolleranti ai guasti e capaci di supportare migliaia di richieste concorrenti. Inoltre, piattaforme di questo tipo (come ad esempio Google e Amazon) offrono servizi di hosting per applicazioni di terze parti creando cos“ i cosiddetti servizi di Òcloud computingÓ. In questo corso si tratteranno aspetti legati alla programmazione di tali sistemi considerando sia le problematiche derivanti dalla distribuzione dei dati e dei processi, sia le principali attualmente adottate quali ad esempio il modello di programmazione MapReduce.

Programma/Contenuti

Analisi delle problematiche relative alla realizzazione di applicazioni altamente concorrenti e distribuite.

Tecniche di parallelizzazione e distribuzione scalabili di dati e programmi, quali il modello di programmazione MapReduce.

Approccio funzionale alla realizzazione di sistemi scalabili tramite linguaggi e framework quali Scala e Spark.

Piattaforme cloud per l’esecuzione di applicazioni scalabili quali Hadoop o Google App Engine.

Testi/Bibliografia

Documenti e articoli che verranno riportati sul sito web del corso.

Metodi didattici

Lezioni frontali ed esercitazioni.

Modalità di verifica dell'apprendimento

Progetti di sviluppo di sistemi utilizzando le tecniche e le piattaforme discusse a lezione.

Strumenti a supporto della didattica

PC e proiettore.

Orario di ricevimento

Consulta il sito web di Gianluigi Zavattaro