Pagina su DidatticaWeb
Link per Microsoft Teams
In base a quanto stabilito dal Senato Accademico e dalla Macroarea di Ingegneria, la didattica dell’A.A. 2021/22 sarà svolta prioritariamente in presenza, fino alla concorrenza del numero massimo dei posti disponibili nelle aule (pari al 50% della capienza).
Le lezioni saranno disponbili anche in diretta streaming su Teams
per coloro che non potranno accedere in aula.
Testi "classici" sui sistemi distribuiti:
Testi che trattano in modo esteso i sistemi e le applicazioni Cloud:
Giorno | Argomento | Slide | Ultima modifica |
---|---|---|---|
20/9/2021 | Organizzazione del corso Introduzione ai SD |
Organization.pdf DS_Introduction.pdf |
22/9/2021 22/9/2021 |
22/9/2021 | Introduzione ai SD | vedi lezione precedente | |
24/9/2021 | Introduzione ai SD Introduzione al Cloud computing |
vedi lezione 20/9 Cloud_Introduction.pdf |
27/9/2021 |
27/9/2021 | Introduzione al Cloud computing | vedi lezione precedente | |
29/9/2021 | Introduzione al Cloud computing | vedi lezione 24/9 | |
1/10/2021 | Architetture dei SD: stili | DS_Architecture.pdf | 4/10/2021 |
4/10/2021 | Architetture dei SD: architetture di sistema e introduzione alle reti P2P | vedi lezione precedente | |
6/10/2021 | Architetture dei SD: reti P2P non strutturate e strutturate | vedi lezione dell'1/10 | |
8/10/2021 | Architetture dei SD: reti P2P strutturate e architetture ibride | vedi lezione dell'1/10 | |
11/10/2021 | Architetture dei SD: sistemi self-* | vedi lezione dell'1/10 | |
13/10/2021 | Architetture dei SD: esempi di sistemi self-* Comunicazione nei SD: tipologie, semantica |
vedi lezione dell'1/10 DS_Communication1.pdf |
28/10/2021 |
15/10/2021 | Comunicazione nei SD: RPC | vedi lezione precedente | |
18/10/2021 | Comunicazione nei SD: SUN RPC | vedi lezione del 13/10 | |
18/10/2021 | Comunicazione nei SD: Java RMI | vedi lezione del 13/10 | |
22/10/2021 | Introduzione a Go | Go.pdf go_introduction.zip |
28/10/2021 28/10/2021 |
25/10/2021 | Introduzione a Go, RPC in Go Comunicazione nei SD: MPI |
vedi lezione del 22/10 DS_Communication2.pdf |
3/11/2021 |
27/10/2021 | Comunicazione nei SD: gRPC | vedi lezione del 13/10 | |
29/10/2021 | Comunicazione nei SD: esempio gRPC Presentazione dell'esercizio in Go |
vedi lezione del 13/10 Go_Exercise.pdf |
3/11/2021 |
3/11/2021 | Presentazione dell'esercizio in Go Comunicazione nei SD: sistemi MOM |
vedi lezione del 29/10 vedi lezione del 25/10 |
|
3/11/2021 | Comunicazione nei SD: esempi di sistemi MOM RabbitMQ e Go: esempi |
vedi lezione del 25/10 rabbitmq_1_hello.zip, rabbitmq_2_worker.zip |
3/11/2021 |
8/11/2021 | Comunicazione nei SD: Kafka, protocolli di messaggistica | vedi lezione del 25/10 kafka-python_example.py |
|
10/11/2021 | Comunicazione nei SD: protocolli di gossiping | vedi lezione del 25/10 | |
12/11/2021 | AWS Academy Learner Lab - Foundation Services Virtualizzazione: introduzione, tassonomia, di sistema |
Virtualization.pdf |
26/11/2021 |
15/11/2021 | Comunicazione nei SD: Matching distribuito degli eventi nei sistemi pub-sub Virtualizzazione: di sistema (completa, paravirtualizzazione, architettura del VMM) |
vedi lezione del 25/10 vedi lezione precedente |
|
17/11/2021 | Comunicazione nei SD: command line tool per Kafka con esempi Virtualizzazione: condizioni, della memoria, Xen |
vedi lezione del 25/10 vedi lezione del 12/11 |
|
19/11/2021 | Virtualizzazione: prestazioni, resizing e migrazione di VM | vedi lezione del 12/11 | |
22/11/2021 | Virtualizzazione: a livello di sistema operativo Docker Soluzione di prove d'esame passate |
vedi lezione del 12/11 Docker.pdf |
29/11/2021 |
24/11/2021 | Docker | vedi lezione precedente | |
26/11/2021 | Docker: volumi, Compose, Swarm Virtualizzazione: light OS, unikernel |
vedi lezione del 22/11 vedi lezione del 25/10 |
|
29/11/2021 | Virtualizzazione: Resizing e migrazione di container Microservizi e serverless: SOA, caratteristiche microservizi |
vedi lezione del 25/10 Microservice+serverless.pdf |
15/12/2021 |
1/12/2021 | Microservizi e serverless: stato, design pattern Esempio pattern SAGA Soluzione di esercizi di prove d'esame passate |
vedi lezione del 29/11 Microservice_SAGAexample.pdf |
30/12/2020 |
3/12/2021 | Microservizi e serverless: esempi di applicazioni a microservizi, caratteristiche del serverless Soluzione di esercizi di prove d'esame passate |
vedi lezione del 29/11 |
|
6/12/2021 | Prima prova intermedia | ||
10/12/2021 | Microservizi e serverless: serverless computing Kubernetes Integrazione su Kubernetes: slide A.A. 20/21 di Fabiana Rossi (video su Teams) |
vedi lezione del 29/11 Kubernetes.pdf Kubernetes_FRossi2021.pdf |
21/12/2021 |
13/12/2021 | Sincronizzazione e coordinazione nei SD: introduzione, tempo fisico, algoritmi di sincronizzazione fisica | DS_Synchronization.pdf | 20/12/2021 |
15/12/2021 | Sincronizzazione e coordinazione nei SD: NTP, clock logico scalare e vettoriale | vedi lezione del 13/12 | |
17/12/2021 | Sincronizzazione e coordinazione nei SD: multicasting totalmente e causalmente ordinato, mutua esclusione nei SD | vedi lezione del 13/12 | |
20/12/2021 | Sincronizzazione e coordinazione nei SD: algoritmi di mutua esclusione distribuita | vedi lezione del 13/12 | |
22/12/2021 |
Esercizi su sincronizzazione Sincronizzazione e coordinazione nei SD: algoritmi di elezione Consistenza nei SD: introduzione, modelli di consistenza |
EserciziClockLogico.pdf vedi lezione del 13/12 DS_Consistency.pdf |
13/1/2022 12/1/2022 |
10/1/2022 | Consistenza nei SD: modelli di consistenza data-centrici, teorema CAP | vedi lezione precedente | |
12/1/2022 |
Esercizi sulla consistenza Consistenza nei SD: consistenza finale, protocolli di consistenza Redirezione basata su DNS |
EserciziConsistenza.pdf vedi lezione del 22/12 |
13/1/2022 |
14/1/2022 |
Tolleranza ai guasti: dependability, modelli di failure, TMR, consenso distribuito, algoritmo di Paxos Presentazione dei progetti |
DS_FaultTolerance.pdf |
15/1/2022 |
14/1/2022 | Tolleranza ai guasti nei SD: algoritmi di Paxos e Raft, algoritmo dei generali bizantini | vedi lezione precedente |
Corso integrativo Hands-on Cloud Computing Services
Giorno | Argomento | Slide | Ultima modifica |
---|---|---|---|
27/10/2021 | Introduzione ad AWS; EC2 | Slides (.pdf) codice (.zip) |
27/10/2021 |
05/11/2021 | Elastic Load Balancing, Auto-Scaling, VPC, AWS CLI | Slides (.pdf) | 05/11/2021 |
10/11/2021 | Ansible, boto3, Amazon S3 | Slides (.pdf) codice (.zip) |
10/11/2021 |
17/11/2021 | AWX, IaC, Terraform, CloudFront, DynamoDB | slides (.pdf) codice (.zip) |
17/11/2021 |
15/12/2021 | AWS Beanstalk, Lambda, SQS | slides (.pdf) codice (.zip) |
15/12/2021 |
22/12/2021 | AWS API Gateway, Step Functions, ... | slides (.pdf) codice (.zip) |
22/12/2021 |
Application-level multicast and gossiping protocols
OS-level virtualization
Performance of hypervisors, containers, and LV approaches
square, echo, average, remote directory listing: sun-rpc.zip
Esempi Java RMIecho, compute engine: rmi.zip (per compute engine, vedere anche Java RMI tutorial)
Esempi Go
Introduzione a Go: go_introduction.zip
RPC moltiplicazione e divisione tra interi: rpc_arith.zip
gRPC ProductInfo in Go: grpc-go_productinfo.zip
L'esame si compone di:
La prova scritta verte sugli argomenti dell'intero corso e prevede domande a risposta aperta ed esercizi.
Si raccomanda di sostenere la prova scritta prima del progetto.
In alternativa alla prova scritta, si terranno due prove scritte intermedie. Tali prove intermedie possono essere sostenute soltanto dagli studenti immatricolati al primo anno della Laurea Magistrale nell'A.A. 2021/22 e dagli studenti immatricolati in anni precedenti e che optano per il programma dell'A.A. 2021/22.
Se entrambe le prove intermedie saranno superate positivamente, verrà proposto un voto finale per la prova scritta.
Non è possibile recuperare le prove intermedie in modo parziale.
Non ci sono vincoli sulla partecipazione alle prove
(eccetto la prenotazione obbligatoria per le prove scritte).
Tuttavia, la partecipazione ad una prova scritta comporta la rinuncia automatica
ad un voto sufficiente conseguito in una prova scritta precedente.
Gli studenti immatricolati in anni precedenti all'A.A. 2021/22 e che intendono
sostenere le prove intermedie devono comunicarlo alla docente.
La prova orale è facoltativa e verte su tutto il programma del corso.
E' possibile sostenere la prova orale facoltativa in un appello diverso da quello in cui si è sostenuto la prova scritta, purchè nella stessa sessione.
E' possibile sostenere la prova scritta e l'eventuale prova orale in una stessa sessione e posticipare la discussione del progetto ad un'altra sessione.
Le tracce dei progetti sono suddivise in due modalità, corrispondenti a due diversi pesi del progetto nella valutazione finale e a due differenti composizioni dei gruppi:
Per la realizzazione del progetto, è possibile usufruire del grant offerto da Amazon Web Service tramite il programma AWS Academy. Gli studenti iscritti al corso hanno ricevuto via email le istruzioni per l'accesso.
La consegna del progetto deve avvenire una settimana prima
della data (da concordare con la docente) in cui si intende sostenere la discussione del progetto.
Ciascuno studente esporrà una presentazione individuale tramite slide di una parte del progetto (max 10 minuti per studente).
Tutti i componenti del gruppo devono sostenere la presentazione del progetto nella stessa data.
Negli anni passati alcuni gruppi di studenti hanno svolto il loro progetto partecipando a competizioni internazionali o nazionali, tra cui: