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