560 likes | 796 Views
Sistemi Operativi. GPFS. General Parallel File System. Realizzato da: Cappiello Rossella 566/667 Cimmino Antonietta 566/1085. Cosa è GPFS?. GPFS : acronimo di General Parallel File System File System parallelo a condivisione di dischi, utilizzato su cluster di computer.
E N D
Sistemi Operativi GPFS General Parallel File System Realizzato da: Cappiello Rossella 566/667 Cimmino Antonietta 566/1085
Cosa è GPFS? • GPFS : acronimo di General Parallel File System • File System parallelo a condivisione di dischi, utilizzato su cluster di computer. • Nasce sulla base di idee quali: - Lock distribuito - Condivisione del File System • GPFS introduce la condivisione a livello del file system tra i nodi di un cluster. • Gira sui più grandi supercomputer del mondo ed in particolare su RS/6000 SP e su cluster di Linux. GPFS Rossella Cappiello - Antonietta Cimmino
RS/6000 SP • Supercalcolatore Parallelo Scalabile prodotto dall’IBM • La piattaforma IBM RS/6000 e' composta da una famiglia di computer. • La famiglia RS/6000 rappresenta una delle linee più scalabili sul mercato e garantisce funzionalità di connettività tali da consentire la condivisione di dati, applicazioni e risorse con PC, mainframe, workstation e server UNIX, che soddisfano le esigenze di tutti gli ambienti di rete. GPFS Rossella Cappiello - Antonietta Cimmino
Cos'è un cluster • Il termine cluster indica un agglomerato di oggetti dello stesso tipo ( risorse ) che agisce come un unico sistema. • Garantisce performances migliori. • Vantaggi : formato da molteplici componenti (nodi) può considerarsi “Fault Tollerance”. • Svantaggi: programmi devono essere partizionati per girare sui vari nodi: - difficile cooperazione e condivisione delle risorse. La più importante tra le risorse è il file system. • GPFS permette alle applicazioniparallele accessi simultanei agli stessi file, o a file differenti, “spalmati” tra i vari dischi da tutti i nodi su cui GPFS è montato. GPFS Rossella Cappiello - Antonietta Cimmino
Caratteristiche del GPFS • Architettura GPFS basata su dischi condivisi che permette di raggiungere un’elevata scalabilità. GPFS Rossella Cappiello - Antonietta Cimmino
Caratteristiche del GPFS • GPFS consiste in un cluster di nodi sul quale girano il file system GPFS e le applicazioni che esso usa. • Tutti i nodi all’interno di un cluster possono accedere indifferentemente a tutti i dischi. • Particolarmente adatto ad architetture distribuite. GPFS Rossella Cappiello - Antonietta Cimmino
Caratteristiche del GPFS • I file vengono “spalmati” (striping dei dati) lungo tutti i dischi • Elevato throughput File Logico La figura mostra un file “spalmato” su più dischi, al quale accedono 4 nodi GPFS Rossella Cappiello - Antonietta Cimmino
Doppia configurazione del GPFS • Dischi singoli sono connessi ad un certo numero di I/O server nodes che permettono l’accesso da parte dei file system nodes tramite una rete di comunicazione ai suddetti dischi. File system nodes Rete di comunicazione I/O server nodes Shared Disks GPFS Rossella Cappiello - Antonietta Cimmino
Doppia configurazione del GPFS 2) Tutti nodi del file system sono connessi ai dischi condivisi tramite una Storage Area Network (SAN). SAN:rete o settore di rete ad alte prestazioni, alla quale sono collegati solo dispositivi di memoria di massa, disponibili ed accessibili da ogni punto della rete. File system nodes SAN Shared Disks GPFS Rossella Cappiello - Antonietta Cimmino
Sincronizzazione degli accessi • Nodi multipli accedono parallelamente ai dischi per le operazioni di I/O Possibile inconsistenza dei dati. • Soluzione: sincronizzazione degli accessi tramite la strategia del “lock distribuito”. • Protocollo del lock distribuito: - garantisce la consistenza del file system indipendentemente dal numero dei nodi che simultaneamente effettuano operazioni di I/O nel file system; - permette il parallelismo necessario per ottenere il maggior throughput GPFS Rossella Cappiello - Antonietta Cimmino
Funzionalità GPFS implementa varie funzionalità nel file system, quali: • striping dei dati, • tolleranza ai guasti, • bilanciamento del carico, • controllo della memoria e dei dischi. GPFS Rossella Cappiello - Antonietta Cimmino
Striping di dati • Per ottenere un throughput elevato, GPFS effettua lo “striping dei dati” lungo dischi multipli. • Funzione implementata nel file system e non affidata ad LVM.(LVM permette di gestire più dischi come se fossero un unico disco logico). • Ciò permette a GPFS il controllo di cui necessita per la realizzazione delle sue funzionalità quali bilanciamento del carico, tolleranza ai guasti,… GPFS Rossella Cappiello - Antonietta Cimmino
Striping di dati • GPFS memorizza file estesi in blocchi di dischi contigui di uguale dimensione ( solitamente 256 kbyte ) • Vantaggio: prelevare con una sola op di I/O unagrande quantità di dati dai dischi condivisi aumento del throughput. • GPFS memorizza file di piccole dimensioni in piccole “unit”, anche detteSOTTOBLOCCHI. • Lo striping è meglio effettuato quando i dischi hanno una uguale dimensione. GPFS Rossella Cappiello - Antonietta Cimmino
Striping di dati Striping dei dati: le sezioni dei file sono distribuiti sequenzialmente sui dischi. GPFS Rossella Cappiello - Antonietta Cimmino
Striping di dati • Lo striping accelera la velocità effettiva I/O per i file di grandi dimensioni quando vengono letti e scritti in sequenza. • Svantaggio dello striping : la perdita di un solo disco può avere come conseguenza il danneggiamento di molti file, dato che i file sono di proposito "spalmati" pezzo per pezzo su più dischi. • Una configurazione non uniforme dei dischi richiede un compromesso tra il throughput e lo spazio di utilizzazione. GPFS Rossella Cappiello - Antonietta Cimmino
Consistenza del file system • GPFS registra tutti gli aggiornamenti dei metadati che agiscono sulla consistenza del file system in un “log write ahead”. • Ogni nodo ha un proprio log memorizzato all’interno del suo file system. • Il log può essere letto dagli altri nodi ed utilizzato da questi per ripristinare la consistenza del file system ogni volta che uno dei nodi fallisce. • Un log può avere dimensioni fissate flushingdei dati modificati sul disco. GPFS Rossella Cappiello - Antonietta Cimmino
Tecniche di sincronizzazione • Unfile system per cluster garantisce un maggiore throughput di I/O rispetto ad un nodo singolo, permesso dal parallelismo delle operazioni di I/O tra i nodi. • Il parallelismo richiedeaccessi sincronizzatiai dati ed ai metadati per garantire la consistenza del file system. Due sono letecniche di sincronizzazione: • Lock distribuito: ogni nodo quando esegue un’operazione di read o write, acquisisce rispettivamente un lock read (o write) onde evitare operazioni conflittuali con altri nodi. • Centralized Management: tutte le operazioni conflittuali sono inoltrate ad un nodo scelto il quale esegue le letture o gli aggiornamenti richiesti. GPFS Rossella Cappiello - Antonietta Cimmino
Tecniche di sincronizzazione GPFS utilizza il lock distribuito quando nodi differenti operano su sezioni differenti di dati/metadati. I dati o i metadati che sono invece utilizzati ed aggiornati da nodi multipli devono essere gestidi da un approccio centralizzato. Gli accessi si differiscono per i diversi tipi di dati GPFS utilizza varie tecniche per la gestione di tipi di dati differenti: • byterange locking per l'aggiornamento degli user data, • scelta dinamica dei metanodi per la gestione centralizzata del file metadato, • lock distribuito per l'allocazione di spazio del disco, • coordinatore centrale per gestire i cambi di configurazione. GPFS Rossella Cappiello - Antonietta Cimmino
Distributed Lock Manager • Il lock distributed manager utilizzaunglobal lock manager(presente su uno dei nodi del cluster) che coordina i local lock manager, presenti sugli altri nodi, tramite la distribuzione ditoken che permettono la coordinazione delle sincronizzazioni. • Accessi ripetuti allo stesso elemento da parte di uno stesso nodo richiedono una sola richiesta di acquisizione dellock token al global lock manager. • Richiesta addizionale solo in caso di operazione conflittuale di utilizzo dell'oggetto da parte di un altro nodo per la revoca del token dal primo nodo e l'assegnazione di questo al secondo. • Il token garantisce la consistenza dei dati poichè un nodo non può modificare i dati se non è in possesso di esso. GPFS Rossella Cappiello - Antonietta Cimmino
Distributed Lock Manager Distributed Lock Manager è il modulo di gestione per la coordinazione degli accessi paralleli dei vari nodi del cluster ai dischi condivisi. GPFS Rossella Cappiello - Antonietta Cimmino
Byterange Locking • Metodo che permette la sincronizzazione di scritture e letture concorrenti da parte di nodi diversi di un cluster sullo stesso file. • Un nodo che scrive su di un file è in possesso di un byterange token per l'intero file fintanto che nessun altro nodo non richiede l'accesso allo stesso file. Quando questo succede il primo nodo dovrà cedere parte del token in modo da permettere la scrittura concorrente al secondo nodo. GPFS Rossella Cappiello - Antonietta Cimmino
Esempio Il nodo A possiede il byterange token (offset 0 to infinity ) per tutto il file, poiché nessun altro nodo deve effettuarvi operazioni concorrenti. Nodo A byterange token File Se un Nodo B richiede l’accesso al file, il nodo A deve revocare il byterange token ( o una sua parte ). Se ha chiuso il file allora rilascia l’intero byterange token al Nodo B. GPFS Rossella Cappiello - Antonietta Cimmino
Esempio Nel caso in cui Nodo B richiede l’acceso mentre Nodo A sta ancora utilizzando il file, allora Nodo A revocherà solo una parte del byterange token in favore di Nodo B per permettere le operazioni simultanee. Nodo A File Nodo B GPFS Rossella Cappiello - Antonietta Cimmino
Byterange Locking • In generale: quando nodi multipli stanno scrivendo sequenzialmente, per non sovrascrivere sezioni dello stesso file, ogni nodo dovrà essere in grado di acquisire il token necessario che gli garantisca una sezione disponibile del file. Nodi multipli dovranno scambiarsi info riguardanti gli offset di scrittura: • required range (range richiesto): che corrisponde all'offset e alla lunghezza della chiamata di sistema write(). • desidered range (range desiderato): che è riferito a possibili accessi futuri. GPFS Rossella Cappiello - Antonietta Cimmino
Byterange Locking • Il protocollo di gestione dei token revocherà il byte range solo dai nodi che sono in conflitto con il range richiesto. • Il token manager stanzierà un sottorange del DESIRE RANGE evitando di entrare in conflitto con i range che sono ancora in possesso degli altri nodi. GPFS Rossella Cappiello - Antonietta Cimmino
Aggiornamento dell'inode • GPFS usa gli inode e i blocchi indiretti per memorizzare gli attributi dei file e gli indirizzi dei blocchi dei dati. • Molti nodi scrivono sullo stesso file aggiornamenti concorrenti dell'inode e dei blocchi indiretti possibilità di conflitti • Le operazioni di scrittura in GPFS usano lo SHARE WRITE LOCK sull'inode che permette scritture concorrenti su nodi multipli. GPFS Rossella Cappiello - Antonietta Cimmino
Share Write Lock • Tra i vari nodi che accedono al file uno è scelto comeMETANODOed è 'unico che può accedere all’ inodo ed effettuarvi operazioni. • I nodi aggiornano la loro copia locale dell’inode ed inviano periodicamente questi aggiornamenti al metanodo. Il metanodo unisce gli aggiornamenti ricevuti dai nodi multipli in modo da conservare la consistenza globale dell'inode. • Il metanodo è scelto dinamicamente con l'aiuto del token manager. Il primo nodo che accede ad un file acquisisce il metanode token per quel file. Gli altri nodi si informano sull'identità del metanodo. GPFS Rossella Cappiello - Antonietta Cimmino
Aggiornamento dei blocchi indiretti • Quando si scrive su di un nuovo file ogni nodo alloca indipendentemente spazio sul disco per i blocchi dei dati che scrive. Il byterange token assicura che solo un nodo allocherà memoria per un particolare blocco di dati. • Periodicamente o su revoca del byterange token, i nuovi indirizzi del blocco di dati sono inviati al metanode che aggiorna i blocchi indiretti. GPFS Rossella Cappiello - Antonietta Cimmino
Allocation Map • Registra lo stato di allocazione di tutti i blocchi del disco nel file system. • Allocare spazio del disco richiede di aggiornare la mappa di allocazione che deve essere sincronizzata tra i nodi. • Data la grande dimensione dei blocchi utilizzati da GPFS, non ha importanza dove sul disco è scritto il blocco di dati. • Questo permette di organizzare la mappa di allocazione in un modo che minimizza i conflitti tra i nodi interfogliando lo spazio libero sui vari dischi. GPFS Rossella Cappiello - Antonietta Cimmino
Allocation Map La mappa è divisa in un numero n fissato di regioni separate, ed ognuna di esse contiene lo stato di allocazione di 1/n esimo dei blocchi del disco su ogni disco. Ciò permette a GPFS di allocare spazio del disco ben distribuito lungo tutti i dischi accedendo ad una sola regione di allocazione per volta permette a nodi differenti di allocare spazio in differenti regioni il che minimizza i conflitti. Il numero n di regioni è determinato al momento della creazione del file system ed è basato sul numero di nodi nel cluster. GPFS Rossella Cappiello - Antonietta Cimmino
Allocation Manager • Uno dei nodi del cluster è responsabile del mantenimento delle statistiche riguardo lo spazio libero per ogni regione Allocation Manager. • Le statistiche sono aggiornate periodicamente tramite messaggi periodici che i nodi inviano all‘ Allocation Manager con i quali lo informano sull'ammontare dello spazio del disco allocato o liberato nell'ultimo periodo. • L'allocation manager distribuisce le regioni ai nodi che le richiedono e previene i conflitti indirizzando nodi diversi in regioni diverse. GPFS Rossella Cappiello - Antonietta Cimmino
Scalabilità del Token Manager I compiti del token manager sono: • tenere traccia di tutti i token assegnati ai nodi del cluster • svolgere altre funzioni di amministrazione come rilascio o acquisizione di token. Tutte lefunzioni assegnate al token manager potrebbero far sorgere le seguenti problematiche: • Il token manager diventi un“Bottleneck” in un grande cluster ,ossia porta ad un rallentamento nello svolgersi delle attività • la dimensione del token state ecceda la capacità di memoria del token manager. Tra le tante soluzioni proposte, il token manager previene la crescita illimitata del token state controllando l’uso della sua memoria e se necessario rimuovendo i token per ridurre la dimensione del token state, onde evitare l’effetto bottleneck. GPFS Rossella Cappiello - Antonietta Cimmino
Scalabilità del Token Manager Una delle maggiori cause che portano ad un sovraccarico del token manager node sono i lock conflict che causano la revocazione dei token. In seguito ad una revoca di un token, i dati modificati tenuti dal token devono essere spostati sul disco o tolti dalla cache. GPFS Rossella Cappiello - Antonietta Cimmino
Revocazione di un token GPFS utilizza un certo numero di ottimizzazioni nel token protocol che migliorano significativamente il token management. • Quando è necessario revocare un token, è responsabilità del nodo che lo revoca mandare messaggi di revoca a tutti i nodi che hanno portato il token in uno stato conflittuale, raccogliere le risposte come un singolo messaggio ed inoltrarlo al token manager. GPFS Rossella Cappiello - Antonietta Cimmino
Acquisizione di un token • Acquisire un token non richiederà più di due messaggi al token manager, senza preoccuparsi di quanti nodi potrebbero tenere il token in uno stato conflittuale. Il protocollo del token manager supporta anche la token prefetch e token request batching, che permettono l’acquisizione di token multipli inviando un unico messaggio al token manager. GPFS Rossella Cappiello - Antonietta Cimmino
Riutilizzo dei token • Quando un file è cancellato su un nodo, il nodo non rilascia i token associati a quel file. • Un nuovo file creato da quel nodo potrà riutilizzare il vecchio inode non ci sarà bisogno di acquisire altri nuovi token. • Esempio: un workload dove gli utenti su nodi differenti creano e distuggono file sotto le loro rispettive home directories genererà un traffico minimo (o addirittura nullo) di token. GPFS Rossella Cappiello - Antonietta Cimmino
Tolleranza ai guasti • Un cluster è costituito da molti nodi e molti dischi possibilità che non tutte le componenti funzionino sempre correttamente. Questo implica: • Buona gestione dei guasti ai nodi. • Continuità di funzionamento anche in caso di guasti. GPFS Rossella Cappiello - Antonietta Cimmino
Guasti ai nodi Quando un nodo cade, cosa fa GPFS? • Riportare il metadata del nodo fallito in uno stato consistente. • Liberare le risorse che erano in possesso del nodo fallito. Le inconsistenze del metadato, causate dalla caduta del nodo su cui si trovava, sono facilmente ripristinate mandando in esecuzione il log del nodo fallito su uno dei nodi funzionanti. GPFS Rossella Cappiello - Antonietta Cimmino
Guasti ai nodi • Altri nodi non possono accedere al metadato finchè il recovery del metadato non è completo poiché potrebbero operare su dati inconsistenti. • Per lo stesso motivo solo dopo il completamento del recovery, il token manager rilascia i token che erano in possesso del nodo caduto, che solo allora possono essere rilasciati agli altri token. GPFS Rossella Cappiello - Antonietta Cimmino
Guasti ai nodi • Nel caso in cui un nodo caduto svolgeva funzioni speciali,esse sono assegnate ad un altro nodo , il quali ripristina lo stato necessario leggendo le informazioni dal disco e\o effettuando richieste ad altri nodi. • Se il token managerviene a mancare, un altro nodo assumerà questa responsabilità e ricostruirà lo stato del token manager tramite la richiesta agli altri nodi riguardo i token di cui sono in possesso. • Poiché il nuovo token non conosce quali token sono stati tenuti dai nodi falliti non verranno introdotti nuovi token fin quando il recupero del log non è completo. GPFS Rossella Cappiello - Antonietta Cimmino
Comunicazione di un guasto • Fallimento di un nodo • GPFS garantisce il monitoraggio dell'attività dei nodi. • I nodi inviano periodicamente dei pacchetti.Quando un nodo non ne invia più esso si considera fallito, e viene escluso dal file system. • Group Services: insieme di servizi che comunica la caduta di un nodo agli altri nodi • Ad avvenuta comunicazione si mette in atto il recupero descritto in precedenza. GPFS Rossella Cappiello - Antonietta Cimmino
Comunicazione di un guasto • Guasto di rete • La caduta di un cavo può causare l'isolamento di un nodo e renderlo irraggiungibile oppure un malfunzionamento della rete può creare partizioni di nodi nella rete stessa. GPFS Rossella Cappiello - Antonietta Cimmino
Comunicazione di un guasto • Accessi concorrenti da partizioni diverse al file system potrebbero compromettere la consistenza del suo stato. • GPFS permette gli accessi al file system solo alla partizione contenente il maggior numero di nodi. • I nodi facenti parte della partizione minore non possono più accedervi finchè non riusciranno a rientrare nella partizione maggioritaria. GPFS Rossella Cappiello - Antonietta Cimmino
Quorum • Quorum : è definito per default un numero minimo di nodi utile per il corretto funzionamento di GPFS. • Se il numero di nodi raggiungibili è inferiore al quorum, il filesystem non è più accessibile. I nodi riavviano il GPFS. quorum = 50% + 1 (del numero di nodi nel cluster) GPFS Rossella Cappiello - Antonietta Cimmino
Guasto di un disco • GPFS distribuisce i dati e i metadati a tutti i dischi che appartengono al file system la perdita di un singolo disco interesserà una frazione sproporzionatamente grande dei file. • GPFS utilizza i RAID controllers, i quali fanno in modo che un guasto all' hard-disk non comporta l'arresto del sistema operativo che continua a funzionare regolarmente. • GPFS File system sono distribuiti lungo RAID multipli. GPFS Rossella Cappiello - Antonietta Cimmino
RAID RAID:(Redundant Array of Inexpensive Disk : architettura utilizzata per realizzare sistemi di dischi fissi sicuri e di alta capacità ) GPFS Rossella Cappiello - Antonietta Cimmino
Replicazione • Come alternativa o supplemento al RAID, GPFS implementa laREPLICAZIONE quando è possibile, GPFS alloca spazio per due copie di ogni dato o metadato su due differenti dischi. • Nel momento in cui un disco è non disponibile, GPFS tiene traccia di quali file esso ha aggiornato in un blocco mediante una replica. • Se il disco diventa nuovamente disponibile, GPFS riporta i vecchi dati sul disco copiandoli da un’altra replica. • Nel caso in cui un disco cade permanentemente, GPFS alloca una nuova replica su altri dischi per tutti i blocchi di dati del disco fallito. GPFS Rossella Cappiello - Antonietta Cimmino
Scalabilità del File System • La scalabilità è importante non solo per normali operazioni del file system ma anche per le sue utilità, le quali manipolano frazioni significanti di dati o metadati nel file system. • GPFS permette di riorganizzare un file system con l'aggiunta, l'eliminazione, la sostituzione di dischi in un file system esistente. GPFS Rossella Cappiello - Antonietta Cimmino
Scalabilità del File System • L'aggiunta di un nuovo disco comporta il trasferimento di alcuni dei dati esistenti ai nuovi dischi (bilanciamento del carico). • La rimozione (o la sostituzione) di un disco comporta il trasferimento di tutti i dati e metadati dal disco danneggiato ai restanti dischi. • Entrambe le operazioni richiedono di processare tutti gli inode e i blocchi indiretti per cercare il dato che deve essere mosso. GPFS Rossella Cappiello - Antonietta Cimmino
File System Manager • Per completare le suddette operazioni in un tempo ragionevole viene sfruttato il parallelismo del sistema. • GPFS nomina uno dei nodi comefile system manager, il quale è responsabile di coordinare l'attività amministrativa e di distribuire un piccolorange di inode numberad ogni nodo nel cluster, che processerà i file presenti nel range assegnato.Una volta terminato chiede altro lavoro al file system manager. • Ciò permette ai file di lavorare in parallelo su differenti sottosezioni del file finché tutti i file non sono stati processati. GPFS Rossella Cappiello - Antonietta Cimmino