PARALLELISMO NELLE MEMORIE PERMANENTI



Documenti analoghi
Redundant Array of Inexpensive (Independent) Disks. Disco magnetico

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

Sistemi Operativi GESTIONE DELLA MEMORIA SECONDARIA. D. Talia - UNICAL. Sistemi Operativi 11.1

Sistemi Operativi. Memoria Secondaria GESTIONE DELLA MEMORIA SECONDARIA. Struttura del disco. Scheduling del disco. Gestione del disco

Sistemi RAID. Sistemi RAID. Sistemi RAID

Sistemi RAID. Sistemi RAID

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

Dischi RAID (Redundant Array of Inexpensive Disks)

Calcolatori Elettronici

Sistemi avanzati di gestione dei Sistemi Informativi

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

Sistemi RAID. Corso di Calcolatori Elettronici. Feragotto Elena

Architettura hardware

La memoria centrale (RAM)

LA TRASMISSIONE DELLE INFORMAZIONI QUARTA PARTE 1

Un metodo per il rilevamento degli errori: la tecnica del Bit di Parità

Memoria Esterna (secondaria) n Materiale usato per il disco: era in alluminio n Ora è di vetro, perché Migliora l uniformità della superficie

Architettura dei computer

Corso di Informatica

Memoria secondaria. Sistemi Operativi mod. B 14.1

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

Più processori uguale più velocità?

4. Operazioni elementari per righe e colonne

Appunti di Enterprise Digital Infrastructures

Introduzione. Classificazione di Flynn... 2 Macchine a pipeline... 3 Macchine vettoriali e Array Processor... 4 Macchine MIMD... 6

Dimensione di uno Spazio vettoriale

Corso di Laurea in Informatica Architetture degli Elaboratori

Reti sequenziali sincrone

4 3 4 = 4 x x x 10 0 aaa

Calcolatori Elettronici. La memoria gerarchica La memoria virtuale

Gestione della memoria centrale

Informazione analogica e digitale

Architettura del calcolatore

Architettura di un calcolatore

Siamo così arrivati all aritmetica modulare, ma anche a individuare alcuni aspetti di come funziona l aritmetica del calcolatore come vedremo.

Capitolo 13. Interrogare una base di dati

Architetture Applicative

I componenti di un Sistema di elaborazione. CPU (central process unit)

CPU. Maurizio Palesi

Memorizzazione dei dati: Dischi e File

Architettura dei calcolatori II parte Memorie

Gerarchia delle memorie

Comparatori. Comparatori di uguaglianza

Safety Speed Monitoring. Considerazioni sui sensori in applicazioni per il controllo della velocità di sicurezza

Quinto Homework. Indicare il tempo necessario all'esecuzione del programma in caso di avvio e ritiro fuori ordine.

Calcolatori Elettronici

Laboratorio di Informatica

ARCHITETTURA DI RETE FOLEGNANI ANDREA

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

Elementi di Psicometria con Laboratorio di SPSS 1

Circuiti amplificatori

PROCEDURA INVENTARIO DI MAGAZZINO di FINE ESERCIZIO (dalla versione 3.2.0)

Sistemi di Servizio e Simulazione

Codici a barre. Marco Dell Oro. January 4, 2014

Analisi e diagramma di Pareto

Relazioni statistiche: regressione e correlazione

Gestione della memoria secondaria. Marco Cesati. Schema della lezione. File system annotati. Il disco magnetico. Prestazioni dei dischi

Assemblare un pc Lezione n. 14. Introduzione

Considerazioni sui server

Materiali per il modulo 1 ECDL. Autore: M. Lanino

Valutazione delle Prestazioni. Valutazione delle Prestazioni. Architetture dei Calcolatori (Lettere. Tempo di risposta e throughput

Università degli Studi di Cassino Corso di Fondamenti di Informatica Codifica di dati e istruzioni. Anno Accademico 2010/2011 Francesco Tortorella

C. P. U. MEMORIA CENTRALE

Informatica 3. LEZIONE 21: Ricerca su liste e tecniche di hashing. Modulo 1: Algoritmi sequenziali e basati su liste Modulo 2: Hashing

CALCOLATORI ELETTRONICI A cura di Luca Orrù. Lezione n.7. Il moltiplicatore binario e il ciclo di base di una CPU

Strutturazione logica dei dati: i file

Informatica - A.A. 2010/11

La selezione binaria

Rappresentazione delle informazioni

SISTEMI E RETI. Crittografia. Sistemi distribuiti e configurazione architetturale delle applicazioni WEB.

Tecniche per il progetto di sistemi elettronici tolleranti ai guasti

Antonella Martinucci, Rossana Nencini, 2013 IL PESO. classe quarta

Le tecniche di ridondanza

Calcolatore Energetico

Introduzione all'architettura dei Calcolatori

Memoria Secondaria o di Massa

STRUTTURE DEI SISTEMI DI CALCOLO

Lezione 8. La macchina universale

Carichi unitari. Dimensionamento delle sezioni e verifica di massima. Dimensionamento travi a spessore. Altri carichi unitari. Esempio.

Complemento al corso di Fondamenti di Informatica I corsi di laurea in ingegneria, settore dell informazione Università la Sapienza Consorzio Nettuno

Corso di Informatica Generale (C. L. Economia e Commercio) Ing. Valerio Lacagnina Rappresentazione in virgola mobile

Architettura della CPU e linguaggio assembly Corso di Abilità Informatiche Laurea in Fisica. prof. ing. Corrado Santoro

Filesystem e Dischi. Problemi e soluzioni. Federico Amedeo Izzo. federico.izzo42@gmail.com

Transcript:

PARALLELISMO NELLE MEMORIE PERMANENTI

Struttura di un data server CPU memoria centrale memorie permanenti (dischi) rete PC server altre reti memorie permanenti 2

Qualità di un data server velocità della CPU capacità e velocità della memoria centrale ( o memoria principale) capacità e velocità delle memorie permanenti (...o memorie secondarie) si tende ad enfatizzare le prime due mentre per noi la più importante è la terza! perché condiziona la velocità del servizio nelle applicazioni gestionali memorie permanenti 3

Qualità di un data server La qualità della CPU, a parità di tecnologia elettronica costruttiva, si misura in velocità del clock (es. in Ghz) e in numero di bit dei registri (32-64) le prestazioni generali tendono e migliorare di circa 1.5 volte ogni anno (negli ultimi anni) i costi sono in forte calo (a parità di prestazioni) memorie permanenti 4

Qualità di un data server secondo la legge di Amdahl: speedup = 1 / [ (1-f) +f/k ] [ f= tempo usato dalla CPU e k= speedup CPU ] tenendo ferma la tecnologia delle memorie permanenti, se le operazioni di I/O incidono per un 10% (f=0.9), aumentando la velocità della CPU di un fattore k=10 si avrebbe un miglioramento delle prestazioni del server di un fattore 5; aumentando di un fattore 100 si avrebbe un miglioramento di solamente 10 ciò giustifica lo sforzo dell industria per adeguare le prestazioni delle memorie permanenti memorie permanenti 5

Struttura di un disco rigido traccia settore superficie cilindro testina braccio asse di rotazione memorie permanenti 6

parallelismo e sicurezza Disk Mirroring: dischi con dati replicati letture indipendenti scritture su entrambi aumentando il numero di dischi aumenta la probabilità di averne uno guasto diminuisce la probabilità di perdita dei dati dovuta al guasto contemporaneo ridondanza eccessiva è da evitare ma la ridondanza è utile! memorie permanenti 7

dischi RAID Redundant Array of Inexpensive Disks architettura che migliora le prestazioni e/o l affidabilità del sistema di mem. permanente l uso di N dischi consente di suddividere i dati in piccoli blocchi da scrivere e leggere in parallelo L introduzione di informazioni ridondanti consentono la correzione di errori dovuti a guasti memorie permanenti 8

Parallelismo nei dischi Il parallelismo è ottenuto grazie a due tecniche di base: STRIPING: ciascun blocco è scritto contemporaneamente su tutti i dischi con un movimento sincrono delle testine (ogni blocco viene così distribuito byte per byte o addirittura bit per bit sui vari dischi) DECLUSTERING: ciascun blocco è scritto intero su di un disco, blocchi successivi di uno stesso file sono scritti in parallelo ed in maniera indipendente sui vari dischi memorie permanenti 9

Dischi RAID servizio parallelo indipendente per letture brevi per più utenti (parallelismo inter-query) declustering servizio parallelo per letture lunghe per lo stesso utente (parallelismo intra-query) striping RAID 0: nessuna ridondanza RAID 1: mirroring massima ridondanza RAID 2-3: bit di controllo o di parità su dischi dedicati; prevede unico movimento parallelo delle teste (striping) RAID 4: prevede un disco dedicato per l informazione ridondante di parità RAID 5: l informazione di parità viene distribuita ciclicamente sui vari dischi memorie permanenti 10

RAID 0 1 2 3 4 N b0 b1 b2 b3 bn bn+1 bn-1 I blocchi di un file sono distribuiti ciclicamente sui vari dischi Con N dischi si ha un incremento di un fattore N delle prestazioni in lettura e scrittura grazie al parallelismo delle operazioni Non c è ridondanza quindi non c è tolleranza ai guasti (la rottura di un disco comporta la perdita di tutti i suoi dati) memorie permanenti 11

RAID 1 1 1 2 2 N b0 b0 b1 b1 bn bn bn-1 bn-1 Ciascun disco ha un gemello (mirror) e ciascun blocco viene quindi scritto su due dischi Per ogni coppia di gemelli sono possibili una scrittura o due letture indipendenti in parallelo C è massima ridondanza (tutti i dati sono duplicati) ed elevata tolleranza ai guasti N memorie permanenti 12

Uso della parità Concetto di parità: dati 8 bit + un nono bit di parità calcolato come la somma modulo 2 dei bit di dati (0 se il numero di 1 nel byte è pari altrimenti è 1) 0 0 1 0 1 1 0 1 0 1 0 1 1 0 1 1 0 1 se un bit si inverte la parità non torna quindi si sa che c è un bit errato (però non si sa qual è) nel RAID 4 i bit di parità stanno tutti sul nono disco memorie permanenti 13

Uso della parità (RAID 4) 1 2 3 4 5 6 7 8 P Se un disco si guasta il controller se ne accorge e l informazione viene ricostruita con la parità: 0 0 1 0 x 1 0 1 0 poiché la parità è 0 il bit era 1 1 0 0 1 x 1 1 0 1 poiché la parità è 1 il bit era 1 01 10x 001 1 poiché la parità è 1 il bit era 0 Il RAID 4 ha un eccesso di letture e scritture sul nono disco memorie permanenti 14

RAID 5 1 2 3 4 5 6 7 8 9 Il RAID 5 ha 1 solo disco in più ma parità e dati sono distribuiti ciclicamente su tutti: un blocco di dati viene memorizzato sui dischi da 1 a 8 e la parità sul 9, un secondo blocco dati viene memorizzato sui dischi da 9 a 7 e la parità sul 8. Il RAID 6 ha 2 dischi in più ma l informazione è codificata con il codice Reed Solomon e riesce a correggere due guasti memorie permanenti 15

RAID 5 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 disposizione Left Symmetric memorie permanenti 16

analisi della affidabilità Ipotesi: i guasti nei vari dischi sono indipendenti fra loro la possibilità di guasto è invariante nel tempo distr. Exp. Intervallo fra 2 guasti le grandezze di interesse sono : MTTF: mean time to failure MTTR: mean time to repair MTTDL: mean time to data loss memorie permanenti 17

affidabilità di un array di componenti uguali Per un componente: Pr[guasto al tempo x=t] = λ exp(- λt) MTTF C = E[x] = 1/ λ Per un array di N componenti: Pr[1 guasto al tempo x=t] = N λexp(- λt) MTTF A = E[x] = 1/ (Nλ) = MTTF C / N memorie permanenti 18

analisi della affidabilità RAID 0 (poco affidabili): MTTF RAID0 = MTTF DISCO / N = MTTDL Es.: MTTF DISCO = 30000 h > 3 anni con 100 dischi: MTTF RAID0 = 30000/ 100 = 300 h 2 sett. con 8 dischi : 3759 h 22 sett. memorie permanenti 19

analisi della affidabilità RAID 1 - array di 2N dischi MTTF RAID1 = MTTF(primo guasto) / Pr[secondo guasto entro MTTR] Pr[secondo guasto entro MTTR] = 1-exp(-MTTR/MTTF DISCO ) MTTR/MTTF DISCO MTTF RAID1 =MTTF DISCO /(2N) MTTF DISCO /MTTR memorie permanenti 20

analisi della affidabilità RAID 1 (molto affidabili): MTTF RAID1 = (MTTF DISCO ) 2 /(2 N MTTR) MTTF(primo guasto) è basso (es. con 16 dischi : 11 sett. ) ma MTTDL= MTTF RAID1 è elevatissimo: si dovrebbero guastare contemporaneamente un disco e la sua copia per perdere dati! memorie permanenti 21

analisi della affidabilità RAID 5 - array di N dischi MTTF RAID5 = MTTF(primo guasto) / Pr[secondo guasto entro MTTR] Pr[secondo guasto entro MTTR] = [1-exp(-MTTR/MTTF DISCO )] (N-1) (MTTR/MTTF DISCO ) (N-1) MTTF RAID5 =MTTF DISCO /N MTTF DISCO /(MTTR (N-1)) memorie permanenti 22

analisi della affidabilità RAID 5 (molto affidabili): MTTDL RAID5 = Es.: (MTTF DISCO ) 2 / (N (N-1) MTTR) con 9 dischi e MTTR = 24 h : 60 anni molto inferiore al RAID 6 ma molto superiore ai dischi SLED (single large expensive disk) memorie permanenti 23

Impiego dei RAID nei server Esistono anche altre organizzazioni RAID oltre alla 5 (es. RAID6, RAID7, RAID10, RAID53, RAID0+1, RAID1+0) L organizzazione RAID5 (detta anche il mirroring dei poveri ) è molto usata, assieme al RAID6, in quanto sono ottimi compromessi fra prestazioni, affidabilità e complessità realizzativa memorie permanenti 24

correzione degli errori (RAID6) CODICI A RILEVAZIONE E CORREZIONE DI ERRORE Data una parola binaria C = (c 1,c 2,...,c k ) (dove ogni c i è un bit) è possibile effettuare un controllo di presenza di errore aggiungendo un bit c k+1 in modo tale che: c 1 c 2... c n c k+1 = 0. dove indica la somma modulo 2. c k+1 si chiama bit di parità poiché se i bit a 1 in C sono in numero pari c k+1 è = 0, altrimenti e' =1. Se la parità non torna vuol dire che almeno un bit èerrato. memorie permanenti 25

correzione degli errori Questo sistema intercetta, quindi, tutti le C con un bit errato senza però dire quale è. Gli errori su più bit possono compensarsi. Esistono sistemi migliori che però usano più bit di ridondanza per il controllo degli errori. Un codice binario lineare C(n,k) è un sottospazio di dimensione k dello spazio vettoriale {0,1} n di tutte le parole binarie di lunghezza n. I 2 k elementi di C(n,k) sono chiamati parole di codice (codewords) ed in generale possono essere scritte come: C = (c 1,c 2,...,c n ), dove ogni c i è un bit. memorie permanenti 26

correzione degli errori Un codice binario lineare C(n,k) puo' essere descritto da un sistema di m= n-k equazioni lineari indipendenti. La matrice H, (n-k) n, di questo sistema e' chiamata check matrix del codice. Se H e' la check matrix di C(n, k), allora ogni codeword C ha la propieta' che : HC T = 0 T (dove l'apice T indica la trasposizione e le operazioni interne al prodotto di matrice sono booleane: somma e prodotto logico ). memorie permanenti 27

correzione degli errori In generale, per ogni parola A in {0,1} n la parola : y = (y 1,y 2,...,y m=n-k ), data da: y T = HA T, è chiamata sindrome di A. A causa della dimensione m di y, il numero di possibili sindromi è 2 m. Se la sindrome corrisponde al numero 0 in codifica binaria allora la parola è corretta (appartiene al codice), altrimenti il numero binario espresso da y dà la posizione del bit errato. Se i bit errati sono più di uno si rileva soltanto che C è in errore ma non si è in grado di correggerla. memorie permanenti 28

correzione degli errori Consideriamo una matrice di m righe, allora n= 2 m -1 sono le colonne per avere un sistema di equazioni lineari indipendenti costruite in modo da non avere mai due colonne la cui somma termine a termine dia sempre 0. Ad esempio: per m=3 (k=4), ed n= 2 3-1=7 si può avere una matrice H semplicemente enumerando tutti i possibili numeri di m bit (escluso lo 0): 0 0 0 1 1 1 1 H = 0 1 1 0 0 1 1 1 0 1 0 1 0 1 memorie permanenti 29

correzione degli errori supponiamo di voler memorizzare il dato (di k=4 bit) 1 1 0 0 e di prendere come bit di controllo per la parola C da codificare i bit c 1, c 2 e c 4 allora : C= c 1, c 2, 1, c 4, 1, 0, 0 calcoliamo adesso c 1 verificando la regola di parità con l'ultima riga H(3) di H : H(3)C T =c 1 0 1 0 1 0 0 = 0 quindi c 1 =0, H(2)C T = 0 c 2 analogamente, 1 0 0 0 0 = 0 quindi c 2 =1 e H(1)C T = 0 0 0 c 3 1 0 0 = 0 quindi c 3 =1 C diventa quindi : 0 1 1 1 1 0 0 memorie permanenti 30

correzione degli errori Nel caso in cui un bit diventi errato, ad esempio il 5 o, C' diventa 0 1 1 1 0 0 0, la moltiplicazione HC' T dà una sindrome (1 0 1) che corrisponde in H alla 5 a colonna e quindi è errato il quinto bit. Quindi H ci avverte che il 5 o bit è errato e può essere corretto invertendolo! Scambiando le colonne il sistema non cambia di significato, le H ed i bit di controllo sono diversi e la sindrome è diversa ed indica che è sbagliato il bit corrispondente alla colonna di H uguale alla sindrome memorie permanenti 31

correzione degli errori È importante notare che i tre bit ridondanti ( di parità) c 1, c 2 e c 4 sono stati scelti in corrispondenza delle colonne di H di peso 1, H può essere riscritta per maggior chiarezza come: 0 0 1 0 1 1 1 1 0 0 1 1 0 1 H = 0 1 0 1 0 1 1 o 0 1 0 1 0 1 1 1 0 0 1 1 0 1 0 0 1 0 1 1 1 dove la parte 3 3 iniziale della matrice e' a diagonale unitaria. Tre bit di parità servono quindi per il controllo di informazioni di 4 bit. memorie permanenti 32

correzione degli errori Il tipo di codice si chiama codice Hamming (7,4). In generale il codice Hamming è(n,k),con n=2 m -1 e k=2 m -1-m. Il codice Hamming è uno dei più semplici, ne esistono di molto più complessi che offrono prestazioni superiori per la rilevazione e la correzione di errori (il codice Reed-Solomon usato nel RAID6 è uno di questi). memorie permanenti 33