![]() |
Corso
di Sistemi Concorrenti e Distribuiti Corso di Laurea Specialistica in Informatica Università di Padova, a.a. 2007/8 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 ed i paradigmi di soluzione illustrati a
lezione.
Settimana | Data | Lezione | Contenuto | Materiale didattico |
Sistemi concorrenti | ||||
1 | 14 gennaio | 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 |
15 gennaio | 2 | |||
16 gennaio | 3 | Lezione: Communicazione tra processi in un
sistema
concorrente Si svolgano gli esercizi 1-3 descritti nel materiale di lezione |
1.§3 | |
2 | 21 gennaio | 4 | 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: "Il barbiere che dorme" Esercizio 7: "I filosofi a cena" |
1.§4 |
22 gennaio | 5 | Lezione: Il
modello rendezvous Esempio:"Il crivello di Eratostene rivisitato" |
1.§5 | |
23 gennaio | 6 | Ancora su argomenti di lezione 5 | 1.§5 | |
3 | 28 gennaio | |
Assenza del
docente |
|
29 gennaio | |
Assenza del
docente |
|
|
30
gennaio |
7 |
Lezione: Estensioni del modello rendezvous |
1.§6 | |
4 | 4 febbraio | 8 |
Lezione: Risorse protette Esempio: "Controllo di accodamento" |
1.§7 |
5 febbraio | 9
|
Lezione: Criteri di sincronizzazione Esempio: "Allocazione di risorse" Esercizio 10: Migliorare la soluzione proposta nell'esempio "Allocazione di risorse" risolvendone il problema di inefficienza secondo le indicazioni fornite nel testo Esercizio 11: Si risolva il problema illustrato a pagina 14 della lezione C07 usando il modello di concorrenza sin qui illustrato, provando poi a realizzare la stessa semantica usando un linguaggio di programmazione alternativo a piacere. Si raffrontino poi le soluzioni ottenute Per approfondire: Toby Bloom, Evaluating Synchronization Mechanisms, CACM 1979 Per approfondire: Il modello di concorrenza in C# |
1.§8 | |
6 febbraio | 10 | Lezione: Correttezza temporale Per approfondire: Definizione dei protocolli di priority inheritance Una critica alla priority inheritance Una risposta alla critica |
1.§13-14 | |
|
Per studio
personale:
astrazioni realizzabili mediante risorsa protetta 1: semaforo 2: segnali persistenti 3: segnali transitori 4: messaggi in diffusione 5: eventi 6: barriere |
|||
5 | 11 febbraio | 11 | Lezione: Trattamento di eventi asincroni Esempio: "Sistema ferroviario" Esercizio 12: Analizzare la soluzione mostrata nell'esempio "Sistema ferroviario" e discussa alle pagine 15-17 della lezione C07, e realizzare la stessa semantica concorrente utilizzando un linguaggio alternativo a piacere, discutendo i problemi riscontrati e le differenze eventualmente irriducibili Per approfondire: Un modello di riferimento per politiche di ordinamento |
1.§9 |
12 febbraio | 12 | Lezione: Interazione tra concorrenza e
orientazione a
oggetti Per approfondire: Il problema dell'inheritance anomaly |
1.§10
|
|
13 febbraio | 13 |
Ricapitolazione prima parte Presentazione del progetto didattico |
||
Sistemi distribuiti | ||||
6 | 18 febbraio | 14 | Lezione: Definizione e architettura di sistema distribuito | 2.§1-2 |
19 febbraio | 15 | Lezione: Modelli di comunicazione in un sistema distribuito | 2.§4 | |
20 febbraio | 16 | |||
7 | 25 febbraio | 17 | Lezione: Processi e concorrenza in un sistema
distribuito Per approfondire: La specifica stateless del server NFS |
2.§3 |
26 febbraio | 18 | Lezione: Denominazione di entità | 2.§5 | |
27
febbraio |
19 |
Lezione: Sincronizzazione tra processi in un
sistema
distribuito Per approfondire: Uso del "distributed snapshot" di Chandy e Lamport |
2.§6.3-5 | |
8 | 3 marzo | 20 | Lezione:
Il modello Java RMI Esempio: "Un semplice ripetitore" |
2.§10.3.4 |
4
marzo |
21 | Lezione : Il modello di distribuzione nativo in Ada (1/2) | GLADE
(doc) GLADE (lib) |
|
5 marzo (valutazione didattica) |
22 | Lezione: Il
modello di distribuzione nativo in Ada (2/2) Esempio (Crivello di Eratostene in versione distribuita - codice) |
||
9 | 10 marzo | 23 | Lezione: Il modello CORBA | 2.§10 PolyORB (doc) PolyORB (lib) |
11 marzo | |
Assenza del
docente |
|
|
12 marzo | 24 | Esercizi di
progettazione e programmazione distribuita Ricapitolazione seconda parte |
||
|
Esami | Per discussione del progetto (vedi modalità) | |
Liste di iscrizione all'esame verranno pubblicate sul sistema SIS nelle due settimane precedenti l'appello corrispondente.
I sessione (orale)
II sessione (orale)