Rilevazione degli errori nel file system parallelo DePVFS2...

10
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

Transcript of Rilevazione degli errori nel file system parallelo DePVFS2...

Page 1: Rilevazione degli errori nel file system parallelo DePVFS2 ...143.225.229.219/PresentazioneTesi/Carlo_Esposito_Slide.pdf · 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

Page 2: Rilevazione degli errori nel file system parallelo DePVFS2 ...143.225.229.219/PresentazioneTesi/Carlo_Esposito_Slide.pdf · 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

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

Page 3: Rilevazione degli errori nel file system parallelo DePVFS2 ...143.225.229.219/PresentazioneTesi/Carlo_Esposito_Slide.pdf · 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

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

Page 4: Rilevazione degli errori nel file system parallelo DePVFS2 ...143.225.229.219/PresentazioneTesi/Carlo_Esposito_Slide.pdf · 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

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

Page 5: Rilevazione degli errori nel file system parallelo DePVFS2 ...143.225.229.219/PresentazioneTesi/Carlo_Esposito_Slide.pdf · 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

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:

Page 6: Rilevazione degli errori nel file system parallelo DePVFS2 ...143.225.229.219/PresentazioneTesi/Carlo_Esposito_Slide.pdf · 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

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)

Page 7: Rilevazione degli errori nel file system parallelo DePVFS2 ...143.225.229.219/PresentazioneTesi/Carlo_Esposito_Slide.pdf · 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

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

Page 8: Rilevazione degli errori nel file system parallelo DePVFS2 ...143.225.229.219/PresentazioneTesi/Carlo_Esposito_Slide.pdf · 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

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

Page 9: Rilevazione degli errori nel file system parallelo DePVFS2 ...143.225.229.219/PresentazioneTesi/Carlo_Esposito_Slide.pdf · 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

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

Page 10: Rilevazione degli errori nel file system parallelo DePVFS2 ...143.225.229.219/PresentazioneTesi/Carlo_Esposito_Slide.pdf · 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

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