Un software per la gestione della fault tolerance basato su PETSc in ambiente HPC
La realizzazione di algoritmi e software ad alte prestazioni - che risultino affidabili ed efficienti in un ambiente di calcolo parallelo e distribuito - richiede l'individuazione e la successiva risoluzione di problemi legati alle caratteristiche delle risorse (eterogeneità, disponibilità, efficienza, ecc.), le quali possono anche variare nel tempo. Questo può succedere a causa di interruzioni temporanee e/o definitive della rete, dei nodi di calcolo, o anche per variazioni del carico di lavoro.
Nasce, quindi, l'esigenza di prevedere meccanismi di monitoraggio e tolleranza ai guasti che abilitino il software a sopravvivere , consentendo al contempo a quest'ultimo di mantenere un certo livello di prestazioni.
Questo lavoro di tesi è incentrato unicamente sulla tolleranza ai guasti, si intende con questo la capacità (fault tolerance ) di reagire ad un fault inatteso, dovuto ad un problema di natura hardware o software.
La fault tolerance può essere garantita in diversi livelli hardware e software di un insieme di nodi di calcolo. Un esempio di fault tolerance che agisce al livello dell'alimentazione elettrica è l'UPS (Uniterruptible Power Supply).
Questo consente agli apparati ad esso collegati di funzionare in caso di assenza di tensione elettrica. Il sistema RAID opera, invece, ad un livello più alto, quello hardware. Tale sistema mette a disposizione un'organizzazione dei dischi che ne migliora l'efficienza e l'affidabilità degli stessi.
A livello di applicazione, la tolleranza ai guasti può essere assicurata grazie al checkpointing, che è una tecnica che consiste nel salvare periodicamente un insieme di dati che, in caso di fault, permettono di riavviare l'applicazione dall'ultimo salvataggio effettuato. Quando si parla di checkpointing bisogna stabilire il come e il dove .Per come si intende in che modo tale tecnica agisce. E, in linea di massima, si possono distinguere due diverse tipologie: la prima, detta trasparente, consiste nel salvare l'intero spazio degli indirizzi dell' applicazione, la seconda l'algorithm based, che rappresenta un raffinamento della precedente, opera a livello algoritmico, in tal caso è demandato al programmatore l'onere di implementare taluni meccanismi per il salvataggio dei soli dati necessari al riavvio dell'applicazione.
Per "dove" , invece, si intende il supporto in cui vengono salvati i dati; si parla di checkpointing disk-based se essi sono salvati sul disco rigido e di checkpointing diskless se i dati sono salvati in memoria centrale.
L'obiettivo del lavoro di tesi è quello di introdurre meccanismi per la fault tolerance, basato sul checkpointing, alla libreria PETSc (Portable Extendible, Toolkit for Scientific computation). PETSc è una libreria per la risoluzione, in ambiente di calcolo sia sequenziale che parallelo, di problemi descritti da equazioni differenziali alle derivate parziali. La sua architettura poggia per il message passing su MPI (Message Passing Interface), lo standard de facto per la comunicazione fra processori in un ambiente di calcolo a memoria distribuita.
L'obiettivo sopra presentato può essere raggiunto in maniera ideale grazie all'implementazione di un meccanismo di checkpointing diskless di tipo algorithm based, poichè,il salvataggio dei dati in memoria centrale è molto più vantaggioso del salvataggio su disco. La realizzazione di un checkpointing diskless, come si vedrà dettagliatamente nei prossimi capitoli, si scontra inevitabilmente con i limiti delle implementazioni dello standard MPI, le quali non offrono meccanismi sufficienti per una gestione dei fault necessari per questo tipo di implementazione.
Costretti a fare di necessità virtù, si è sviluppato un meccanismo di check-pointing algorithm based di tipo disk-based, che permette di ovviare ai limiti imposti dallo standard MPI in termini di fault tolerance. L'implementazione finale è basata su due diverse strategie di checkpointing, le quali possono essere combinate dall'utente in funzione di alcune esigenze che possono variare da problema a problema, al fine di ottenere una più efficiente soluzione possibile.
La tesi è quindi così articolata: il capitolo 1 sarà dedicato alle metodologie, illustrando, con vari esempi, i diversi tipi di sistemi fault tolerance, fino ad arrivare al checkpointing. Il capitolo 2 sarà riservato agli strumenti. Sarà presentata la libreria PETSc e verrà fatta una panoramica su diverse implementazioni MPI, comprese quelle fault tolerance. Il capitolo 3 avrà il compito di motivare le scelte implementative, fornendo diversi spunti su alcune difficoltà implementative. Nel capitolo 4 sarà presentata l'implementazione realizzata, spiegando le due strategie: la centralizzate e la distribuita. Nell'ultimo capitolo, il quinto, saranno mostrati e discussi alcuni test effettuati.
CONSULTA INTEGRALMENTE QUESTA TESI
La consultazione è esclusivamente in formato digitale .PDF
Acquista
CONSULTA INTEGRALMENTE QUESTA TESI
La consultazione è esclusivamente in formato digitale .PDF
Acquista
L'unico servizio antiplagio competitivo nel prezzo che garantisce l'aiuto della nostra redazione nel controllo dei risultati.
Analisi sicura e anonima al 100%!
Ottieni un Certificato Antiplagio dopo la valutazione.
Informazioni tesi
Autore: | Santolo Felaco |
Tipo: | Laurea II ciclo (magistrale o specialistica) |
Anno: | 2008-09 |
Università: | Università degli Studi di Napoli - Federico II |
Facoltà: | Scienze Matematiche, Fisiche e Naturali |
Corso: | Informatica |
Relatore: | Almerico Murli |
Lingua: | Italiano |
Num. pagine: | 105 |
Forse potrebbe interessarti la tesi:
Sviluppo di algoritmi paralleli per l’analisi di ”storie” simulative
FAQ
Come consultare una tesi
Il pagamento può essere effettuato tramite carta di credito/carta prepagata, PayPal, bonifico bancario.
Confermato il pagamento si potrà consultare i file esclusivamente in formato .PDF accedendo alla propria Home Personale. Si potrà quindi procedere a salvare o stampare il file.
Maggiori informazioni
Perché consultare una tesi?
- perché affronta un singolo argomento in modo sintetico e specifico come altri testi non fanno;
- perché è un lavoro originale che si basa su una ricerca bibliografica accurata;
- perché, a differenza di altri materiali che puoi reperire online, una tesi di laurea è stata verificata da un docente universitario e dalla commissione in sede d'esame. La nostra redazione inoltre controlla prima della pubblicazione la completezza dei materiali e, dal 2009, anche l'originalità della tesi attraverso il software antiplagio Compilatio.net.
Clausole di consultazione
- L'utilizzo della consultazione integrale della tesi da parte dell'Utente che ne acquista il diritto è da considerarsi esclusivamente privato.
- Nel caso in cui l’utente che consulta la tesi volesse citarne alcune parti, dovrà inserire correttamente la fonte, come si cita un qualsiasi altro testo di riferimento bibliografico.
- L'Utente è l'unico ed esclusivo responsabile del materiale di cui acquista il diritto alla consultazione. Si impegna a non divulgare a mezzo stampa, editoria in genere, televisione, radio, Internet e/o qualsiasi altro mezzo divulgativo esistente o che venisse inventato, il contenuto della tesi che consulta o stralci della medesima. Verrà perseguito legalmente nel caso di riproduzione totale e/o parziale su qualsiasi mezzo e/o su qualsiasi supporto, nel caso di divulgazione nonché nel caso di ricavo economico derivante dallo sfruttamento del diritto acquisito.
Vuoi tradurre questa tesi?
Per raggiungerlo, è fondamentale superare la barriera rappresentata dalla lingua. Ecco perché cerchiamo persone disponibili ad effettuare la traduzione delle tesi pubblicate nel nostro sito.
Per tradurre questa tesi clicca qui »
Scopri come funziona »
DUBBI? Contattaci
Contatta la redazione a
[email protected]
Parole chiave
Tesi correlate
Non hai trovato quello che cercavi?
Abbiamo più di 45.000 Tesi di Laurea: cerca nel nostro database
Oppure consulta la sezione dedicata ad appunti universitari selezionati e pubblicati dalla nostra redazione
Ottimizza la tua ricerca:
- individua con precisione le parole chiave specifiche della tua ricerca
- elimina i termini non significativi (aggettivi, articoli, avverbi...)
- se non hai risultati amplia la ricerca con termini via via più generici (ad esempio da "anziano oncologico" a "paziente oncologico")
- utilizza la ricerca avanzata
- utilizza gli operatori booleani (and, or, "")
Idee per la tesi?
Scopri le migliori tesi scelte da noi sugli argomenti recenti
Come si scrive una tesi di laurea?
A quale cattedra chiedere la tesi? Quale sarà il docente più disponibile? Quale l'argomento più interessante per me? ...e quale quello più interessante per il mondo del lavoro?
Scarica gratuitamente la nostra guida "Come si scrive una tesi di laurea" e iscriviti alla newsletter per ricevere consigli e materiale utile.
La tesi l'ho già scritta,
ora cosa ne faccio?
La tua tesi ti ha aiutato ad ottenere quel sudato titolo di studio, ma può darti molto di più: ti differenzia dai tuoi colleghi universitari, mostra i tuoi interessi ed è un lavoro di ricerca unico, che può essere utile anche ad altri.
Il nostro consiglio è di non sprecare tutto questo lavoro:
È ora di pubblicare la tesi