...

Esami Sistemi Distribuiti 2002-2011

by user

on
Category: Documents
31

views

Report

Comments

Transcript

Esami Sistemi Distribuiti 2002-2011
UNIVERSITA' CA' FOSCARI DI VENEZIA
CORSO DI LAUREA IN INFORMATICA
A.A. 2004/2005
Sistemi Distribuiti
Compito – 25/1/2005
1. Definire i tipi di sincronizzazione fra orologi in sistemi distribuiti.
Illustrare in dettaglio un algoritmo e discuterne vantaggi e limiti.
Dare un esempio.
2. Illustrare il paradigma publish-subrcribe. Discutere i vari tipi di notifica e illustrare con
un esempio.
3. Descrivere l’algoritmo di bully per l’elezione in sistemi distributiti in forma algoritmica.
Discuterne le condizioni, la complessità computazionale e i vantaggi e limiti.
Illustrare con un esempio.
4. Cosa sono i lock gerarchici e per che motivi si utilizzano? Definire e illustrare con un
esempio.
5. Illustrare l’architettura del file system AFS. Discutere i problemi di consistenza della
cache. Confrontare con gli altri tipi di file system.
UNIVERSITA' CA' FOSCARI DI VENEZIA
CORSO DI LAUREA IN INFORMATICA
A.A. 2004/2005
Sistemi Distribuiti
Compito – 11/1/2005
1. Definire i diversi tipi di trasparenza nei sistemi disrtibuiti e illustrare in dettaglio un
esempio per ogni tipo.
2. Descrivere uno schema di comunicazione IPC in sistemi distribuiti che utilizza la
ritrasmissione di messaggi basata IP muticast per risolvere il problema dei messaggi
persi. Si ipotizzi che vi possano essere mittenti multipli, che soltanto una piccola
percentuale di messaggi venga persa e che, contrariamente al protocollo request-reply, i
mittenti possano inviare i messaggi senza necessariamente vincoli di tempo. Assumere
inoltre che i messaggi che non sono persi arrivino nell’ordine di invio. Descrivere lo
schema e discuterne le caratteristiche
3. Un file server usa la tecnica del caching con una hit rate dell’80%. Il costo delle
operazioni su file nel servente è di 5 ms di tempo di CPU quando il servente trova il
blocco di dati nella cache, mentre, in caso contrario, è di 15 ms di tempo di I/O.
Introducendo e spiegando appropriate assunzioni, date una valutazione del throughput nei
tre casi seguenti:
I. Singolo thread.
II. Due thread, su un solo processore.
III. Due thread, su due processori.
Descrivere in dettaglio la risposta.
4. Descrivere l’algoritmo di votazione in sistemi distribuiti dandone la descrizione
algoritmica e discutendone vangaggi e limiti.
5. Descrivere un sistema di replicazione gestito secondo il modello gossip. Illustrarne le
funzioni e descrivere il gestore di replicazioni.
UNIVERSITA' CA' FOSCARI DI VENEZIA
CORSO DI LAUREA IN INFORMATICA
A.A. 2003/2004
Sistemi Distribuiti
Compito – 15/6/2004
1. Considerare la comunicazione in un modello client-server in sistemi distribuiti.
Per quale motivo non si può dare in generale un limite superiore al tempo di
risposta di un server? Cosa occorrerebbe fare per rendere questo tempo limitato?
Proporre una soluzione e discuterne la fattibilità e convenienza.
2. Descrivere e discutere il modello di comunicazione basato su notifica di eventi in
sistemi distribuiti.
Spiegare poi se e come un osservatore (observer) che ha funzioni di inoltro
(forwarding) permette di migliorare la qualità del servizio in termini di
prestazioni e affidabilità.
3. Suggerire uno schema di bilanciamento del carico in un sistema distribuito
discutendo:
a. L’obbiettivo dell’utente e/o del sistema.
b. Le categorie a cui il metodo può essere applicato.
c. Come misurare il carico e con quale precisione.
d. Come monitorare il carico e scegliere un nuovo processo.
4. Descrivere e discutere l’algoritmo del servente centrale per la mutua esclusione
in sistemi distribuiti.
a. Adattare poi tale algoritmo per gestire la caduta di un qualsiasi cliente (in
qualsiasi stato) assumendo che il servente operi correttamente e che vi sia
un rilevatore affidabile di guasti. Discutere se il sistema risultante è
affidabile.
b. Cosa accade se se un cliente che possiede il token è sospettato
erroneamente di essere guasto?
5. Descrivere brevemente e definire un sistema di transazioni distribuite. Assumere
poi che il coordinatore di una transazione cada dopo aver registrato un elemento
della intention list, ma prima di aver registrato la lista dei partecipanti o inviato
la CanCommit? Descrivere come i partecipanti possono risolvere la situazione.
Cosa dovrà fare il coordinatore quando viene ripristinato? Conviene registrare la
lista dei partecipanti prima della intention list?
UNIVERSITA' CA' FOSCARI DI VENEZIA
CORSO DI LAUREA IN INFORMATICA
A.A. 2002/2003
Sistemi Distribuiti
Compito – 16/9/2003
1. Descrivere in dettaglio il meccanismo di comunicazione nel modello cliente
servente e le tecniche di indirizzamento, indicando le componenti architetturali e
la successione di azioni. Mostrare inoltre un esempio.
2. Illustrare i diversi tipi di architettura per threading del server in sistemi
distribuiti. Mostrare degli esempi.
3. Definire i tipi di sincronizzazione fra orologi in sistemi distribuiti. Dare un
esempio di algoritmo di sincronizzazione di orologi.
4. Descrivere l’algoritmo di ordinamento circolare per l’elezione in sistemi
distributi in forma algoritmica. Discuterne le condizioni, la complessità
computazionale e i vantaggi e limiti.
5. Illustrare il metodo di controllo della concorrenza di transazioni basato su
timestamp. Discuterne vantaggi e limiti. Mostrare un esempio.
UNIVERSITA' CA' FOSCARI DI VENEZIA
CORSO DI LAUREA IN INFORMATICA
A.A. 2002/2003
SISTEMI DISTRIBUITI
Compito – 2/7/2003
_______________________________________________________________
1. Descrivere il meccanismo di esecuzione di una chiamata di procedura remota, fra oggetti
distribuiti illustrando la struttura architetturale. Discutere i tipi di passaggio dei parametri.
Mostrare un esempio.
2. Cosa si intende per lightweight remote procedure call? Descrivere in dettaglio e illustrare
con un esempio.
3. Definire l’equivalenza seriale di transazioni. Illustrare un esempio di transazioni
serialmente equivalenti ed un esempio di transazioni non serialmente equivalenti.
4. Cosa si intende per algoritmo di snapshot in sistemi distribuiti? Discutere e illustrare con
un esempio.
5. Descrivere l’algoritmo di bully per l’elezione in sistemi distribuiti in forma algoritmica.
Discuterne le condizioni, a complessità computazionale e i vantaggi e limiti.
_______________________________________________________________
UNIVERSITA' CA' FOSCARI DI VENEZIA
CORSO DI LAUREA IN INFORMATICA
A.A. 2002/2003
SISTEMI DISTRIBUITI
Compito – 18/6/2003
_______________________________________________________________
1. Descrivere i tipi di primitive di comunicazione in sistemi distribuiti e per ogni tipo indicarne
vantaggi e svantaggi.
2. Illustrare il paradigma publish-subrcribe. Discutere i vari tipi di notifica e illustrare con un
esempio.
3. a) Quali sono le condizioni e proprietà delle transazioni?
b) Cosa sono i problemi di lost update e di inconsistent retrival per le transazioni? Illustrare i
due tipi di problemi con un esempio e discuterne come risolverli.
4. a) Quali sono le caratteristiche dello scheduling di processi in sistemi distribuiti? Discutere le
alternative di progetto e i relativi vantaggi e svantaggi.
b) Descrivere un algoritmo di scheduling in sistemi distribuiti illustrandone le caratteristiche,
vantaggi e limiti.
5. Descrivere l‚algoritmo di Maekawa per la mutua esclusione in forma algoritmica. Discuterne la
complessità computazionale e i vantaggi e limiti.
_______________________________________________________________
UNIVERSITA' CA' FOSCARI DI VENEZIA
CORSO DI LAUREA IN INFORMATICA
A.A. 2002/2003
SISTEMI DISTRIBUITI
Compito - 4/2/2003
_______________________________________________________________
1. Illustrare il modello architetturale per la gestione di dati replicati di tipo gossip, descrivendo le componenti
del sistema e le loro interazioni.
Mostrare poi in particolare la struttura del Replica Manager e i principali elementi di stato, descrivendone il
flusso dell'informazione nella realizzazione del servizio.
2. Quali sono le condizioni richieste per la mutua esclusione distribuita di un insieme di risorse?
Descrive l'algoritmo distribuito di Ricart-Agrawala e darne la forma algoritmica. Discuterne la complessità
computazionale, i pregi e limiti.
3. Classificare gli algoritmi di allocazione di processi in sistemi distribuiti, esemplificando ogni categoria.
Descrivere poi in dettaglio un algoritmo di allocazione
4. Definire un Network Operating System, un Distributed Operating System e un Multiprocessor Operating
System. Discuterne i relativi vantaggi e limiti e i campi di applicazione.
_______________________________________________________________
SISTEMI DISTRIBUITI
A.A. 2001/2002 - Compito - 18/9/2002
_____________________________________________________________________
1. Discutere i problemi aperti nella progettazione dei sistemi distribuiti.
Per due specifici aspetti dare degli esempi di problemi di progettazione con riferimento a sistemi
wireless.
2. Definire un modello orientato ad oggetti; definire riferimenti, interfacce e metodi . Definire e descrivere i
diversi tipi di semantica di invocazione di una RPC.
3. Discutere il problema della mutua esclusione in ambito distribuito ed in particolare:
- elencare le proprietà richieste
- indicare quali sono gli algoritmi adottati e le loro caratteristiche
- discutere il confronto dei diversi algoritmi considerando vari fattori quali complessità, tolleranza ai guasti
e ritardo.
4. Presentare l'algoritmo di Cristian, spiegarne obbiettivi, illustrarne il funzionamento e discuterne i limiti e
vantaggi.
5. Cosa caratterizza il file system CODA rispetto ad altri tipi di file system quali AFS e NFS? Discuterne i
vantaggi e limiti.
_____________________________________________________________________
SISTEMI DISTRIBUITI
A.A. 2001/2002 - Compito - 25/6/2002
_____________________________________________________________________
1. (a) Descrivere il protocollo two-phase commit in un sistema distribuito, indicando per quali scopi si
applica.
(b) Discuterne vantaggi e limiti. Definirne la complessità.
(c) Discutere l'applicazione nel caso di annidamento.
2. (a) Quali sono i possibili eventi di guasto durante una RPC?
(b) Come possono essere gestiti i diversi tipi di guasto anche in relazione alla semantica della RPC?
3. (a) Descrivere un modello architetturale per la gestione dei dati replicati.
(b) In accordo al modello scelto schematizzare i passi di gestione di una richiesta su un sistema di
replicazione
(c) Indicare le differenze fra il modello scelto e altri modelli architetturali e illustrare vantaggi e limiti di
ognuno.
4. Descrivere il funzionamento del Logical Clock, spiegando brevemente in che modo viene utilizzato per
risolvere il problema dovuto all'assenza di un orologio globale in un sistema distribuito asincrono.
5. (a) Descrivere in dettaglio quali passi devono essere seguiti per la creazione di un processo,
considerando le diverse possibilità di progetto per multi-thread.
(b) Descrivere la tecnica del copy-on-write e discuterne motivazioni, vantaggi e limiti.
_____________________________________________________________________
SISTEMI DISTRIBUITI
A.A. 2001/2002 - Compito - 4/6/2002
_____________________________________________________________________
1. (a) Descrivere un algoritmo di elezione in un sistema distribuito.
(b) Illustrarne i vantaggi e gli svantaggi. Definire la complessità dell'algoritmo.
(c) Dare un esempio di applicazione.
2. (a) In cosa consiste un servizio di notifica?
(b) Definire uno progetto per un servizio di notifica che utilizzi una mailbox per gestire le richieste di un
insieme di subscriber che possono specificare quando richiedono la consegna delle notifiche.
(c)Spiegare come progettare l'utilizzo di tale sistema da parte di subscriber che possono essere non
sempre attivi. Spiegare inoltre come gestire i crash dei subscriber.
3. Confrontare le architetture worker-pool multi threading e thread-per-request illustrandone i relativi
vantaggi e svantaggi.
4. Si consideri la computazione distribuita illustrata nel seguente diagramma spazio-temporale
P1
P2
P3
Si assegni a ciascun evento un valore del Logical Clock corrispondente.
5. I File System distribuiti possono essere classificati in quattro differenti livelli:
1. File System per sistemi Monoutente, Monoprogrammati
2. File System per sistemi Monoutente, Multiprogrammati
3. File System per sistemi Multiutente, Multiprogrammati
4. File System per sistemi distribuiti
Per ciascun livello dire quali sono i servizi principali che un File System deve fornire.
_____________________________________________________________________
Fly UP