![]() |
Corso
di Sistemi Concorrenti e Distribuiti Corso di Laurea Magistrale in Informatica Università di Padova, a.a. 2010/11 Docente: Tullio Vardanega |
Nell'ambito di entrambi i segmenti
del corso, il docente proporrà allo studente esercizi da
realizzare in
proprio in laboratorio per sperimentare direttamente le problematiche
progettuali e realizzative, e i paradigmi di soluzione illustrati a
lezione.
GNAT GPL edition 2010 (offerto da AdaCore)
Settimana | Data | Lezione | Contenuto | Materiale didattico |
Sistemi concorrenti | ||||
1 | 19 ottobre |
1 | Lezione: Programmazione
concorrente Esempio 1: 3 modi di programmare il sistema visto a lezione Esempio A: Il modulo "Calendario" Esempio B: Il modulo "Tempo Reale" |
1.§1-2 |
20 ottobre |
2 |
Lezione: Communicazione
tra
processi
in
un
sistema
concorrente Si svolgano gli esercizi 1-3 descritti nel materiale di lezione |
1.§3 | |
2 |
26 ottobre |
3 |
Lezione: Un
modello di concorrenza concreto Esercizio 4: "Il crivello di Eratostene". Compilare, eseguire e analizzare le caratteristiche salienti del programma concorrente proposto per la realizzazione dell'algoritmo Esercizio 5: descritto nel materiale di lezione Esercizio 6: "I filosofi a cena" |
1.§4
|
27 ottobre (Per permettere lo svolgimento di una assemblea studentesca relativa all'organizzazione di iniziative in merito al DDL Gelmini, e su richiesta dei Rappresentanti degli studenti, le attività didattiche sono sospese dalle ore 12.30 alle ore 14.30. L'Assemblea si svolgerà in Aula A "Nasini", via Loredan 6) |
4 |
|||
28 ottobre |
5 |
Lezione: Il
modello rendezvous Esempio 1:"Il crivello di Eratostene rivisitato" |
1.§5 | |
29 ottobre (14:30-17:15 2AB40) |
6 |
|||
3 |
2 novembre |
7 |
Lezione: Estensioni
del modello rendezvous
Esercizio 7: "Il crivello di Eratostene ter": compilare, eseguire e commentare tutte le differenze strutturali del programma proposto rispetto alla soluzione esaminata nell'esercizio 4 e nell'esempio 1 Esercizio 8: "I filosofi a cena - soluzione rivisitata" |
1.§6 |
3 novembre |
8 |
Lezione:
Risorse
protette Esempio 2: "Controllo di accodamento" Per approfondire: Per Brinch Hansen: "Structured Multiprogramming" (CACM, 1972) Per studio personale: astrazioni realizzabili mediante risorsa protetta 1: semaforo 2: segnali persistenti 3: segnali transitori 4: messaggi in diffusione 5: eventi 6: barriere |
1.§7 |
|
4 novembre |
9 |
|||
4 |
9 novembre |
10 |
Lezione: Criteri
di
sincronizzazione Esempio 3: "Allocazione di risorse" Esercizio 9: Migliorare la soluzione dell'Esempio 3 risolvendone il problema di inefficienza secondo le indicazioni fornite nel testo Per approfondire: Toby Bloom: "Evaluating Synchronization Mechanisms" (CACM, 1979) Per approfondire: Il modello di concorrenza in C# Per approfondire: Per Brinch Hansen sulla concorrenza in Java |
1.§8 |
10 novembre |
11 |
Esempio 4: "Sistema
ferroviario" Esercizio 10: Analizzare la soluzione mostrata nell'esempio "Sistema ferroviario" e discussa alle pagine 15-17 della lezione 10 e realizzare la stessa semantica concorrente utilizzando un linguaggio alternativo a piacere, discutendo i problemi riscontrati e le differenze eventualmente irriducibili |
||
11 novembre |
12 | Lezione: Correttezza
temporale Per approfondire: Definizione dei protocolli di priority inheritance Una critica alla priority inheritance Una risposta alla critica Un modello di riferimento per politiche di ordinamento |
1.§13-14 | |
12 novembre (14:30-16:15 2AB45) |
13 |
Lezione: Trattamento di eventi asincroni | 1.§9 | |
Per
approfondire: Interazione
tra concorrenza e
orientazione a
oggetti Il problema dell'inheritance anomaly |
1.§10 | |||
Sistemi distribuiti | ||||
5 |
18 novembre (14:00-15:30) |
14/1 |
Recupero lezione 13 |
|
19
novembre (09:30-11:15 2BC60) |
14/2 |
Lezione: Definizione
e
architettura
di
sistema
distribuito |
2.§1-2
|
|
6 |
23
novembre |
15 |
||
24
novembre |
16 |
Lezione: Modelli di comunicazione in un sistema distribuito | 2.§4 |
|
7 |
30 novembre (lezione annullata causa sospensione della didattica) |
17 |
Lezione: Processi
e concorrenza in un sistema
distribuito Per approfondire: Cenni sulla virtualizzazione Per approfondire: La specifica stateless del server NFS |
2.§3,10.2
|
01 dicembre |
18 |
|||
02 dicembre (13:30-17:15 2BC60 |
19 |
Lezione: Denominazione
di
entità |
2.§5 | |
03 dicembre (09:30-11:15 2BC60 14:30-16:15 2AB40) |
20 |
Lezione: Sincronizzazione
in un
sistema
distribuito Per approfondire: Uso del "distributed snapshot" di Chandy e Lamport |
2.§6.3-5 | |
8 |
06 dicembre (12:00-15:00 1BC50) |
21 |
Lezione:
Il
modello Java RMI |
2.§10.3.4 |
07 dicembre |
22 | Lezione: Il
modello di distribuzione nativo in Ada Esempio 5: Crivello di Eratostene in versione distribuita - codice |
PolyORB (doc) | |
09 dicembre |
23 |
|||
10 dicembre (09:30-11:15 2AB60 14:00-15:30 2AB40) |
24 |
Lezione: Il modello
CORBA Riepilogo finale |
2.§10 | |
|
Esami | Specifica
del
progetto
didattico |
|
L'esame si terrà per
appuntamento,
nei periodi corrispondenti alle sessioni d'esame previste dal calendario
accademico.