Download - Progetto Di Uninfrastruttura Che Permetta La Modifica Di Dati Condivisi Distribuiti Su Più Nodi Reti di calcolatori L-S 2004-2005 Gozzi Daniele 0000193625.

Transcript
Page 1: Progetto Di Uninfrastruttura Che Permetta La Modifica Di Dati Condivisi Distribuiti Su Più Nodi Reti di calcolatori L-S 2004-2005 Gozzi Daniele 0000193625.

Progetto Di Un’infrastruttura Che Permetta La Modifica Di

Dati Condivisi Distribuiti Su Più Nodi

Reti di calcolatori L-S 2004-2005

Gozzi Daniele 0000193625

Page 2: Progetto Di Uninfrastruttura Che Permetta La Modifica Di Dati Condivisi Distribuiti Su Più Nodi Reti di calcolatori L-S 2004-2005 Gozzi Daniele 0000193625.

IntroduzioneCreazione un’infrastruttura che permetta di

condividere dati: Letture su copia locale. Mantenga la consistenza tra le varie copie dei

file. Permetta il lock distribuito dei file:

Modifiche. Aggiornamenti.

Struttura dinamica. Registrazione e de-registrazione dati. Registrazione e de-registrazione client.

Page 3: Progetto Di Uninfrastruttura Che Permetta La Modifica Di Dati Condivisi Distribuiti Su Più Nodi Reti di calcolatori L-S 2004-2005 Gozzi Daniele 0000193625.

StrutturaDivisa in 3 parti:ClientServerDBMS

Devo produrre dei multicast a tutti i client registrati su un file.Il server mantiene lo stato dei nodi:

• Minore complessità• Minore overhead.

Page 4: Progetto Di Uninfrastruttura Che Permetta La Modifica Di Dati Condivisi Distribuiti Su Più Nodi Reti di calcolatori L-S 2004-2005 Gozzi Daniele 0000193625.

Struttura - Server Processo che si occupa di rendere

disponibili ai client i dati necessari all’interazione tra pari.

Mantiene lo stato della rete.Client presenti.File condivisi.

Persistenza dei dati affidata al DBMS. Richieste semplici e veloci da risolvere.

Difficilmente cono di bottiglia.Facile introdurre replicazione.

Page 5: Progetto Di Uninfrastruttura Che Permetta La Modifica Di Dati Condivisi Distribuiti Su Più Nodi Reti di calcolatori L-S 2004-2005 Gozzi Daniele 0000193625.

Struttura - Client Interfaccia verso l’infrastruttura. Etichette su ogni file.

Numero logico del file.Numero fisico del file.

Mantenimento dei lock sui file. Gestione algoritmo di votazione tra pari. Sincronizzazione nell’accesso ai file. Richieste al server.

Page 6: Progetto Di Uninfrastruttura Che Permetta La Modifica Di Dati Condivisi Distribuiti Su Più Nodi Reti di calcolatori L-S 2004-2005 Gozzi Daniele 0000193625.

Algoritmo Di Votazione Server

1: Richiesta al server

2: Elenco client interessati

3

3

3

4

4

43: Vote request.

4: Risposta positiva o meno

5a: Abort vote request.

5b: Release al termine dell’uso.

Page 7: Progetto Di Uninfrastruttura Che Permetta La Modifica Di Dati Condivisi Distribuiti Su Più Nodi Reti di calcolatori L-S 2004-2005 Gozzi Daniele 0000193625.

Ottenimento Del Lock

Non c’è ritrasmissione della richiesta in caso di conflitto. In alcuni client lock non memorizzato: possono essere

al più N/2 –1. Solo un client può avere abbastanza risposte positive

per procedere. Gli altri abortiscono la vote request.

A:1ok 2 abort

B:1abort 2 ok

C:1abort 2 ok

1

2

Il lock è ottenuto se N/2+1 client rispondono positivamente.

Page 8: Progetto Di Uninfrastruttura Che Permetta La Modifica Di Dati Condivisi Distribuiti Su Più Nodi Reti di calcolatori L-S 2004-2005 Gozzi Daniele 0000193625.

Concorrenza Per rendere asincrone e parallele le richieste ad altri client.

Attesa del gestore solo delle risposte necessarie per procedere

Restituzione del controlloI thread del pool terminano il loro compito asincronamente

Page 9: Progetto Di Uninfrastruttura Che Permetta La Modifica Di Dati Condivisi Distribuiti Su Più Nodi Reti di calcolatori L-S 2004-2005 Gozzi Daniele 0000193625.

Rmi Due tipi di interfacce registrate.

IServer. IClient.

Utilizzo di RMI porta, sia i client sia il server, a poter gestire richieste in parallelo.

Synchronized sui metodi di modifica dello stato.

Controlli sul lock effettuati prima in locale.

Page 10: Progetto Di Uninfrastruttura Che Permetta La Modifica Di Dati Condivisi Distribuiti Su Più Nodi Reti di calcolatori L-S 2004-2005 Gozzi Daniele 0000193625.

Utilizzo Di Diverse Politiche Mutex distribuito: strumento di base per gestire

la concorrenza. Default: in caso di conflitto attesa e successivi

tentativi di accesso. Utilizzo dei file come contenitori di strutture per

gestire l’accesso a risorse: Possibilità di implementare politiche di accesso

complesse. Accesso rapido al file che comporta difficilmente

conflitti. In caso di conflitto ritrasmissione.

Page 11: Progetto Di Uninfrastruttura Che Permetta La Modifica Di Dati Condivisi Distribuiti Su Più Nodi Reti di calcolatori L-S 2004-2005 Gozzi Daniele 0000193625.

Sviluppi Introduzione dell’hash dei file invece di

una stringa relativa al nome. Un’ottimizzazione degli aggiornamenti dei

file che a volte potrebbero essere evitati o effettuati solo in parte.

Prevedere dei controllori sullo stato della rete che si occupino di: De-registrare client in caso di fallimenti

ripetutiReinizializzare il server in caso di crash.