Rilevazione degli errori nel file system parallelo DePVFS2...
Transcript of Rilevazione degli errori nel file system parallelo DePVFS2...
Rilevazione degli errori nel file system parallelo DePVFS2: una tecnica basata su heartbeat
Facoltà di Ingegneria
Corso di Studi in Ingegneria Informatica
tesi di laurea
relatore
Ch.mo prof. Stefano Russo
correlatore
Ing. Generoso Paolillo
candidato
Carlo Esposito
Matr. 534/208
Rilevazione degli errori nel file system parallelo DePVFS2: una
tecnica basata su heartbeat
Anno Accademico 2006/2007
Rilevazione degli errori nel file system parallelo DePVFS2: una tecnica basata su heartbeat
Facoltà di Ingegneria
Corso di Studi in Ingegneria Informatica
Architettura basata su
PVFS2
Ridondanza: Erasure Codes
Affidabilità variabile (N,M)
DEPVFS2CONTESTO
PFS Elevato throughput di I/O
Striping dei dati
Sistema vulnerabile al fallimento di
un singolo nodo di I/O
È possibile ricostruire i dati a
partire da „N‟ blocchi qualsiasi
tra gli „N+M‟
Dati „N‟ blocchi dati e „M‟
blocchi di ridondanza
Rilevazione degli errori nel file system parallelo DePVFS2: una tecnica basata su heartbeat
Facoltà di Ingegneria
Corso di Studi in Ingegneria Informatica
Preservare la consistenza dei dati a fronte di guasti dei nodi di I/O.
Minacce per la consistenza dei dati:
Guasti di un client durante un' operazione di write
Guasti di un server
DePVFS2 non fornisce alcun meccanismo di detection dei guasti.
PROBLEMATICA AFFRONTATA
Rilevazione degli errori nel file system parallelo DePVFS2: una tecnica basata su heartbeat
Facoltà di Ingegneria
Corso di Studi in Ingegneria Informatica
La scrittura si compone di più fasi:
• Pre-Lettura (preread) / Acquisizione lock
• Calcolo della ridondanza
• Scrittura dei dati e della ridondanza
• Rilascio lock (unlock)
OPERAZIONE DI SCRITTURA IN DEPVFS2
begin write
end write
LR LR LR
WU WU WU
L: acquire lock
R: read
M: modify
W: write
U: release lock
T: request timeout
M
message
computation
T
Rilevazione degli errori nel file system parallelo DePVFS2: una tecnica basata su heartbeat
Facoltà di Ingegneria
Corso di Studi in Ingegneria Informatica
Introduzione di un meccanismo di rilevazione dei guasti dei nodi di I/O.
OBIETTIVO DELLA TESI
Client
• Durante la fase di acquisizione lock
• Dopo il completamento della fase di lock
• Durante la fase di unlock
Server
• Durante la fase di lock
• Dopo il completamento della fase di lock
Modello dei guasti rilevati:
Rilevazione degli errori nel file system parallelo DePVFS2: una tecnica basata su heartbeat
Facoltà di Ingegneria
Corso di Studi in Ingegneria Informatica
PROGETTAZIONE DEL MECCANISMO DI RILEVAZIONE
Check Request (Recovery Module):
• “Is Alive?”
• Invio del “Lock Timeout” (TLT)
Check Response (Server):
• “Ack”
• Lock orfani
Meccanismo scelto: Heartbeat con Check
Presenza di un'unità dedicata alla detection e alla recovery (Recovery Module).
Contenuto “overhead” dovuto alla detection sui nodi di I/O.
Rapida rilevazione dei server guasti. (Upper bound dei tempi di detection)
Rilevazione degli errori nel file system parallelo DePVFS2: una tecnica basata su heartbeat
Facoltà di Ingegneria
Corso di Studi in Ingegneria Informatica
ALGORITMO GENERALE DI DETECTION E RECOVERY
Alla fine di ogni ciclo di Polling il Recovery Module ha la visione dello
stato globale del sistema e viene avviata la fase di Detection.Disponibilità dei server
Lista lock orfani presenti sui server
Informazioni utili per rilevare guasti dei client
Dopo la fase di Detection viene avviata l'azione di Recovery
Server (Quando ritorna “up”)
• Riallineamento
• Ricostruzione dei dati (Ridondanza)
• Scrittura dei dati consistenti
Client
• Unlock
• Rilascio dei Lock Orfani sui Server interessati
Rilevazione degli errori nel file system parallelo DePVFS2: una tecnica basata su heartbeat
Facoltà di Ingegneria
Corso di Studi in Ingegneria Informatica
RECOVERY MODULE (1/2)
Protocollo di Heartbeat
Permette di rilevare eventuali guasti dei server
timestamp associato ai lock (T LOCK)
Permette di rilevare eventuali guasti dei client
T CHECK - T LOCK < ΔTLT
HANDLE … TIME_OF_LOCK
R1 … 1000
R2 … 1100
TLT = 100
Check Request
• ΔTLT : Intervallo temporale di
riferimento inviato ai server per
rilevare lock orfani
• TCHECK : Istante di tempo in cui il
server contattato riceve la richiesta
Check Response
• Ack
• Lista Lock Orfani
Struttura lato server
Struttura lato Recovery Module
Rilevazione degli errori nel file system parallelo DePVFS2: una tecnica basata su heartbeat
Facoltà di Ingegneria
Corso di Studi in Ingegneria Informatica
RECOVERY MODULE (2/2)
A) Se è guasto un numero di server inferiore a quello
necessario per la ricostruzione dei dati, la scrittura
viene effettuata
B) Se il numero di server guasti è superiore a quello
necessario, la scrittura fallisce
Nel caso A, tale informazione
viene inviata insieme alla write e
di nuovo insieme alla unlock e
memorizzata nella tabella dei lock
mantenuta da ogni server
correttamente funzionante.
Durante l’operazione di preread e di scrittura c’è la possibilità di rilevare i server
guasti:
A partire da tali informazioni, il Recovery Module potrà ripristinare la consistenza
del File System quando i server falliti riprenderanno a funzionare
HANDLE OFFSET SIZE TIME_OF_LOCK NEED_ALIGNMENT UNDER_RECOVERY
… … … … … …
Struttura lato server
Rilevazione degli errori nel file system parallelo DePVFS2: una tecnica basata su heartbeat
Facoltà di Ingegneria
Corso di Studi in Ingegneria Informatica
CONCLUSIONI
Analisi, progettazione ed implementazione di un meccanismo di
rilevazione e ripristino di guasti in DEPVFS2
Tipologia di guasti rilevati: Server e Client crash
Livello di tolleranza ai guasti selezionabile dall‟utente in fase di
creazione del file (configurazione ridondanza)
Schema di codifica ridondante utilizzato per la ricostruzione: Erasure Codes