![]() |
Sistemi Concorrenti
e Distribuiti Corso di Laurea Magistrale in Informatica Università di Padova, a.a. 2018/19 Docente: Tullio Vardanega |
Settimana | Data | Lezione | Contenuto |
1 |
3 ottobre |
1 | Lezione:
la nozione di run-time support |
4 ottobre |
2 |
Lezione: la multiprogrammazione a livello di sistema operativo | |
2 |
10 ottobre |
3 |
Lezione:
virtualizzazione Esercizio: studiare il funzionamento "under the hood" di Virtualbox |
11 ottobre |
4 |
Lezione: requisiti di programmazione concorrente Esercizio: individuare linguaggi in uso corrente che supportino coroutine o concorrenza Per approfondire: il modello di concorrenza in C# Per approfondire: Per Brinch Hansen sulla concorrenza in Java Per approfondire: il problema dell'inheritance anomaly |
|
3 |
17 ottobre |
5 |
Lezione: continuazione lezione 4 |
18 ottobre | 6 | Lezione: comunicazione tra processi concorrenti | |
4 |
24 ottobre |
7 |
Lezione: continuazione lezione 6 Per studio autonomo: il modello base di concorrenza in Ada Risorse supplementari Esempio: master & dependent Esempio: crivello di Eratostene |
25 ottobre |
8 |
Lezione:
comunicazione
sincrona Esempio: una soluzione al problema dei filosofi a cena Esempio: una implementazione sincrona del crivello di Eratostene |
|
5 | 31 ottobre | 9 | Lezione: continuazione lezione 8 |
7 |
14 novembre |
10 |
Lezione:
comunicazione
asincrona Esempio: controllo di accodamento Esempio: sistema produttore consumatore con bounded buffer Per approfondire: Per Brinch Hansen: "Structured Multiprogramming" (CACM, 1972) |
15 novembre | 11 | Lezione (in modalità flipped): altri modelli di concorrenza | |
8 |
21 novembre | 12 | Lezione:
meccanismi di sincronizzazione avanzati Esempio: allocazione di risorse Per approfondire: Toby Bloom: "Evaluating Synchronization Mechanisms" (CACM, 1979) |
23
novembre (14:00-16:00) |
13 |
Esercitazione
(in modalità flipped): sistema
ferroviario Esempio di soluzione Esercizio: risolvere il problema in un linguaggio concorrente a piacere, analizzando le differenze significative di semantica realizzata |
|
Questionario valutazione didattica (06/12/2018-23/02/2019) | |||
9 |
28 novembre | 14 | Lezione:
visione architetturale di sistema distribuito Per approfondire: topologie di interconnessione |
29 novembre |
15 |
Lezione: continuazione lezione 14 | |
10 |
4
dicembre (16:30-18:30) |
16 |
Lezione:
comunicazione
in distribuito Per approfondire: naming e DNS |
5 dicembre | 17 | Lezione:
uso di concorrenza in distribuito Per approfondire: statelessness |
|
6 dicembre | 18 | Lezione: continuazione lezione 17 | |
11 |
12 dicembre | 19 |
Lezione: sincronizzazione
in distribuito Esercizio: implementazione dimostrativa di terminazione sincronizzata Per approfondire: uso del "distributed snapshot" di Chandy e Lamport Per approfondire: materiale di lezione @ Cornell University (Ken Birman) |
13 dicembre | 20 |
Lezione: il modello Java RMI | |
12 |
19 dicembre | 21 |
Lezione:
il modello di distribuzione nativo in Ada Esercizio: "crivello di Eratostene in versione distribuita" - codice Altri esempi d'uso di DSA: 1 Per approfondire (implementazione middleware): GLADE, RT-GLADE Per approfondire: YAMI4: un middleware per scambio messaggi in distribuito |
20 dicembre | 22 |
Lezione:
Cloud computing /1 - introduzione generale - visione dall'alto secondo Ken Birman (Cornell Univ.) |
|
13 |
9 gennaio | 23 | Lezione:
Cloud computing /2 - problematiche a livello applicazione |
10 gennaio (16:00-17:30) |
24 | Lezione: Cloud computing /3 - riflessioni sulla scalabilità Presentazione dei temi d'esame |
|
14 |
16 gennaio | 25 |
Eventuale
recupero |
L'esame si terrà per appuntamento,
nei periodi corrispondenti alle sessioni d'esame previste dal calendario accademico.