Realizzato da: Cappiello Rossella 566/667 Cimmino Antonietta566/1085.

56
Realizzato da: Realizzato da: Cappiello Rossella Cappiello Rossella 566/667 566/667 Cimmino Antonietta Cimmino Antonietta 566/1085 566/1085

Transcript of Realizzato da: Cappiello Rossella 566/667 Cimmino Antonietta566/1085.

Page 1: Realizzato da: Cappiello Rossella 566/667 Cimmino Antonietta566/1085.

Realizzato da:Realizzato da:

Cappiello Rossella 566/667Cappiello Rossella 566/667

Cimmino AntoniettaCimmino Antonietta 566/1085566/1085

Page 2: Realizzato da: Cappiello Rossella 566/667 Cimmino Antonietta566/1085.

31/02/200531/02/2005 GPFSGPFSRossella Cappiello - Antonietta Cimmino Rossella Cappiello - Antonietta Cimmino

GPFS GPFS : acronimo di General Parallel File System : acronimo di General Parallel File System

File System parallelo a condivisione di dischi, utilizzato su cluster File System parallelo a condivisione di dischi, utilizzato su cluster di computer.di computer.

Nasce sulla base di idee quali: Nasce sulla base di idee quali: - Lock distribuito- Lock distribuito - Condivisione del File System - Condivisione del File System

GPFS introduce la condivisione a livello del file system tra i nodi di GPFS introduce la condivisione a livello del file system tra i nodi di un cluster.un cluster.

• Gira sui più grandi supercomputer del mondo ed in particolare su Gira sui più grandi supercomputer del mondo ed in particolare su RS/6000 SPRS/6000 SP e su cluster di Linux. e su cluster di Linux.

Page 3: Realizzato da: Cappiello Rossella 566/667 Cimmino Antonietta566/1085.

31/02/200531/02/2005 GPFSGPFSRossella Cappiello - Antonietta Cimmino Rossella Cappiello - Antonietta Cimmino

Supercalcolatore Parallelo Scalabile prodotto Supercalcolatore Parallelo Scalabile prodotto dall’IBMdall’IBM

La piattaforma La piattaforma IBM RS/6000IBM RS/6000 e' composta da e' composta da una famiglia di computer.una famiglia di computer.

La famiglia RS/6000 rappresenta una delle linee La famiglia RS/6000 rappresenta una delle linee più scalabili sul mercato e garantisce più scalabili sul mercato e garantisce funzionalità di connettività tali da consentire la funzionalità di connettività tali da consentire la condivisione di dati, applicazioni e risorse con condivisione di dati, applicazioni e risorse con PC, mainframe, workstation e server UNIX, che PC, mainframe, workstation e server UNIX, che soddisfano le esigenze di tutti gli ambienti di soddisfano le esigenze di tutti gli ambienti di rete. rete.

Page 4: Realizzato da: Cappiello Rossella 566/667 Cimmino Antonietta566/1085.

31/02/200531/02/2005 GPFSGPFSRossella Cappiello - Antonietta Cimmino Rossella Cappiello - Antonietta Cimmino

Il termine Il termine clustercluster indica un agglomerato di oggetti dello indica un agglomerato di oggetti dello stesso tipo ( risorse ) che agisce come un unico sistema.stesso tipo ( risorse ) che agisce come un unico sistema.

Garantisce performances migliori.Garantisce performances migliori. VantaggiVantaggi : formato da molteplici componenti (nodi) può

considerarsi “Fault Tollerance”.

SvantaggiSvantaggi: 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 GPFS permette alle applicazioni applicazioni paralleleparallele accessi simultanei agli stessi file, o a file differenti, “spalmatispalmati” tra i vari dischi da tutti i nodi su cui GPFS è montato.

Page 5: Realizzato da: Cappiello Rossella 566/667 Cimmino Antonietta566/1085.

31/02/200531/02/2005 GPFSGPFSRossella Cappiello - Antonietta Cimmino Rossella Cappiello - Antonietta Cimmino

ArchitetturaArchitettura GPFS basata su dischi condivisi dischi condivisi che permette di raggiungere un’elevata scalabilità.

Page 6: Realizzato da: Cappiello Rossella 566/667 Cimmino Antonietta566/1085.

31/02/200531/02/2005 GPFSGPFSRossella Cappiello - Antonietta Cimmino Rossella Cappiello - Antonietta Cimmino

GPFS GPFS consiste in un cluster di nodi 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 Tutti i nodi all’interno di un cluster possono accedere indifferentemente a tutti i dischi.accedere indifferentemente a tutti i dischi.

Particolarmente adatto ad architetture distribuite.Particolarmente adatto ad architetture distribuite.

Page 7: Realizzato da: Cappiello Rossella 566/667 Cimmino Antonietta566/1085.

31/02/200531/02/2005 GPFSGPFSRossella Cappiello - Antonietta Cimmino Rossella Cappiello - Antonietta Cimmino

• I file I file vengono “spalmati” (striping dei dati) lungo tutti i dischi “spalmati” (striping dei dati) lungo tutti i dischi Elevato throughputElevato throughput

La figura mostra un fileLa figura mostra un file

““spalmato” su più dischi,spalmato” su più dischi,

al quale accedono 4 nodial quale accedono 4 nodi

File Logico

Page 8: Realizzato da: Cappiello Rossella 566/667 Cimmino Antonietta566/1085.

31/02/200531/02/2005 GPFSGPFSRossella Cappiello - Antonietta Cimmino Rossella Cappiello - Antonietta Cimmino

1)1) Dischi singoliDischi singoli sono connessi ad un certo numero di I/O server nodesI/O server nodes che permettono l’accesso da parte dei file system nodesfile system nodes tramite una

rete di comunicazionerete di comunicazione ai suddetti dischi.

File system nodes

I/O server nodes

Rete di comunicazione

Shared Disks

Page 9: Realizzato da: Cappiello Rossella 566/667 Cimmino Antonietta566/1085.

31/02/200531/02/2005 GPFSGPFSRossella Cappiello - Antonietta Cimmino Rossella Cappiello - Antonietta Cimmino

2) 2) Tutti nodi del file system Tutti nodi del file system sono connessi ai dischi condivisi ai dischi condivisi tramite una Storage Area Network (SAN).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

Page 10: Realizzato da: Cappiello Rossella 566/667 Cimmino Antonietta566/1085.

31/02/200531/02/2005 GPFSGPFSRossella Cappiello - Antonietta Cimmino Rossella Cappiello - Antonietta Cimmino

Nodi multipliNodi multipli accedono parallelamenteparallelamente ai dischi per le operazioni operazioni di I/Odi I/O

Possibile inconsistenza dei datiPossibile inconsistenza dei dati..

SoluzioneSoluzione: : sincronizzazione degli accessi tramite la strategia del “lock distribuito”.“lock distribuito”.

Protocollo del lock distribuito: Protocollo del lock distribuito: - - garantisce la la consistenza del file system consistenza del file system indipendentemente dal numero dei nodi che simultaneamente effettuano operazioni di I/O nel file system; - - permette il parallelismo il parallelismo necessario per ottenere il maggior ottenere il maggior throughput throughput

Page 11: Realizzato da: Cappiello Rossella 566/667 Cimmino Antonietta566/1085.

31/02/200531/02/2005 GPFSGPFSRossella Cappiello - Antonietta Cimmino Rossella Cappiello - Antonietta Cimmino

GPFS GPFS implementa varie funzionalità nel file system, quali:

striping dei dati,striping dei dati,

tolleranza ai guasti, tolleranza ai guasti,

bilanciamento del carico,bilanciamento del carico,

controllo della memoria e dei dischi. controllo della memoria e dei dischi.

Page 12: Realizzato da: Cappiello Rossella 566/667 Cimmino Antonietta566/1085.

31/02/200531/02/2005 GPFSGPFSRossella Cappiello - Antonietta Cimmino Rossella Cappiello - Antonietta Cimmino

Per Per ottenere un throughput elevato, throughput elevato, GPFS effettua lo “ “striping dei datistriping dei dati” lungo dischi ” lungo dischi multipli.multipli.

Funzione implementata nel file system Funzione implementata nel file system e non affidata ad LVM.(LVM permette di gestire più dischi come se fossero un unico disco logico).

CiòCiò permette a GPFS il controllo di cui necessita per la realizzazione delle sue funzionalità quali bilanciamento del carico, tolleranza ai guasti,…

Page 13: Realizzato da: Cappiello Rossella 566/667 Cimmino Antonietta566/1085.

31/02/200531/02/2005 GPFSGPFSRossella Cappiello - Antonietta Cimmino Rossella Cappiello - Antonietta Cimmino

GPFS memorizza file estesi in blocchi di dischi GPFS memorizza file estesi in blocchi di dischi contigui di uguale dimensione ( solitamente 256 kbyte )

VantaggioVantaggio: : prelevare con una sola op di I/O una grande quantità di dati dai dischi condivisi aumento del throughput.aumento del throughput.

GPFS memorizza file di piccole dimensioni in GPFS memorizza file di piccole dimensioni in piccole “piccole “unitunit”, ”, anche dette SOTTOBLOCCHISOTTOBLOCCHI..

Lo striping è meglio effettuato quando i dischi hanno una uguale dimensione..

Page 14: Realizzato da: Cappiello Rossella 566/667 Cimmino Antonietta566/1085.

31/02/200531/02/2005 GPFSGPFSRossella Cappiello - Antonietta Cimmino Rossella Cappiello - Antonietta Cimmino

Striping dei datiStriping dei dati: le sezioni dei file sono distribuiti sequenzialmente sui dischi.

Page 15: Realizzato da: Cappiello Rossella 566/667 Cimmino Antonietta566/1085.

31/02/200531/02/2005 GPFSGPFSRossella Cappiello - Antonietta Cimmino Rossella Cappiello - Antonietta Cimmino

Lo striping accelera la velocità effettiva I/O Lo striping accelera la velocità effettiva I/O per i file di grandi dimensioni quando vengono letti e scritti in sequenza.

Svantaggio dello stripingSvantaggio dello striping : la perdita di un solo disco può : la perdita di un solo disco può avere come conseguenza il danneggiamento di molti file, avere come conseguenza il danneggiamento di molti file, dato che i file sono di proposito "spalmati" pezzo per pezzo su più dischi.

UnaUna configurazione non uniforme dei dischi richiede un compromesso compromesso tra il throughput e lo spazio di utilizzazione.

Page 16: Realizzato da: Cappiello Rossella 566/667 Cimmino Antonietta566/1085.

31/02/200531/02/2005 GPFSGPFSRossella Cappiello - Antonietta Cimmino Rossella Cappiello - Antonietta Cimmino

GPFS GPFS registra tutti gli aggiornamenti dei metadati che agiscono sulla consistenza del file system in un “ “log write aheadlog write ahead”.”.

Ogni nodo ha un proprio log memorizzato all’interno del suo file Ogni nodo ha un proprio log memorizzato all’interno del suo file system.system.

Il log può essere letto dagli altri nodi ed utilizzato da questi per Il log può essere letto dagli altri nodi ed utilizzato da questi per ripristinare la consistenza del file system ripristinare la consistenza del file system ogni volta che uno dei nodi fallisce.

Un log può avere Un log può avere dimensioni fissate dimensioni fissate

flushingflushing dei dati modificati sul disco..

Page 17: Realizzato da: Cappiello Rossella 566/667 Cimmino Antonietta566/1085.

31/02/200531/02/2005 GPFSGPFSRossella Cappiello - Antonietta Cimmino Rossella Cappiello - Antonietta Cimmino

UUn file 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 Il parallelismo richiede accessi sincronizzatiaccessi sincronizzati ai dati ed ai metadati per garantire la consistenza del file system.

Due sono le tecniche di sincronizzazionetecniche di sincronizzazione:: Lock distribuitoLock 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 ManagementCentralized Management: : tutte le operazioni conflittuali

sono inoltrate ad un nodo scelto il quale esegue le letture o gli aggiornamenti richiesti.

Page 18: Realizzato da: Cappiello Rossella 566/667 Cimmino Antonietta566/1085.

31/02/200531/02/2005 GPFSGPFSRossella Cappiello - Antonietta Cimmino Rossella Cappiello - Antonietta Cimmino

GPFS utilizza il lock distribuito quando nodi differenti operano susezioni differenti di dati/metadati.I dati o i metadati che sono invece utilizzati ed aggiornati danodi 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,byterange locking per l'aggiornamento degli user data, scelta dinamica dei metanodi per la gestione centralizzata del scelta dinamica dei metanodi per la gestione centralizzata del

file metadato,file metadato, lock distribuito per l'allocazione di spazio del disco,lock distribuito per l'allocazione di spazio del disco, coordinatore centrale per gestire i cambi di configurazione.coordinatore centrale per gestire i cambi di configurazione.

Page 19: Realizzato da: Cappiello Rossella 566/667 Cimmino Antonietta566/1085.

31/02/200531/02/2005 GPFSGPFSRossella Cappiello - Antonietta Cimmino Rossella Cappiello - Antonietta Cimmino

Il lock distributed manager Il lock distributed manager utilizza un global lock managerglobal lock manager (presente su uno dei nodi del cluster) che coordina i local lock che coordina i local lock manager, manager, presenti sugli altri nodi, tramite la distribuzione di token token che permettono la coordinazione delle sincronizzazioni.

Accessi ripetuti allo stesso elemento da parte di uno stesso nodo richiedono una sola richiesta di acquisizione del lock tokenlock token al al global lock managerglobal 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 Il token garantisce la consistenza dei dati poichè un nodo non può modificare i dati se non è in possesso di esso.

Page 20: Realizzato da: Cappiello Rossella 566/667 Cimmino Antonietta566/1085.

31/02/200531/02/2005 GPFSGPFSRossella Cappiello - Antonietta Cimmino Rossella Cappiello - Antonietta Cimmino

Distributed Lock Manager è il modulo di gestione per la

coordinazione degli accessi paralleli dei vari nodi del cluster

ai dischi condivisi.

Page 21: Realizzato da: Cappiello Rossella 566/667 Cimmino Antonietta566/1085.

31/02/200531/02/2005 GPFSGPFSRossella Cappiello - Antonietta Cimmino Rossella Cappiello - Antonietta Cimmino

Metodo che permette la sincronizzazione di scritture e Metodo che permette la sincronizzazione di scritture e letture concorrenti da parte di nodi diversi di un letture concorrenti da parte di nodi diversi di un cluster sullo stesso file.cluster sullo stesso file.

Un nodo che scrive su di un file è in possesso di un Un nodo che scrive su di un file è in possesso di un byterange tokenbyterange token per l'intero file fintanto che nessun per l'intero file fintanto che nessun altro nodo non richiede l'accesso allo stesso file.altro nodo non richiede l'accesso allo stesso file.

Quando questo succede il primo nodo dovrà cedere Quando questo succede il primo nodo dovrà cedere parte del token in modo da permettere la scrittura parte del token in modo da permettere la scrittura concorrente al secondo nodo.concorrente al secondo nodo.

Page 22: Realizzato da: Cappiello Rossella 566/667 Cimmino Antonietta566/1085.

31/02/200531/02/2005 GPFSGPFSRossella Cappiello - Antonietta Cimmino Rossella Cappiello - Antonietta Cimmino

Nodo A File

Il nodo A possiede il byterange token (offset 0 to infinity ) per tutto il file, poiché nessun altro nodo deve effettuarvi operazioni concorrenti.

byterange token

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.

Page 23: Realizzato da: Cappiello Rossella 566/667 Cimmino Antonietta566/1085.

31/02/200531/02/2005 GPFSGPFSRossella Cappiello - Antonietta Cimmino Rossella Cappiello - Antonietta Cimmino

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

Nodo B

File

Page 24: Realizzato da: Cappiello Rossella 566/667 Cimmino Antonietta566/1085.

31/02/200531/02/2005 GPFSGPFSRossella Cappiello - Antonietta Cimmino Rossella Cappiello - Antonietta Cimmino

In generale: 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):required range (range richiesto): che corrisponde all'offset e alla lunghezza della chiamata di sistema write().

desidered range (range desiderato):desidered range (range desiderato): che è riferito a possibili accessi futuri.

Page 25: Realizzato da: Cappiello Rossella 566/667 Cimmino Antonietta566/1085.

31/02/200531/02/2005 GPFSGPFSRossella Cappiello - Antonietta Cimmino Rossella Cappiello - Antonietta Cimmino

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.

Page 26: Realizzato da: Cappiello Rossella 566/667 Cimmino Antonietta566/1085.

31/02/200531/02/2005 GPFSGPFSRossella Cappiello - Antonietta Cimmino Rossella Cappiello - Antonietta Cimmino

GPFS usa gli inode e i blocchi indiretti per memorizzare GPFS usa gli inode e i blocchi indiretti per memorizzare gli attributi dei file e gli indirizzi dei blocchi dei dati.gli attributi dei file e gli indirizzi dei blocchi dei dati.

Molti nodi scrivono sullo stesso file Molti nodi scrivono sullo stesso file aggiornamenti concorrenti dell'inode e dei blocchi aggiornamenti concorrenti dell'inode e dei blocchi

indiretti indiretti possibilità di conflittipossibilità di conflitti

Le operazioni di scrittura in GPFS usano lo SHARE WRITE Le operazioni di scrittura in GPFS usano lo SHARE WRITE LOCK sull'inode che permette scritture concorrenti su LOCK sull'inode che permette scritture concorrenti su nodi multipli.nodi multipli.

Page 27: Realizzato da: Cappiello Rossella 566/667 Cimmino Antonietta566/1085.

31/02/200531/02/2005 GPFSGPFSRossella Cappiello - Antonietta Cimmino Rossella Cappiello - Antonietta Cimmino

Tra i vari nodi che accedono al file uno è scelto come METANODOMETANODO ed è 'unico che può accedere all’ inodo 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.

Page 28: Realizzato da: Cappiello Rossella 566/667 Cimmino Antonietta566/1085.

31/02/200531/02/2005 GPFSGPFSRossella Cappiello - Antonietta Cimmino Rossella Cappiello - Antonietta Cimmino

Quando si scrive su di un nuovo file ogni nodo Quando si scrive su di un nuovo file ogni nodo alloca indipendentemente spazio sul disco per i alloca indipendentemente spazio sul disco per i blocchi dei dati che scrive. Il byterange token blocchi dei dati che scrive. Il byterange token assicura che solo un nodo allocherà memoria per assicura che solo un nodo allocherà memoria per un particolare blocco di dati.un particolare blocco di dati.

Periodicamente o su revoca del byterange token, i Periodicamente o su revoca del byterange token, i nuovi indirizzi del blocco di dati sono inviati al nuovi indirizzi del blocco di dati sono inviati al metanode che aggiorna i blocchi indiretti.metanode che aggiorna i blocchi indiretti.

Page 29: Realizzato da: Cappiello Rossella 566/667 Cimmino Antonietta566/1085.

31/02/200531/02/2005 GPFSGPFSRossella Cappiello - Antonietta Cimmino Rossella Cappiello - Antonietta Cimmino

Registra lo stato di allocazione di tutti i blocchi del Registra lo stato di allocazione di tutti i blocchi del disco nel file system.disco nel file system.

Allocare spazio del disco richiede di aggiornare la Allocare spazio del disco richiede di aggiornare la mappa di allocazione che deve essere sincronizzata mappa di allocazione che deve essere sincronizzata tra i nodi.tra i nodi.

Data la grande dimensione dei blocchi utilizzati da Data la grande dimensione dei blocchi utilizzati da GPFS, non ha importanza dove sul disco è scritto il GPFS, non ha importanza dove sul disco è scritto il blocco di dati.blocco di dati.

Questo permette di organizzare la mappa di Questo permette di organizzare la mappa di allocazione in un modo che minimizza i conflitti tra i allocazione in un modo che minimizza i conflitti tra i nodi interfogliando lo spazio libero sui vari dischi.nodi interfogliando lo spazio libero sui vari dischi.

Page 30: Realizzato da: Cappiello Rossella 566/667 Cimmino Antonietta566/1085.

31/02/200531/02/2005 GPFSGPFSRossella Cappiello - Antonietta Cimmino Rossella Cappiello - Antonietta Cimmino

La mappa è divisa in un numero nn fissato di regioni separateregioni separate , ed ognuna di esse contiene lo stato di allocazione di 1/n esimo deiblocchi del disco su ogni disco.

Ciò permette a GPFS di allocare spazio del disco ben distribuitolungo 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 dellacreazione del file system ed è basato sul numero di nodi nel cluster.

Page 31: Realizzato da: Cappiello Rossella 566/667 Cimmino Antonietta566/1085.

31/02/200531/02/2005 GPFSGPFSRossella Cappiello - Antonietta Cimmino Rossella Cappiello - Antonietta Cimmino

Uno dei nodi del cluster è responsabile del mantenimento delle statistiche riguardo lo spazio libero per ogni regione Allocation Manager. 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 L'allocation manager distribuisce le regioni ai nodi che le richiedono e previene i conflitti indirizzando nodi le richiedono e previene i conflitti indirizzando nodi diversi in regioni diverse.diversi in regioni diverse.

Page 32: Realizzato da: Cappiello Rossella 566/667 Cimmino Antonietta566/1085.

31/02/200531/02/2005 GPFSGPFSRossella Cappiello - Antonietta Cimmino Rossella Cappiello - Antonietta Cimmino

I compiti del token manager sono: • • tenere traccia di tutti i token assegnati ai nodi del cluster tenere traccia di tutti i token assegnati ai nodi del cluster • • svolgere altre funzioni di amministrazione come rilascio o svolgere altre funzioni di amministrazione come rilascio o acquisizione di token.acquisizione di token.

Tutte le funzioni assegnate al token manager potrebbero farsorgere le seguenti problematiche:• • Il token manager diventi un ““BottleneckBottleneck” ” in un grande

cluster ,ossia porta ad un rallentamento nello svolgersi rallentamento nello svolgersi delle attività delle attività

• • la dimensione del la dimensione del token statetoken state ecceda la capacità di ecceda la capacità di memoria del memoria del token managertoken manager..

Tra le tante soluzioni proposte, il token manager previene lacrescita illimitata del token state controllando l’uso dellasua memoria e se necessario rimuovendo i token per ridurre ladimensione del token state, onde evitare l’effetto bottleneck.

Page 33: Realizzato da: Cappiello Rossella 566/667 Cimmino Antonietta566/1085.

31/02/200531/02/2005 GPFSGPFSRossella Cappiello - Antonietta Cimmino Rossella Cappiello - Antonietta Cimmino

Una delle maggiori cause che portano ad un sovraccaricodel token manager node sono i lock conflict che causanola 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.

Page 34: Realizzato da: Cappiello Rossella 566/667 Cimmino Antonietta566/1085.

31/02/200531/02/2005 GPFSGPFSRossella Cappiello - Antonietta Cimmino Rossella Cappiello - Antonietta Cimmino

GPFS utilizza un certo numero di ottimizzazioni nel tokenprotocol che migliorano significativamente il tokenmanagement.

Quando è necessario revocare un tokenrevocare un token, è responsabilità del nodo che lo revoca mandare messaggi di revocamessaggi di revoca a tutti i nodi che hanno portato il token in uno stato conflittuale, raccogliere le risposte raccogliere le risposte come un singolo messaggiocome un singolo messaggio ed inoltrarlo al token inoltrarlo al token manager.manager.

Page 35: Realizzato da: Cappiello Rossella 566/667 Cimmino Antonietta566/1085.

31/02/200531/02/2005 GPFSGPFSRossella Cappiello - Antonietta Cimmino Rossella Cappiello - Antonietta Cimmino

Acquisire un token non richiederà più di due messaggi Acquisire un token non richiederà più di due messaggi al token manager, 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 token prefetch e token request batchingprefetch e token request batching, che permettono l’acquisizione di token multipli inviando un unico messaggio al token manager.

Page 36: Realizzato da: Cappiello Rossella 566/667 Cimmino Antonietta566/1085.

31/02/200531/02/2005 GPFSGPFSRossella Cappiello - Antonietta Cimmino Rossella Cappiello - Antonietta Cimmino

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 non ci sarà bisogno di acquisire altri nuovi

token.token.

Esempio: 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.

Page 37: Realizzato da: Cappiello Rossella 566/667 Cimmino Antonietta566/1085.

31/02/200531/02/2005 GPFSGPFSRossella Cappiello - Antonietta Cimmino Rossella Cappiello - Antonietta Cimmino

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.Buona gestione dei guasti ai nodi. Continuità di funzionamento anche in caso di guasti.Continuità di funzionamento anche in caso di guasti.

Page 38: Realizzato da: Cappiello Rossella 566/667 Cimmino Antonietta566/1085.

31/02/200531/02/2005 GPFSGPFSRossella Cappiello - Antonietta Cimmino Rossella Cappiello - Antonietta Cimmino

Quando un nodo cade, cosa fa GPFS? Quando un nodo cade, cosa fa GPFS? Riportare il metadata del nodo fallito in uno stato Riportare il metadata del nodo fallito in uno stato

consistente.consistente. Liberare le risorse che erano in possesso del nodo Liberare le risorse che erano in possesso del nodo

fallito.fallito.

Le inconsistenze del metadato, causate dalla caduta delnodo su cui si trovava, sono facilmente ripristinatemandando in esecuzione il log del nodo fallito su uno dei nodi funzionanti.

Page 39: Realizzato da: Cappiello Rossella 566/667 Cimmino Antonietta566/1085.

31/02/200531/02/2005 GPFSGPFSRossella Cappiello - Antonietta Cimmino Rossella Cappiello - Antonietta Cimmino

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.

Page 40: Realizzato da: Cappiello Rossella 566/667 Cimmino Antonietta566/1085.

31/02/200531/02/2005 GPFSGPFSRossella Cappiello - Antonietta Cimmino Rossella Cappiello - Antonietta Cimmino

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 Se il token managertoken manager viene a mancare, un altro nodo viene a mancare, un altro nodo assumerà questa responsabilità 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.

Page 41: Realizzato da: Cappiello Rossella 566/667 Cimmino Antonietta566/1085.

31/02/200531/02/2005 GPFSGPFSRossella Cappiello - Antonietta Cimmino Rossella Cappiello - Antonietta Cimmino

1)1) Fallimento di un nodoFallimento 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 ServicesGroup 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.

Page 42: Realizzato da: Cappiello Rossella 566/667 Cimmino Antonietta566/1085.

31/02/200531/02/2005 GPFSGPFSRossella Cappiello - Antonietta Cimmino Rossella Cappiello - Antonietta Cimmino

Guasto di reteGuasto di rete

La caduta di un cavo può causare l'isolamento di La caduta di un cavo può causare l'isolamento di un nodo e renderlo irraggiungibile oppure un un nodo e renderlo irraggiungibile oppure un malfunzionamento della rete può creare malfunzionamento della rete può creare partizioni di nodi nella rete stessa. partizioni di nodi nella rete stessa.

Page 43: Realizzato da: Cappiello Rossella 566/667 Cimmino Antonietta566/1085.

31/02/200531/02/2005 GPFSGPFSRossella Cappiello - Antonietta Cimmino Rossella Cappiello - Antonietta Cimmino

Accessi concorrenti da partizioni diverse al file system Accessi concorrenti da partizioni diverse al file system potrebbero compromettere la consistenza del suo stato.potrebbero compromettere la consistenza del suo stato.

GPFS permette gli accessi al file system solo alla GPFS permette gli accessi al file system solo alla partizione contenente il maggior numero di nodi.partizione contenente il maggior numero di nodi.

I nodi facenti parte della partizione minore non possono I nodi facenti parte della partizione minore non possono più accedervi finchè non riusciranno a rientrare nella più accedervi finchè non riusciranno a rientrare nella partizione maggioritaria.partizione maggioritaria.

Page 44: Realizzato da: Cappiello Rossella 566/667 Cimmino Antonietta566/1085.

31/02/200531/02/2005 GPFSGPFSRossella Cappiello - Antonietta Cimmino 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% + 1quorum = 50% + 1(del numero di nodi nel cluster)(del numero di nodi nel cluster)

Page 45: Realizzato da: Cappiello Rossella 566/667 Cimmino Antonietta566/1085.

31/02/200531/02/2005 GPFSGPFSRossella Cappiello - Antonietta Cimmino Rossella Cappiello - Antonietta Cimmino

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, 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 File system sono distribuiti lungo RAID multipli.

Page 46: Realizzato da: Cappiello Rossella 566/667 Cimmino Antonietta566/1085.

31/02/200531/02/2005 GPFSGPFSRossella Cappiello - Antonietta Cimmino Rossella Cappiello - Antonietta Cimmino

RAIDRAID:(Redundant Array of Inexpensive Disk : architettura utilizzata per realizzare sistemi di dischi fissi sicuri e di alta capacità )

Page 47: Realizzato da: Cappiello Rossella 566/667 Cimmino Antonietta566/1085.

31/02/200531/02/2005 GPFSGPFSRossella Cappiello - Antonietta Cimmino Rossella Cappiello - Antonietta Cimmino

Come alternativa o supplemento al RAID, GPFS implementa la REPLICAZIONEREPLICAZIONE

quando è possibile, GPFS alloca spazio per due quando è possibile, GPFS alloca spazio per due copie di ogni dato o metadato su due differenti copie di ogni dato o metadato su due differenti dischi.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.

Page 48: Realizzato da: Cappiello Rossella 566/667 Cimmino Antonietta566/1085.

31/02/200531/02/2005 GPFSGPFSRossella Cappiello - Antonietta Cimmino Rossella Cappiello - Antonietta Cimmino

La scalabilità è importante non solo per normali La scalabilità è importante non solo per normali operazioni del file system ma anche per le sue operazioni del file system ma anche per le sue utilità, le quali manipolano frazioni significanti di utilità, le quali manipolano frazioni significanti di dati o metadati nel file system.dati o metadati nel file system.

GPFS permette di riorganizzare un file system con GPFS permette di riorganizzare un file system con l'aggiunta, l'eliminazione, la sostituzione di dischi l'aggiunta, l'eliminazione, la sostituzione di dischi in un file system esistente.in un file system esistente.

Page 49: Realizzato da: Cappiello Rossella 566/667 Cimmino Antonietta566/1085.

31/02/200531/02/2005 GPFSGPFSRossella Cappiello - Antonietta Cimmino Rossella Cappiello - Antonietta Cimmino

L'aggiunta di un nuovo disco comporta il trasferimento L'aggiunta di un nuovo disco comporta il trasferimento di alcuni dei dati esistenti ai nuovi dischi di alcuni dei dati esistenti ai nuovi dischi (bilanciamento del carico).(bilanciamento del carico).

La rimozione (o la sostituzione) di un disco comporta il La rimozione (o la sostituzione) di un disco comporta il trasferimento di tutti i dati e metadati dal disco trasferimento di tutti i dati e metadati dal disco danneggiato ai restanti dischi.danneggiato ai restanti dischi.

Entrambe le operazioni richiedono di processare tutti Entrambe le operazioni richiedono di processare tutti gli inode e i blocchi indiretti per cercare il dato che gli inode e i blocchi indiretti per cercare il dato che deve essere mosso.deve essere mosso.

Page 50: Realizzato da: Cappiello Rossella 566/667 Cimmino Antonietta566/1085.

31/02/200531/02/2005 GPFSGPFSRossella Cappiello - Antonietta Cimmino Rossella Cappiello - Antonietta Cimmino

Per completare le suddette operazioni in un tempo ragionevole viene sfruttato il parallelismo del sistema. parallelismo del sistema.

GPFS GPFS nomina uno dei nodi come file system managerfile system manager, ,

il quale è responsabile di coordinare l'attività amministrativa e di distribuire un piccolo range di range di inode numberinode number ad 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.

Page 51: Realizzato da: Cappiello Rossella 566/667 Cimmino Antonietta566/1085.

31/02/200531/02/2005 GPFSGPFSRossella Cappiello - Antonietta Cimmino Rossella Cappiello - Antonietta Cimmino

Durante questo processo i nodi si scambiano messaggi tra di loro per compilare lo stato globale del file system.

Nonostante un elevato grado di parallelismo, queste operazioni possono occupare molto tempo.

Per ovviare a questo problema, GPFS permette di eseguire tutte le utilità del file system on line.

Page 52: Realizzato da: Cappiello Rossella 566/667 Cimmino Antonietta566/1085.

31/02/200531/02/2005 GPFSGPFSRossella Cappiello - Antonietta Cimmino Rossella Cappiello - Antonietta Cimmino

GPFS è installato su cluster con un range che spazia da pochi nodi con meno di un terabyte di disco fino ad arrivare a 512 nodi ASCI White system con 140 Tbyte di spazio del disco in due filesystem.

Da molte esperienze si è notato che si ottiene una migliore Da molte esperienze si è notato che si ottiene una migliore efficienza con un parallelismo “efficienza con un parallelismo “intra-nodeintra-node” piuttosto che un ” piuttosto che un parallelismo “parallelismo “inter-nodeinter-node”.”.

Quando si ha a che fare con un grande cluster, riguardoQuando si ha a che fare con un grande cluster, riguardo

l'esecuzione è conveniente utilizzare un parallelismo l'esecuzione è conveniente utilizzare un parallelismo

““intra-node” piuttosto che uno “inter-node”.intra-node” piuttosto che uno “inter-node”.

Page 53: Realizzato da: Cappiello Rossella 566/667 Cimmino Antonietta566/1085.

31/02/200531/02/2005 GPFSGPFSRossella Cappiello - Antonietta Cimmino Rossella Cappiello - Antonietta Cimmino

• Altra idea era quella di assegnare un thread ad ogni singolo nodo del cluster e ad ognuno assegnarvi un certa porzione di lavoro. Si pensava che questo sarebbe stato sufficiente per sfruttare tutta la larghezza di banda disponibile del disco.

• Inoltre le unità di lavoro distribuite sui thread di ogni Inoltre le unità di lavoro distribuite sui thread di ogni

nodo del cluster devono essere sufficientemente piccole nodo del cluster devono essere sufficientemente piccole

e approssimativamente di uguale dimensione, per e approssimativamente di uguale dimensione, per

permettere un buon bilanciamento del carico.permettere un buon bilanciamento del carico.

Page 54: Realizzato da: Cappiello Rossella 566/667 Cimmino Antonietta566/1085.

31/02/200531/02/2005 GPFSGPFSRossella Cappiello - Antonietta Cimmino Rossella Cappiello - Antonietta Cimmino

Le funzioni amministrative sono eseguita dal file systemfile systemmanager.manager.Se esso esegue anche parti di applicazioni parallele, si ha un sovraccarico del file system manager lasciando altri nodi inattivi.

Se il sovraccarico rallenta l'esecuzione dell'applicazione dell'1%, il tempo morto a cui andranno incontro gli altri nodi sarà equivalente a lasciare 5 nodi inusati sui 512 nodi dell'ASCI White system.

SoluzioneSoluzione: : GPFS assegna le funzioni amministrative ad una collezione limitata di nodi amministrativi. In generale un cluster esteso non utilizza mai più di due nodi amministrativi.

Page 55: Realizzato da: Cappiello Rossella 566/667 Cimmino Antonietta566/1085.

31/02/200531/02/2005 GPFSGPFSRossella Cappiello - Antonietta Cimmino Rossella Cappiello - Antonietta Cimmino

Un problema che si può presentare, anche se Un problema che si può presentare, anche se raramente, è la perdita dei dati in un RAID dovuti raramente, è la perdita dei dati in un RAID dovuti ad una intermittenza durante una operazione di ad una intermittenza durante una operazione di sostutuzione del disco. Fortunatamente i data sostutuzione del disco. Fortunatamente i data user non sono persi perché possono essere user non sono persi perché possono essere recuperati grazie alla replicazione dei metadati e recuperati grazie alla replicazione dei metadati e dati ( scritta in precedenza ) che GPFS utilizza in dati ( scritta in precedenza ) che GPFS utilizza in aggiunta ai RAID per fornire un grado di sicurezza aggiunta ai RAID per fornire un grado di sicurezza più elevato contro i fallimenti. più elevato contro i fallimenti.

Page 56: Realizzato da: Cappiello Rossella 566/667 Cimmino Antonietta566/1085.

31/02/200531/02/2005 GPFSGPFSRossella Cappiello - Antonietta Cimmino Rossella Cappiello - Antonietta Cimmino

Le installazioni esistenti di GPFS indicano che è capace Le installazioni esistenti di GPFS indicano che è capace di aumentare le prestazioni dei più grandi super di aumentare le prestazioni dei più grandi super computers nel mondo e di fornire le funzioni computers nel mondo e di fornire le funzioni necessarie di tolleranza ai guasti.necessarie di tolleranza ai guasti.

Tuttavia noi invitiamo a uno sviluppo continuo della Tuttavia noi invitiamo a uno sviluppo continuo della tecnologia per richiedere sempre maggiore scalabilità.tecnologia per richiedere sempre maggiore scalabilità.

La scalabilità di un file system è diventata un La scalabilità di un file system è diventata un interesse per la ricerca che continuerà nel prossimo interesse per la ricerca che continuerà nel prossimo futuro.futuro.

Un gran numero di persone hanno contribuito Un gran numero di persone hanno contribuito all’implementazione di GPFS negli anni.Nel seguito all’implementazione di GPFS negli anni.Nel seguito saranno riportati solo alcuni dei tanti nomi di persone saranno riportati solo alcuni dei tanti nomi di persone che hanno significativamente contribuito al lavoro che hanno significativamente contribuito al lavoro descritto nelle pagine precedenti:descritto nelle pagine precedenti:

Jim Wyllic,Dan Mcnabb,Lyle Gaine,etc.Jim Wyllic,Dan Mcnabb,Lyle Gaine,etc.