Informazioni Generali

Risultati dell'apprendimento

Principi, metodologie e tecnologie per la progettazione ed implementazione di sistemi distribuiti moderni, inclusi i sistemi distribuiti a larga scala ed i sistemi di Cloud computing.

CFU

9 CFU, 90 ore di didattica frontale distribuite in 6 ore a settimana.

Prerequisiti

Il corso presuppone una buona conoscenza dei protocolli di rete, della progettazione e programmazione di applicazioni software e di rete (linguaggi C, Python e Java), dell'organizzazione e gestione di basi di dati, dell'infrastruttura Web.

Modalità di svolgimento delle lezioni

In accordo alle disposizioni rettorali e di coordinamento della Macroarea di Ingegneria e fino a eventuali nuove disposizioni, le lezioni si svolgeranno a distanza in modalità sincrona, nell'orario previsto ed utilizzando la piattaforma Teams.
Per accedere al team del corso, fare clic su Unisciti a un team o creane uno nell’elenco dei team e cercare la scheda Partecipa a un team con un codice. Il codice del corso è keruk4r.

Orario delle lezioni

Orario valido dal 21/9/2020 al 16/1/2021 (primo semestre)
  • Lunedì dalle 9:30 alle 11:15
  • Mercoledì dalle 9:30 alle 11:15
  • Venerdì dalle 9:30 alle 11:15

Docenti

Valeria Cardellini
Tel.: 067259 7388
E-mail: img (specificare [SDCC] nell'oggetto della mail)
Ufficio: stanza D1-17, corpo D dell'edificio "Ingegneria dell'Informazione", primo piano.
Orario di ricevimento: da definire

Gabriele Russo Russo
Docente del corso integrativo "Hands-on Cloud Computing Services"
E-mail: img (specificare [SDCC] nell'oggetto della mail)
Ufficio: stanza D1-19, corpo D dell'edificio "Ingegneria dell'Informazione", primo piano.

Avvisi

  • new 15 settembre 2020 - Il corso inizierà lunedì 21 settembre in modalità a distanza sincrona.
    Per l'utilizzo della piattaforma Teams vedi la sezione Modalità di svolgimento delle lezioni.
    Si raccomanda inoltre di effettuare l'iscrizione al corso tramite Delphi.

Materiale Didattico

Testi consigliati

Testi "classici" sui sistemi distribuiti:

Testi che trattano in modo esteso i sistemi e le applicazioni Cloud:

Calendario e slide delle lezioni

Giorno Argomento Slide Ultima modifica
 

Corso integrativo Hands-on Cloud Computing Services

Giorno Argomento Slide Ultima modifica

Articoli

I seguenti articoli approfondiscono ed integrano gli argomenti trattati a lezione; la loro lettura è raccomandata.

When I talk to researchers, when I talk to people wanting to engage in entrepreneurship, I tell them that if you read research papers consistently, if you seriously study half a dozen papers a week and you do that for two years, after those two years you will have learned a lot. This is a fantastic investment in your own long term development. (Andrew Ng, Inside The Mind That Built Google Brain: On Life, Creativity, And Failure)

Introduzione ai SD

  • A. Rotem-Gal-Oz, "Fallacies of distributed computing explained". (pdf)
  • M. van Steen and A.S. Tanenbaum, "A brief introduction to distributed systems", Computing, vol. 98, no. 10, pp. 967-1009, 2016. (pdf)
  • S. Vinoski, "Rediscovering distributed systems", IEEE Internet Computing, Vol. 18, No. 2, Mar.-Apr. 2014. (pdf)
  • J. Hodges, "Notes on distributed systems for young bloods", 2013. (html)

Video

Video di presentazioni utili per approfondire alcuni argomenti avanzati del corso.

Programmazione RPC

Esempi SUN RPC

Esempi Java RMI

Esempi RPC in Go

Altri link utili

I seguenti link forniscono delle fonti per approfondimenti.


Programma

Introduzione ai sistemi distribuiti
Introduzione al Cloud computing
Architetture per sistemi distribuiti
Comunicazione nei sistemi distribuiti
Introduzione alla programmazione in Go
Virtualizzazione
Architetture a microservizi e serverless
Coordinazione e sincronizzazione nei sistemi distribuiti
Consistenza e replicazione nei sistemi distribuiti
Tolleranza ai guasti nei sistemi distribuiti
Sistemi Web distribuiti e reti per content delivery
Amazon Web Services

Esami

Modalità di esame

L'esame si compone di:

  • Prova scritta;
  • Progetto e relativa discussione;
  • Prova orale facoltativa.

Appelli

  • I prova intermedia
  • II prova intermedia
  • I appello sessione invernale
  • II appello sessione invernale
  • I appello sessione estiva
  • II appello sessione estiva
  • I appello sessione autunnale
  • II appello sessione autunnale