Tecnologia RAID. Le motivazioni storiche



Documenti analoghi
Sistemi RAID. Motivazioni Concetti di base Livelli RAID. Sommario

La memoria secondaria

I/O Dispositivi di input/output

Dischi RAID. high-performance high-reliability. G.Serazzi a.a. 2003/04 Impianti Informatici RAID - 1/32

PARALLELISMO NELLE MEMORIE PERMANENTI

14 Struttura della memoria secondaria Struttura del disco Struttura del disco

Sistemi Operativi. Modulo 8: Gestione I/O, Memoria secondaria

* Continuo incremento delle prestazioni della tecnologia dei semiconduttori ( > 50 % / anno )

Architettura dei sistemi di elaborazione (La memoria parte 4)

Calcolatori Elettronici

Criteri di caratterizzazione di una memoria

Sistemi RAID tutti i dati che contiene RAID

Sistemi Operativi. Lezione 13 Il File System

Memorie a semiconduttore

Tecnologie di archiviazione

Sistemi operativi 2003/2004. Input e output

File System. Sistemi Operativi Lezione 23

aumenta il tempo di accesso; aumenta la capacità di memorizzazione; ma diminuisce il costo per bit.

Sistemi RAID. Sistemi RAID. Sistemi RAID

Sistemi RAID. Sistemi RAID

Redundant Array of Inexpensive (Independent) Disks. Disco magnetico

Università di Trieste. Calcolatori Elettronici a.a Omero Tuzzi Memorie 1

Il computer P R O F. L O R E N Z O P A R I S I

SISTEMI OPERATIVI MEMORIA SECONDARIA E TERZIARIA. Meccanica di un hard disk

Tecniche di progettazione per la tolleranza ai guasti. Codici non lineari

Il computer P R O F. L O R E N Z O P A R I S I

Sistemi Operativi. Lezione 13 Il File System

Un quadro della situazione. Lezione 15 Il Set di Istruzioni (2) Le operazioni e gli operandi. Dove siamo nel corso. Cosa abbiamo fatto

La memoria - tecnologie

Informatica 10. appunti dalla lezione del 16/11/2010

Guida all installazione degli Hard Disk SATA ed alla configurazione del RAID

Informatica giuridica

Architettura dei calcolatori

La struttura delle memorie

Il computer P R O F. L O R E N Z O P A R I S I

Sistemi Operativi. Lezione 15 Il File System

Corso di Informatica

Memoria secondaria. Struttura del disco. Scheduling del disco. Gestione dell unità a disco. Affidabilità dei dischi: RAID

Sistemi RAID. Corso di Calcolatori Elettronici. Feragotto Elena

Sistemi Operativi. Bruschi Martignoni Monga. Altre periferiche fondamentali Hard disk Terminale. Sistemi Operativi. Bruschi Martignoni Monga

Un quadro della situazione. Lezione 14 Il Set di Istruzioni (2) Dove siamo nel corso. I principi di progetto visti finora. Cosa abbiamo fatto

1 Campi di Galois: riepilogo e notazioni [1]

Porte Input/Output (I/O Connectors)

Gli Archivi. Prof. Francesco Accarino IIs Altiero Spinelli Sesto San Giovanni

La componente tecnologica dei. sistemi informativi. Architettura hw. Componenti di una architettura hw

Il Sottosistema di Memoria

Corso di studi in Ingegneria Elettronica A.A. 2003/2004. Calcolatori Elettronici. Esercitazione n 2. Ing Giovanni Costa

Elementi di informatica

Introduzione alle gerarchie di memoria

Struttura dei dischi

La memoria-gerarchia. Laboratorio di Informatica - Lezione 3 - parte I La memoria - La rappresentazione delle informazioni

Dischi RAID (Redundant Array of Inexpensive Disks)

La memoria secondaria

Memoria Esterna (secondaria) (Cap. 6, Stallings) Dischi Magnetici

Dischi Magnetici. Testina con lettura separata. Meccanismi di lettura e scrittura. Memoria Esterna (secondaria) (Cap. 6, Stallings) Lezioni 5 e 6i

SISTEMI OPERATIVI. Gestione dei dischi. Gestione dei dischi e sistemi RAID

Architettura dei computer

Mari, Buonanno, Sciuto Informatica e cultura dell informazione McGraw-Hill

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca.

La memoria - tecnologie

I dischi ottici. Istituzioni di Informatica -- Rossano Gaeta 43

Strutture dei sistemi di calcolo

Gestione Errori. Nelle informazioni digitali

Comunicazioni Elettriche II

LA MEMORIA NEL CALCOLATORE

La memoria - tecnologie

Sistemi Operativi. Lezione 12 Il File System

Il Sottosistema di Memoria

static dynamic random access memory

La memoria - tecnologie

Comunicazioni Elettriche II

Lezione 12. Sistemi operativi. Marco Cesati System Programming Research Group Università degli Studi di Roma Tor Vergata.

Le periferiche. dispositivo che si trova alla periferia del calcolatore

Gestione Errori. Nelle informazioni digitali

Codifica di canale. (dalle dispense e dalle fotocopie) Trasmissione dell Informazione

Elementi di informatica

Memorie a semiconduttore

LE MEMORIE. Prof. CAPEZIO Francesco. Quest'opera è soggetta alla licenza Creative Commons Attribuzione Non Commerciale

Esercitazione E7 Prova di autovalutazione

Esame di INFORMATICA ARCHITETTURA DI VON NEUMANN. Lezione 4 ARCHITETTURA DI VON NEUMANN

Modulo 1: Le I.C.T. UD 1.4b: Anatomia del Computer

La componente tecnologica dei. sistemi informativi. Architettura hw

Architettura dei calcolatori. Architettura dei calcolatori. Cos'è un computer?

Esercizi Rappresentazione delle Informazioni

Sistemi Operativi A Parte VI - La memoria secondaria. Dischi magnetici. Nastri magnetici

Architettura dei calcolatori

Mari, Buonanno, Sciuto Informatica e cultura dell informazione McGraw-Hill 3/1/2010

La struttura delle memorie

L'architettura del processore MIPS

Corso di Informatica

Secondo biennio Articolazione Informatica Sistemi e Reti Prova Terza

Informatica. Mario Pavone - Dept. Mathematics & Computer Science - University of Catania. Trasferimento. Ambiente esterno.

Capitolo 4 Parte 1 Le infrastrutture hardware. Il processore La memoria centrale La memoria di massa Le periferiche di I/O

Architettura dei calcolatori

Le Memorie. Si distinguono per: Supporti sui quali le informazioni vengono fisicamente memorizzate.

Architettura di un calcolatore: Introduzione parte 2

Transcript:

Tecnologia Compaq SP24000, detto anche "Terabytes in a Cabinet," usa dischi da 4, 9, 18 o 36 GB fino a una capacità massima di 3.4 TB UltraSCSI Dario Maio http://www.csr.unibo.it/~maio/ dmaio@deis.unibo.it 1 Le motivazioni storiche Negli anni 80 la tecnologia degli hard disk non rispondeva adeguatamente ai problemi indotti da: requisiti applicativi di elevata capacità e scalabilità Input/Output Gap dovuto a CPU sempre più veloci Necessità di sistemi di memorizzazione affidabili Necessità di ottenere bassi costi Cominciò allora la sperimentazione di una tecnologia alternativa, che combinava dischi piccoli poco costosi in array. Nel 1988 Patterson e altri, nel lavoro A case for redundant arrays of inexpensive disks analizzano le motivazioni della tecnologia e introducono un modello per l analisi delle prestazioni delle varie tipologie di array. 2 Page 1

Prestazioni di CPU e RAM anno-1984 Legge di Bill Joy (1985): MIPS= 2 ma una CPU più veloce non basta a rendere più veloce un sistema Legge di Amdahl: ogni istruzione di CPU per secondo richiede un byte di memoria principale dunque anche la capacità di memoria deve crescere con la stessa legge Legge di Gordon Moore: transistor/chip=2anno-1964 le capacità delle RAM sono in realtà cresciute più in fretta di un fattore circa 3 rispetto alla velocità dei processori 3 Prestazioni degli HD Mentre la densità di memorizzazione fino agli anni 80 ha seguito una crescita in linea con l aumento delle capacità della RAM, le prestazioni nei grandi dischi costosi sono aumentate di meno di un 10% all anno, dipendendo fortemente dalla meccanica dei dispositivi. The Pending I/O crisis : qual è allora l impatto del miglioramento delle prestazioni di alcune parti di un sistema, lasciando le altre inalterate? Legge di Amdahl: 1 S = (1-f)+f/k S: effettivo aumento f: frazione di lavoro svolto più velocemente k: aumento di velocià apportato 4 Page 2

Esempio: legge di Amdahl Alcune applicazioni spendono il 10% in I/O. Dopo un aumento del 100% della velocità della CPU, si ha: S = 1 (1-0.9)+0.9/100 10 Osservando che rispetto a piccoli dischi poco costosi le prestazioni dei grandi dischi, in termini di I/O per secondo, sono superiori solo di un fattore 2-3, nasce l idea di costruire array di piccoli dischi, sfruttando tecniche di distribuzione dei dati e di parallelismo degli accessi. 5 Le cattive notizie: affidabilità Sia dato un array di D dischi; assumendo che ogni disco presenti lo stesso MTTF disk (Mean Time To Failure) e che i guasti siano fra loro indipendenti, si ha: MTTF disk array = MTTF disk D Esempio: MTTF disk = 30000 ore (>3 anni) D = 100 dischi MTTF disk array = 300 ore (< 2 settimane) 6 Page 3

La soluzione La soluzione più ovvia al problema della scarsa affidabilità di un array di dischi consiste nell impiego di tecniche di ridondanza. Ma la ridondanza ha anche aspetti negativi in termini di prestazioni. (Redundant Array of Inexpensive Disks) impiega: Ridondanza per aumentare l affidabilità Parallelismo e Data Striping per aumentare le prestazioni 7 Affidabilità dei (1) Si ricorre a extra check disk con informazioni ridondanti. In caso di guasto di un disco, si sostituisce ricostruendo l informazione nel nuovo disco usando la ridondanza dei check disk. Ipotesi per il calcolo dell affidabilità: Single Error Repairing Il MTTR (Mean Time To Repair) può essere ridotto disponendo di extra disk (hot standby spares) montati senza intervento umano. Guasti indipendenti, distribuzione esponenziale per il tempo fra due guasti λt λe λ=1/mttf 8 Page 4

Affidabilità dei (2) D = Numero totale dischi dati (esclusi gli extra-check disk) G = Numero dischi dati in un gruppo C = Numero check disk in un gruppo n G = D/G =Numero gruppi nel disk array MTTF Group MTTF = G+ C Disk ( Prob.diun MTTR Prob.di un altroguasto MTTF /(G Disk + 1 altroguastoin un gruppodurantel' C-1) intervallomttr ) MTTF = MTTF n G Group (D 2 (MTTF Disk ) + C n )(G + C 1) MTTR G 9 Concetti di base Richieste multiple indipendenti possono essere servite in parallelo da dischi diversi. Una singola richiesta di un numero elevato di blocchi può essere servita da più dischi che operano in maniera coordinata. La maggior parte delle organizzazioni può essere distinta in base a due caratteristiche: Granularità di inserimento dei dati Metodo e struttura con cui le informazioni ridondanti vengono calcolate e distribuite sui vari dischi 10 Page 5

Parallelismo : grana fine I dati vengono inseriti in blocchi relativamente piccoli, le richieste di I/O accedono a tutti i dischi di un gruppo. Ciò comporta data rate elevato ma basso I/O rate. Granularità idonea per applicazioni di supercomputing Durante una lettura tutti i dischi di un gruppo agiscono in parallelo, ciascuno trasferendo una porzione dei dati richiesti 11 Parallelismo: grana grossa I dati vengono inseriti in blocchi relativamente grandi, le piccole richieste vengono servite da un piccolo numero di dischi. Ciò comporta data rate basso ma elevato I/O rate. Granularità idonea per transaction processing Molteplici letture/scritture individuali avvengono in parallelo sui vari dischi di un gruppo 12 Page 6

Ridondanza e data striping Due problemi ortogonali: 1) Metodo per il calcolo delle informazioni ridondanti: parità, codici di Hamming, codici di Reed-Solomon, 2) Schema di distribuzione, ai due estremi: 2a) concentrazione delle informazioni ridondanti in un numero piccolo di dischi 2b) distribuzione uniforme su tutti i dischi, che consente in generale un bilanciamento del carico fra i dischi 13 0 : Non - Redundant Non è una vera architettura, infatti non mantiene ridondanza e consente solo data striping, a livello di blocco o multipli di blocco. Presenta il minor costo fra le architetture Ha le migliori prestazioni in scrittura, non ha le migliori prestazioni in lettura L affidabilità è molto bassa Utilizzata in applicazioni di supercomputing 14 Page 7

1 : Mirrored disks D Mirrored data I dati sono mantenuti in duplice copia su dischi distinti, tutti i dischi sono duplicati (G=1 C=1) Ogni dato è posto su due attuatori indipendenti, si possono ottenere migliori prestazioni in lettura rispetto a un solo disco, tramite la tecnica seek scheduling Offre un elevata affidabilità, ma presenta il costo più elevato fra le architetture. Idonea per small DB. MTTDL (mean time to data loss) è elevatissimo: si dovrebbero guastare contemporaneamente un disco e la sua copia D Una versione ottimizzata fault tolerant prevede il raddoppio dei controller, rendendo possibili letture in parallelo 15 MTTF di 1 MTTF -1 (D 2 (MTTF Disk ) + C n )(G + C 1) MTTR G = 2 (MTTF Disk ) 2 D MTTR Esempio: D=100, MTTF Disk = 30000 ore, MTTR = 1 ora MTTF -1 = 4500000 ore > 500 anni Num. Totale dischi = 2D Costo aggiuntivo = 100% Capacità di memoria utile = 50% 16 Page 8

0+1 ( 1+0) Nella configurazione 0+1 (stripe of mirrors) i dati sono distribuiti su insiemi di dischi in duplice copia; Nella configurazione 1+0 (mirror of stripes) i dati sono distribuiti su un array di dischi che viene completamente duplicato su uno o più array di dischi. Ottima affidabilità e buone prestazioni in accesso ma costi elevati 17 2: Memory-Style ECC G C Architettura non diffusa commercialmente. Striping a livello di bit, unico movimento parallelo delle testine. Uso di codici di Hamming per rilevare e correggere un errore. Il numero di dischi ridondanti in un gruppo è circa proporzionale al logaritmo del numero di dischi dati nel gruppo: Es. G=10, C=4; G=25,C=5; Nei dischi ridondanti viene inserita la parità calcolata sui diversi sottoinsiemi dell informazione. Un unico disco di parità può rilevare un singolo errore, ma per correggere un errore sono necessari più dischi di parità per identificare il disco con l errore. Small I/O richiedono tutti i dischi di un gruppo; dunque non idoneo per transaction processing. Il massimo parallelismo di transazioni è pari a D/G. Large I/O richiede almeno G settori; appropriato per supercomputer. 18 Page 9

A0 A1 A2 A3 B0 B1 B2 B3 2 (striping at bit level) C0 C1 C2 C3 D0 D1 D2 D3 4 transfer units Data Disk 1 Data Disk 2 Data Disk 3 Data Disk 4 A0 B0 C0 D0 A1 B1 C1 D1 A2 B2 C2 D2 A3 B3 C3 D3 Check Disk 5 A ECC0 B ECC0 C ECC0 D ECC0 Check Disk 6 A ECC1 B ECC1 C ECC1 D ECC1 Check Disk 7 A ECC2 B ECC2 C ECC2 D ECC2 19 Esempio: D=100, G=10, C=4, MTTF Disk = 30000 ore, MTTR = 1 ora MTTF -2 MTTF di 2 2 2 (MTTF Disk ) (MTTF Disk ) = (D + C n )(G + C 1) MTTR 1.4 D 13 * MTTR = 494500 ore > 50 anni Num. Totale dischi = 140D Costo aggiuntivo = 40% Capacità di memoria utile = 71% G = Con G= 25, C=5 si ha MTTF -2 = 130500 ore = circa 12 anni Num. Totale dischi = 120 Costo aggiuntivo = 20% Capacità di memoria utile = 83% 20 Page 10

3: Bit-Interleaved Parity Striping a livello di bit, unico movimento parallelo delle testine. Uso di un solo disco di parità. I disk controller identificano il disco guasto, così un solo disco di parità è sufficiente per ricostruire l informazione in un gruppo. Le read accedono a tutti i dischi dati di un gruppo, le write accedono a tutti i dischi dati e al disco di parità. Fornisce prestazioni in lettura inferiori agli schemi che distribuiscono la parità uniformemente sui dischi. Viene usata in applicazioni che richiedono larghezza di banda ma non moltissime operazioni di I/O. 21 A0 A1 A2 A3 B0 B1 B2 B3 3 (bit-interleaved parity) C0 C1 C2 C3 D0 D1 D2 D3 4 transfer units Data Disk 1 Data Disk 2 Data Disk 3 Data Disk 4 A0 B0 C0 D0 A1 B1 C1 D1 A2 B2 C2 D2 A3 B3 C3 D3 Check Disk 5 A ECC B ECC C ECC D ECC La parità è calcolata per un intera unità di trasferimento 22 Page 11

Esempio: D=100, G=10, C=1, MTTF Disk = 30000 ore, MTTR = 1 ora MTTF -2 MTTF di 3 2 2 (MTTF Disk ) (MTTF Disk ) = (D + C n )(G + C 1) MTTR 1.1 D 10 * MTTR = 820000 ore > 90 anni Num. Totale dischi = 110 Costo aggiuntivo = 10% Capacità di memoria utile = 91% G = Con G= 25, C=1 si ha MTTF -2 = 346000 ore = circa 40 anni Num. Totale dischi = 104 Costo aggiuntivo = 4% Capacità di memoria utile = 96% 23 Esempio di Even-Parity Se il disco 2 si guasta, il Bit 0 del dato mancante si determina risolvendo: 1+x+0+1=y con y dispari, essendo pari a 1 il valore di parità del Bit 0. In questo caso il Bit 0 sul disco 2 deve essere pari a 1. Binary Value of Data Drive Data Value Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 1 135 1 0 0 0 0 1 1 1 2 11 0 0 0 0 1 0 1 1 3 96 0 1 1 0 0 0 0 0 4 157 1 0 0 1 1 1 0 1 Sum of bits Even Odd Odd Odd Even Even Even Odd Parity Values 0 1 1 1 0 0 0 1 24 Page 12

4: Block-Interleaved Parity Striping a livello di blocco, testine indipendenti. Uso di un solo disco di parità. Piccole letture richiedono l accesso a un solo disco dati. Piccole scritture richiedono 4 I/O: due per leggere il vecchio dato e la vecchia parità, due per scrivere il nuovo dato e aggiornare la parità. Il collo di bottiglia rimane il disco di parità. Risultati di affidabilità, costo, capacità effettiva uguali a quelli del livello 3. Il ciclo di small read-modify-write è ancora troppo lento rispetto a 1; dunque non sempre idoneo per transaction processing. Idoneo per ambienti che richiedono molte simultanee piccole letture. Il calcolo della parità è più semplice rispetto a 3, infatti noti il vecchio valore del dato e vecchio valore della parità, il nuovo valore della parità si ottiene: new parity =(old data xor new data) xor old parity 25 4 (block-interleaved parity) A0 A1 A2 A3 B0 B1 B2 B3 C0 C1 C2 C3 D0 D1 D2 D3 4 transfer units Data Disk 1 Data Disk 2 Data Disk 3 Data Disk 4 A0 A1 A2 A3 B0 B1 B2 B3 C0 C1 C2 C3 D0 D1 D2 D3 ECC0 ECC1 ECC2 ECC3 Check Disk 5 La parità è calcolata ora per pezzi di un intera unità di trasferimento 26 Page 13

5 (Block-Interleaved Distributed Parity) Striping a livello di blocco, e parità distribuita su tutti i dischi; testine indipendenti. Rispetto a 3 si riduce il collo di bottiglia in quanto scritture indipendenti concorrenti non sempre richiedono di accedere allo stesso disco per la parità. Hanno prestazioni migliori per grandi letture, piccole letture e grandi scritture; le piccole scritture sono inefficienti rispetto allo schema di mirroring, in quanto è necessario usare il ciclo letturamodifica-scrittura per aggiornare la parità. Idoneo per applicazioni di calcolo e per elaborazione di transazioni interattive. Risultati di affidabilità, costo, capacità effettiva uguali a quelli dei livelli 3 e 4. 27 4 Prestazioni 4 e 5 a confronto check disk 5 1 2 3 4 5 1 2 3 4 5 S0 W W S0 W W S1 W W S1 W W S2 S2 S3 S3 S4 S4 S5 S5 Write S0 su disco 2 e Write S1 su disco 3 implicano rsipettivamente Write S0 su disco 5 e Write S1 su disco 5 Non c è collo di bottiglia su disco 5 28 Page 14

Left-Symmetric Parity Distribution 1 2 3 4 5 6 7 8 9 a1 b2 c3 d4 a2 b3 c4 d5 a3 b4 c5 d6 a4 b5 c6 d7 a5 b6 c7 d8 a6 b7 c8 pd a7 b8 pc d1 a8 pb c1 d2 pa b1 c2 d3 pa calcola la parità delle stripe a1-a8 pb calcola la parità delle stripe b1-b8. 29 6: P+Q Redundancy Striping a livello di blocco, e parità distribuita su tutti i dischi; testine indipendenti. Tolleranza fino a 2 guasti, utilizzando codici di Reed - Solomon. Hanno prestazioni comparabili con 5, ma piccole scritture richiedono 6 operazioni di I/O. Affidabilità superiore a 5, costi superiori a 5. D1 D2 D3 D4 D5 D6 dischi 0 6 P2 1 7 Q2 2 P1 8 3 Q1 9 P0 4 10 Q0 5 11 stripe codice R-S 12 13 14 15 P3 Q3 18 19 P4 Q4 16 17 parità 30 Page 15

Codici di Reed-Solomon Un codice di Reed-Solomon è specificato come RS(n,k) con simboli di s bit. Ciò significa che il codificatore prende k simboli dati di s bit ciascuno e aggiunge simboli di parità per costruire una parola codice di n simboli. Vi sono n-k simboli di parità di s bit ciascuno. Il decodificatore può correggere fino a t simboli che contengono errori in una parola codice, essendo 2t = n-k. I codici RS sono un sottoinsieme dei codici BCH. Alla base la matematica dei campi di Galois. L informazione da memorizzare è vista come un polinomio che moltiplicato per un polinomio generatore genera la parola codice. 31 Esempio di codice RS RS(255,223) con simboli di 8 bit. Ogni parola codice contiene 255 byte, di cui 223 sono dati e 32 sono parità. In questo esempio: n = 255, k = 223, s = 8 2t = 32, t = 16 Il decodificatore può correggere errori fino a 16 byte nella parola codice. Dato un simbolo di dimensione s, la lunghezza massima di parola codice è pari a n = 2 s 1 Nell esempio infatti n = 2 8 1=255 32 Page 16

3+0, 0+3, 5+0, 0+5 Combinano rispettivamente le tecniche di parità tipiche del livello 3 o del livello 5 con le tecniche di distribuzione del livello 0. Presentano costi elevati, ma beneficiano del parallelismo d accesso ai dischi di parità. Esistono anche altre combinazioni di livelli. Non tutte le combinazioni sono possibili. 33 Nuove tendenze 34 Page 17

Riferimenti bibliografici http://www.pcguide.com/ref/hdd/perf/raid/ http://www.dell.com/us/en/biz/topics/ vectors_1999-raid.htm http://www.fibrechannel.com/ 35 Page 18