![]() |
Sistemi
Concorrenti e Distribuiti Corso di Laurea Magistrale in Informatica Università di Padova, a.a. 2016/17 Docente: Tullio Vardanega |
Settimana | Data | Lezione | Contenuto |
1 |
3 ottobre |
1 | Lezione:
la nozione di run-time support |
6 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 |
13 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: comunicazione tra processi concorrenti |
20 ottobre |
6 |
Lezione: continuazione lezione 5 Per approfondire: il modello base di concorrenza in Ada Esempio: master & dependent Esempio: crivello di Eratostene |
|
4 |
24 ottobre |
7 |
Lezione:
comunicazione
sincrona Esempio: una soluzione al problema dei filosofi a cena Esempio: una implementazione sincrona del crivello di Eratostene |
27 ottobre |
8 |
Lezione:
comunicazione
asincrona Esempio: controllo di accodamento Esempio: sistema produttore consumatore con bounded buffer Per approfondire: Per Brinch Hansen: "Structured Multiprogramming" (CACM, 1972) |
|
5 | 03 novembre | 9 | Lezione:
meccanismi
di sincronizzazione avanzati Esempio: allocazione di risorse Per approfondire: Toby Bloom: "Evaluating Synchronization Mechanisms" (CACM, 1979) |
04 novembre 15:30-17:15 1BC45 |
10 | Esercitazione:
sistema
ferroviario Esercizio: risolvere il problema in un linguaggio concorrente a piacere, analizzando le differenze significative di semantica realizzata |
|
6 |
07 novembre |
11 |
Lezione (flipped classroom): altri modelli di concorrenza (2,63 MB) |
10 novembre |
12 |
Lezione:
visione architetturale di sistema
distribuito Per approfondire: topologie di interconnessione |
|
11 novembre 15:30-17:15 1BC45 |
13 | Lezione: continuazione lezione 12 |
|
7 |
14
novembre |
|
aula ceduta a: Advanced
Topics in Computer Science |
17 novembre | 14 | Lezione:
comunicazione
in distribuito Per approfondire: naming e DNS |
|
8 | 24 novembre |
15 |
Lezione:
uso di concorrenza in distribuito Per approfondire: statelessness |
9 | 28 novembre | - | lezione annullata |
01
dicembre |
16 |
Lezione: sincronizzazione in distribuito Per approfondire: uso del "distributed snapshot" di Chandy e Lamport Per approfondire: materiale di lezione @ Cornell University (Ken Birman) |
|
Questionario valutazione didattica |
|||
10 |
05 dicembre | 17 |
Lezione (flipped classroom): implementazioni del distributed snapshot |
11 |
12 dicembre | 18 |
Lezione: il modello Java RMI |
15
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 |
|
16 dicembre 15:30-17:15 1BC45 |
20 |
Lezione: il modello CORBA Per approfondire: CORBA Portable Object Adapter |
|
12 | 09 gennaio |
21 |
Lezione:
Cloud computing (1) - introduzione generale - visione dall'alto secondo Ken Birman (Cornell Univ.) |
12 gennaio | 22 | Lezione:
Cloud computing (2) - problematiche a livello applicazione |
|
13 |
16 gennaio |
23 |
Lezione: Cloud computing (3) - riflessioni sulla scalabilità - problematiche a livello piattaforma |
19
gennaio |
24 |
Lezione:
(flipped
classroom): altri modelli di distribuzione a
livello di linguaggio Assegnazione dei temi d'esame |
L'esame si terrà per appuntamento, nei
periodi corrispondenti alle sessioni d'esame previste dal calendario accademico.