![]() |
Sistemi Concorrenti
e Distribuiti Corso di Laurea Magistrale in Informatica Università di Padova, a.a. 2019/2020 Docente: Tullio Vardanega |
Settimana | Data | Lezione | Contenuto |
2 |
9 ottobre |
1 | Lezione:
la nozione di run-time support |
10 ottobre |
2 |
Lezione: la multiprogrammazione a livello di sistema operativo | |
3 |
16 ottobre |
3 |
Lezione:
virtualizzazione Esercizio: approfondire il funzionamento "under the hood" di Virtualbox |
17 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 |
|
4 |
23 ottobre |
5 |
Lezione: continuazione lezione 4 |
24 ottobre | 6 | Lezione: comunicazione tra processi concorrenti | |
5 |
30 ottobre |
7 |
Lezione: continuazione lezione 6 Per studio autonomo: il modello base di concorrenza in Ada Risorse supplementari Esempio: master & dependent |
31 ottobre |
8 |
Lezione:
comunicazione
sincrona Esempio: una soluzione al problema dei filosofi a cena |
|
6 |
6 novembre | 9 | Lezione: continuazione lezione 8 Esercizio: crivello di Eratostene: versione sincrona |
7 novembre |
10 |
Lezione:
comunicazione
asincrona Esempio: controllo di accodamento Esempio: sistema produttore consumatore con bounded buffer Esercizio: crivello di Eratostene: versione asincrona Per approfondire: Per Brinch Hansen: "Structured Multiprogramming" (CACM, 1972) |
|
7 |
13 novembre | 11 | Lezione (in modalità flipped): altri modelli di concorrenza |
14 novembre | 12 | Lezione:
meccanismi di sincronizzazione avanzati Esempio: allocazione di risorse Per approfondire: Toby Bloom: "Evaluating Synchronization Mechanisms" (CACM, 1979) |
|
8 |
20 novembre | 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 |
21 novembre | 14 | Lezione:
visione architetturale di sistema distribuito Per approfondire: topologie di interconnessione |
|
9 |
27 novembre |
15 |
Lezione: continuazione lezione 14 |
28 novembre | 16 |
Lezione:
comunicazione in distribuito Per approfondire: naming e DNS |
|
10 |
4 dicembre (10:30-14:00, 1BC45) |
17-18 | Lezione:
concorrenza
in distribuito Per approfondire: statelessness |
6
dicembre (13:00-14:30 1BC45) |
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) |
|
Questionario valutazione didattica:
restituzione 12 dicembre 2019 Valutazione via Uniweb: 5 dicembre 2019 - 29 febbraio 2020 |
|||
11 |
12 dicembre | 20 |
Lezione: il modello di distribuzione nativo di Java |
12 |
19 dicembre | 21 |
Lezione:
il modello di distribuzione nativo in Ada Esercizio: "crivello di Eratostene in versione distribuita" - codice Altri esempi d'uso: 1 Per approfondire (implementazione middleware): GLADE, RT-GLADE Per approfondire: YAMI4: un middleware per scambio messaggi in distribuito |
13 |
8 gennaio (12:30-15:00) |
22 | Lezione:
Cloud computing /1 - introduzione generale - secondo Ken Birman @ Cornell Univ. |
9 gennaio (14:30-17:00) |
23 | Lezione: Cloud computing /2 - problematiche a livello applicazione - riflessioni sulla scalabilità |
L'esame si terrà per appuntamento, nei
periodi corrispondenti alle sessioni d'esame previste dal calendario accademico.