ci212 — E/S (i): discos 2007-1 Entrada e Saı́da • Tipos e Caracterı́sticas de Dispositivos • Arquitetura do Sistema de E/S • Discos ∗ Mecanismo, componentes de gravação e de posicionamento ∗ Controlador ∗ RAID • Redes, barramentos, vazão e latência • dispositivos, interfaces com CPU e com Sist Operacional • Desempenho e projeto UFPR Depto de Informática 1 ci212 — E/S (i): discos 2007-1 Caracterı́sticas dos Dispositivos • Comportamento ∗ entrada (lê uma vez só) ∗ saı́da (escreve uma vez só) ∗ armazenagem (lê muitas vezes, também escreve) • contra-parte ∗ humano ∗ computador • taxa de transferência ∗ taxa de pico ∗ taxa sustentada (sustentável em condições “normais”) UFPR Depto de Informática 2 ci212 — E/S (i): discos 2007-1 Tipos de Dispositivos dispositivo comportamento parceiro taxa [b/s] teclado entrada humano 10 mouse entrada humano 20 scanner entrada humano 400 K monitor gráfico saı́da humano 60 M rede local E/S computador 0.5-10 M fita armazenagem computador 2M disco armazenagem computador 2-10 M UFPR Depto de Informática 3 ci212 — E/S (i): discos 2007-1 Classes de Periféricos • Lentos e Preguiçosos: ∗ teclado – 10 caracteres por segundo ∗ mouse – 30 caracteres por segundo • Rápidos e Gulosos: ∗ disco rı́gido – 512 bytes em 0.2ms (≈2 Mbytes/s) ∗ interface de rede – 1024 bytes em 0.1ms (≈10 Mbytes/s) ∗ controlador de vı́deo – 30 Kbytes em 1ms (≈30 Mbytes/s) • Tratamento diferente para as duas classes ∗ periféricos lentos podem esperar ∗ periféricos rápidos devem ser prontamente atendidos ∗ tratamento de grandes volumes é mais complexo que o de caracteres individuais UFPR Depto de Informática 4 ci212 — E/S (i): discos 2007-1 Arquitetura do Sistema de E/S processador Hierarquia de vias: largura de banda é menor a medida em que desce na hierarquia barramentos distintos em cada nı́vel Processamento de E/S: controlado por programa ADM processadores de E/S cache qqqqqqq qqq qq barr de memória ppp pp pp ppp p p pp memória ponte barramento de E/S rede qqqqqqqqqqqqqqqqq q qqqqq qqqqqqqqqqqqqqqqq qqqqqqqqqqqqqqqqqqqqqqqqqqqqq qqqqqqqqqq qqqqqqqqqqqqqqqqqqqq qqqqqq qqqqqqqqqqqq qqqqqqqqqqqq qqqqqqqqqq qqqqqqqqqq qqqqqqqqqqq UFPR Depto de Informática 5 ci212 — E/S (i): discos 2007-1 Vazão e Latência Vazão: taxa de transferência [bytes/segundo] depende de: • largura da via (largura do barramento: 8, 32 ou 256 bits) • taxa de sinalização (velocidade do relógio) • tipo de sinalização (sı́ncrona ou assı́ncrona) Latência: lapso entre comando e resposta [segundo] depende de: • tipo de sinalização (sı́ncrona ou assı́ncrona) • tipo dos dispositivos (memória, disco, mouse) • organização (mapeamento de endereços, segmentação do caminho) UFPR Depto de Informática 6 ci212 — E/S (i): discos 2007-1 Entrada e Saı́da • Tipos e Caracterı́sticas de Dispositivos • Arquitetura do Sistema de E/S • Discos ∗ Mecanismo, componentes de gravação e de posicionamento ∗ Controlador ∗ RAID • Redes, barramentos, vazão e latência • dispositivos, interfaces com CPU e com Sist Operacional • Desempenho e projeto An introduction to Disk Drive Modeling, Ruemmler & Wilkes, IEEE Computer 27(3):17-28, Mar 1994 UFPR Depto de Informática 7 ci212 — E/S (i): discos 2007-1 E/S e Computação E/S concorre com computação de maneiras complexas req de E/S usuário P1 ppp ppp ppp req de E/S P2 ppp ppp ppp interrupção P3 SO p pp pp pp pp p p ppp p p p pppppppppp pronto E/S p pp pp p pp pp pp ppp p ppppppppppp ppp ppp ppp p p p p p p p p p p p p p ppppppppppp p pp p p p p p p pp p p p pp pp p p p p p p p p p p p p p p p P1 pppppppppp pppp p p p p ppp ppp pp pronto Ttarefa = Tcpu + TE/S − Tconcorr UFPR Depto de Informática 8 ci212 — E/S (i): discos 2007-1 Discos Magnéticos setor pp braço cabeça pp p ppp ppp ppp ppp ppp ppppppp ppp pp eixo cilindro p ppp rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr ppp rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrpppppppppppppppppppppppppppppppppppppp rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr ppp rrrrrrrrrrrrrrrrrrrrrrrr p p p p p p p p p p p p p pp p p p p p p p p pp p p p p p pp p p p pp r p p p p p p p p p pp p p p p p ppppppppppppppppppp rrrrrrrrrrrrrrrrrrrrrrrrr rrrrrrrprprprprrr pppppppppppppppppppppppppppppppppppp ppppppp r r r r r r r r p pp pp ppp pp ppp r r r ppppppp pp rrrrrrrrrrrrr rrrrrrr ppp ppppppppppppppppppppp r r r r r pp p p p p p p rrrrr rrr pp p p pp rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr r r r r r r r r r r r r r r r r r r r r r r r r r r r r pppp pp pp rrr r r r r r r r r r r r r r r r r r rrrrr pp pppp p r r rrrrrrrrrrrrrr p rrrrrrrrrrrrrr rrr pppp rrrrrrrrrrrrrrrrrrrrrrrrrrrr pppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp rrrrrrrrrrrrrrrrrrrrrrrrrrrrr ppppp rrrr rr p p pp p pp p pp pp pp pp r pp p rrrrrr rrr p pp p pp p p p pppppppppppp rrrrrrprprprrprprprrrr rrrrr rrrr rrrrrrrrrprprprprprp pp p ppppppppppppppppppppp p p rrrrrrr p p p p p p p p r p p p p r rrrr p ppp pp pp rrrr pp pp p p p p rrrrrrrrrrrrrrrrrrrrrrprrrrrrrrrrrrrrrrrrrrrrr rrrrr rrrrrrrpprrprprprprprrr pppppppppppppppprprprprprprprprprprrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr pppppppppppppppppppppppppppppppppppp rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrprprprprprprprprpppppppppppppppp p rrrprprprprprprprrrrrr rrrrr pppppppppppppppppppppppppppppppppppppppppppppppppppp rrrrrrrrrrrrrrrrrrrrrr pp rr pp rrrr pppp rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr ppppppppppppppppppppppppppppppp pppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp rr ppppppppppppppppp ppppppppppppppppppppppppppppppppppppppppppppp ppppppppppppppppp rrrrrrrrrrrrrr rrrrrrrrrr pp rrr rrprpprrrrrrr pppp pppppprprprprprprprprrrrrrrrrrrrrrrrrr rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrppprrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrpppppppppppppppppppp pp prrprprprrprprrrrrrr rrrrrr rrrr rrrrrrr pppp p p pp ppppppppp p ppppp ppppp rrrrrrrr rrrrrrr pp p ppppp pp ppppppppp pp ppppp rrrrrr rrrrr ppp rrr rrrrrprprprrprprprrrrrr ppppppppppppppppppppppppp pppppppppppppp rrrrrrrrrrrrrrrrrrrprrppp rr p p p p p p p p rrrrr p ppp rrrrrrrrrrrrrrrrrr ppppppppppppppppppppppppppppppppppppp p p p p p p p p p p p rrrrrrrr rrrrrrrrrrrrrrrrrrr p p p p p p pp p p p p p p p pp p p p p rrr rrr p ppppp rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrprprppppppppppppppppppppppppppppppppppppppppppppppppppppppppppprprprprrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr rrrr pp pppp pp p ppp pp rrrrrrr rrrrrrrrrrrrrrrrrrrrrrrrrrrrprrrrrrrrrrrrrrrrrrrrrrrrrrrr rrrrr p p pp pp p p pp pp pp rrrrrrr pppppppppppp pppp pp p p rrrrrrrrrrrr p p p p p p p p p p rrrrrrrrrr p p r p pp pp pp pp pp p rrrrr p pp p pp pp pp ppppprrrrrrrrrrrrrrrrrrrrrrrrrrpppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp pppppppppppppppppppppppp rrrrrrrrrrrrrrrrrrrrrrrrrrr rrrrrrrrrrrrrrrrrrrrrrrr rr pppppppppp rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrpprrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr p p ppp ppp pp p ppp pp pp pp pp prato trilha ppp pp ppp ppp ppp ppp ppp ppp pp ppppppppppppppppppppppppppp ppppppppppppppppppppppppppppppppppppppppppppppppppppppp p p p p p pppppppppp pppp pp pppppp p pp pp p p p p ppppppp p p p ppp pp ppppppppppp p p pp pp rw rw rrrrrrrrrrrrrrrrrrrrrrrrrrrpppp rw rw rw rw rw rw p pp pp p rw rw rw rw rw p rrrrrrrw rw rw rw ppp pp rw rw rw rw rw rw p p pp p rrrrrrrrrrrr pp p pp rw w rw w p ppp p rw w rw w rw w w rw rw pp rrw rw rrrrrrrr rw p pp p p p rw pp ppp rw rw rw rw rw rw rrrrrr ppp ppppp rw p p p p p ppp ppp p pp ppp pp p r r r r w r w rrrrr ppppppppp ppppppp w p pppppp rw ppp rrrw w rw w p p p p p p p p p pp p p p p p p pp p p pp p pp pp ppp p p p p p p r p p p pp p p p p r w p p p p w r p p ppp p pp ppp ppp rrprprprprprpw p p p pppp pppp p pp ppp rrrrrrr p pppppp p p p ppp pp pprrr ppppppp p p p p p p p p p p ppp pp p p rrrr p p p p p p ppp pp ppp prprprppprpppppp pppppp ppp ppp p p p pp rrr ppp ppp ~ rrr pppppp ppp pp pp p pp p pp p p p p p p p p p p pp p p p pp p p ppp pppppppp p pp ppp p p p rrr uuuuu p ppp p p p p p p p r p p p p p r p p p ppp pp ppp pp p p p p ppp pp p pp pp p p p p p p rrr r ppp uu p pp p pp ppppp ppppppp r rrrr uuuuuuuppppp pp p ppp rrr ppp pp p pp p p p p p pp ppp pp p r uuuu ppp p p ppp r p ppp r p p ppp ppp rrr p pp pp p p p p ppppp pp p p p p p pp p p p ppppppp p p pp pp pp u pp ppp ppp rr pppp ppp ppp pppp rrrrruuuuuuu pppp pp pp pppp pp rr p ppp pp p ruuuu p pp pppppp ppppppp ppp ppp p p p r p ppp rrr p ppp pp pp pp p pp ppp ppp urrr p ppp u p p p u p u p p p p r p pp u ppp ppp ppp ppp ppp uuuu rrr p pp pp ppp pppp rrr pp ppp ppp ppp ppppppppp ppppppppp p ppp ppp ppp uuuu rrr p p r r p p pppppppp ppp p ppppppp u rrr ppp ppp p u r p p p p u p p r p p u p ppp ppp r p rrr pppppppppp uuuuu ppp pp p p p ppppp pp p p p p p pp p p p pppppp p p pp ppp pp p pp r p p r p p p p p p p p r p p u p ppp pp p p p p p p p ppp p rrr ppp p uuuu ppp p r pp p p pp p p ppp u p ppp rrr ppp rrr pp p p p p p p pp ppp uuuu pppp pp p p pp pp ppp p p p p p p pp pppp rrr pp rrr pp ppp pp p p pp p p p p p p p p p p p pp p p pp p pp pp pppppp pp pp pp ppp pp p pp pp p pp ppp uuuu p ppp ppp pp p rrr ppp p pp rrr uuuu p ppp rrrr p pp ppp p p p p p p p p p p ppppp pppppppp rrrrrr p uuuu p p pp p u p p r p p u p p r p u p p p ppp ppppp rrrr ppppp ppppp rrrr ppp pp ppppppp pp rrprpp ppp ppp pp pp p pp p uuuu prprprp p p pp pp p p pp p p p p p p p p p p p p pp p p p p p p pp p p pp p pp pp pppp uuuup pppp ppppppp rrrrrrrrrr rrrrr ppppp p ppp rrrrrrr ppppp pp pp p pppppppppp rrrrrr pppppppp pppp pp rrrrrrrrr p rrrrrrr p ppp p p p pp p p p rrrrrrrrrrrrrr ppp p rrrrrrrrrr r r p ppp pp r ppp r p r r r r p r r r r p r r r r r r r r p rrrrrrrrrrrrrrrrrrrrrrrrrrrrrr pp p p p p p ppp pp pp pp pp pp p p p p pp p ppppppppppp pppp p pp p ppp pppp pp pp pp pp p p ppppppp p pp pp pp p pp p p p pp p p p p p pp p p p p p p p p p p p p p p p p p p p pp p p p p pp p p p pp p pp p pp p pp ppp ppp cabeça braço pivot Ruemmler & Wilkes, Computer Mar94 UFPR Depto de Informática 9 ci212 — E/S (i): discos 2007-1 Discos Magnéticos – Parâmetros Tı́picos Caracterı́stica mı́n máx diâmetro [polegadas] 1,0 * 3,5 capacidade formatada [GB] 4 >200 discos/pratos 1 20 6.000 25.000 setores por trilha 100 600 bytes por setor 512 4.096 5.400 15.000 0,5 ≥8 trilhas por superfı́cie velocidade [rpm] cache [MB] taxa transferência [MB/s] 2,5-5 27-40 * tamanho tı́pico (+popular) em 2004 UFPR Depto de Informática 10 ci212 — E/S (i): discos 2007-1 Discos – organização barramento SCSI rrr rrr rrr fila de requisições DMA rrr rrr rr rrr rr rrr rrrrrr rrrrrrr rrrrr rrrr pp pp p p pp p p pp p p p cache rr rrrrrr ppppppppppppp p p p p pp p p p pppppp pppppp p p p pp p pppppp p p pp p p p p p p p p pp ppppppppppppppp rrrrr rrrr rrr rrr rrr controlador controlador rrr rrrrr rrr rrr rrr pp p pp p pp p pp p pp p p pppppppppppppppp p ppp ppp pppp p p p p p ppp ppp p p pp p p ppp ppp pppp pp pppppppppppppppppp ppp p p p pp p p pp p pp acionador mecanismo rrr rr rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr rrrrrrrrrrrrrrrrrrrrrrrr rrrrrrrrrrr rrrrrr rrrrrrrrrrrr rrrrrr rr rrrr rrrr rrrrrrrrrr rrrrrrrrrr rrrrrrrrrrrrrrrrrrrr r r r r r rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr rrr discos pp p pp p pp p pp p rrrrrrrrrrrrrrr rrr rrrrrrrrrrrrrrrrr rrrrrrrrrrrrr pp p p rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr Ruemmler & Wilkes, Computer Mar94 UFPR Depto de Informática 11 ci212 — E/S (i): discos 2007-1 Mecanismo – componentes de gravação • Diâmetro: 1.0, 1.3, 2.5, 3.5 ,8 polegadas • densidade linear de gravação: 100 Kbpi • densidade de trilhas: 20 Ktpi • efeito combinado: densidade por área • velocidade 3.600, 7.200, 10.000, 15.000 [bits/inch] [tracks/inch] cresce 60% aa cresce 12% aa • uma cabeça ativa por vez, taxa de leitura ≥ 100 Mbps • conteúdo de um setor ⋆ ⋆ ⋆ ⋆ ⋆ número do setor; espaço; informação do setor com código de detec&corr de erros espaço; ··· UFPR Depto de Informática 12 ci212 — E/S (i): discos 2007-1 Mecanismo – componentes de posicionamento • Densidade é tão alta que noção de cilindro é quase irrelevante • busca consiste de ⋆ ⋆ ⋆ ⋆ ⋆ aceleração até atingir 1/2 Vmáx Vmáx em distâncias longas desaceleração até trilha desejada estabilização da cabeça sobre a trilha (1-3 ms) seeks longos: T ∝ distância (@Vmáx) √ ⋆ seeks médios: T ∝ distância • recalibrar posição a cada 15-30 min, durante 500-800 ms • acompanhamento de trilhas ⋆ troca de cabeças → reposicionar braço (≈ 0.5-1.5 ms) ⋆ troca de trilha → estabilizar braço (≈ 1-3 ms) ⋆ controlador tenta leitura otimista assim que chega na trilha pode fazer escrita otimista? (≈ 0.75 ms até estabilizar para escrever) UFPR Depto de Informática 13 ci212 — E/S (i): discos 2007-1 Mecanismo – leiaute dos dados • Disco visto pelo SO como vetor linear de blocos (256-1024 bytes) • controlador mapeia vetor nos setores fı́sicos 1D ; 3D blocos[ i ] ; disco[ superfı́cie, trilha, setor ] • #bits cresce ≈ linearmente com comprimento da trilha zoneamento: número de setores depende do raio ∃ 3-50 zonas com mesmo número de setores /zona • deslocamento de setores nas trilhas: setor0 de cada trilha deslocado para esconder tempo de reposicionamento track skewing • trilhas/setores sobressalentes: referências a setores danificados são re-mapeadas para setores/trilhas de reserva ⋆ na formatação – pula endereço da trilha com defeito ⋆ em uso – re-mapeia endereço do setor/trilha para sobressalentes slip sparing UFPR Depto de Informática 14 ci212 — E/S (i): discos 2007-1 Controlador • Funções do controlador SCSI ⋆ ⋆ ⋆ ⋆ mediar acessos ao mecanismo executar sistema de acompanhamento de trilhas transferir dados entre disco e cliente gerenciar buffers/cache • operação do controlador custa 0.3-1 ms (caindo lentamente) eletrônica segue Lei de Moore mas funcionalidade cada vez mais complexa • interface com barramento ⋆ transferências em modo sı́ncrono, na veloc máxima do barramento ⋆ pode operar com split transactions (latências enormes) ⋆ ∃ buffer entre mecanismo e barramento por causa das diferenças de velocidade • buffer usado como cache UFPR Depto de Informática 15 ci212 — E/S (i): discos 2007-1 Controlador – cache (leitura/escrita) • Polı́ticas da cache: read-ahead ≈ busca antecipada ∗ on-arrival read-ahead: assim que chegar na trilha, lê trilha toda ∗ read-ahead agressivo: atravessa trilhas e/ou cilindros ∗ read-ahead ‘zen’: pára no final de trilha/cilindro ∗ cache associativa: particionar cache para 6=s seqüências entrelaçadas • Cache pode corromper sistema de arquivos se faltar energia ∗ controlador avisa que completou operação após escrever na cache ∗ se cache tem bateria, problema desaparece (?) • Cache com fila de comandos: controlador pode otimizar operações porque conhece geometria do disco UFPR Depto de Informática 16 ci212 — E/S (i): discos 2007-1 Operação de Discos • Comandos ∗ Latência/atraso no controlador + tempo na fila (OS) ∗ 0,5ms se não encontra na cache, 0,1ms se encontra na cache • Seek (movimentação do braço entre trilhas/cilindros) ∗ move a cabeça até a trilha desejada ∗ tempo depende da posição inicial da cabeça ∗ valores tı́picos médios entre 5-12ms • Latência rotacional ∗ espera até que setor desejado passe sob a cabeça (≈1/2 volta) ∗ na média, 0.5/rpm → 0,5 / (7200rpm / 60spm) = 4,2ms • Transferência de dados ∗ taxa de transferência entre 2 e 40 MByte/s UFPR Depto de Informática 17 ci212 — E/S (i): discos 2007-1 Desempenho • Tempo médio de acesso = tempo médio de movimentação do braço (seek) + latência rotacional média + tempo de transferência + tempo do controlador • Exemplo: 7200 rpm, 10MByte/s tempo médio de movimentação do braço: 10ms tempo do controlador: 0,5ms tempo para ler bloco de 4Kbytes (uma página) 10ms + 0,5/(7200rpm/60spm) + 4KB/10MB/s + 0,5ms 10ms + 4,2ms + 0,4ms + 0,5ms = 14,65ms UFPR Depto de Informática 18 ci212 — E/S (i): discos 2007-1 Desempenho (cont) Localidade: discos exibem localidade → em “acessos locais” seek cai em 1/3 Cache: buffer em memória (Unix buffer cache) e na unidade de disco → latência cai para hit+transferência distância # trilhas fração 0 24% 15 23% 30 8% 45 4% 60 3% 75 3% 90 1% 105 3% 120 3% 135 2% 150-195 11% unix time-sharing Hennessy&Patterson QA Fig-7.52 UFPR Depto de Informática 19 ci212 — E/S (i): discos 2007-1 Matrizes de Discos Conjunto de discos individuais: cada disco com seu braço/cabeça Distribuição dos dados: endereçamento independente listras de blocos pequenos listras de blocos grandes A0 B0 C0 A1 B1 C1 A2 B2 C2 A3 B3 A0 A0 A1 A1 A2 A2 A3 A3 B0 B0 B1 B1 A0 A1 A2 A3 B0 B1 C3 independente granularidade fina granularidade grossa UFPR Depto de Informática 20 ci212 — E/S (i): discos 2007-1 Matrizes de Discos • Endereçamento independente ⋆ software/usuário distribui os dados ⋆ balanceamento de carga entre discos pode ser problemático • Listras de blocos pequenos (fine-grain striping) ⋆ ⋆ ⋆ ⋆ ⋆ um bit, um byte, ou um setor #discos∗|bloco| define menor quantidade de dados acessı́vel balanceamento de carga perfeito; só uma requisição atendida por vez taxa efetiva de transferência ≈ N vezes melhor que um disco só tempo de acesso pode aumentar, a não ser que discos sejam sincronizados • Listras de blocos grandes (coarse-grain striping) ⋆ paralelismo na transferência de grandes volumes de dados ⋆ concorrência para transferências pequenas ⋆ balanceamento de carga pela aleatoriedade • Granularidade escolhida em função da aplicação e tipo de carga UFPR Depto de Informática 21 ci212 — E/S (i): discos 2007-1 Mecanismos de Redundância • Falhas em discos são parcela grande de falhas de hardware ∗ striping aumenta o número de arquivos perdidos por falha • Replicação dos dados espelhamento dos discos → permite leituras em paralelo → escritas devem ser sincronizadas • Proteção com paridade ∗ usar disco para manter a paridade UFPR Depto de Informática ci212 — E/S (i): discos 22 2007-1 Redundant Arrays of Inexpensive Disks – RAIDs • Conjuntos de discos pequenos e baratos resultam em alto desempenho e alta confiabilidade D = número de discos de dados no conjunto V = número de discos de verificação no conjunto • Nı́vel 0: só listras, sem redundância (striping) • Nı́vel 1: discos espelhados (D=1, V=1) ∗ desperdı́cio é elevado • Nı́vel 2: código de detecção de erros (D=10, V=4) ∗ mesmo tipo de código de detecção de erros usado com DRAMs ∗ todos os bits do conjunto são lidos ∗ agrega bits atualizados com bits que permanecem; recomputa a paridade ∗ re-escreve todo o conjunto, incluindo a verificação UFPR Depto de Informática ci212 — E/S (i): discos 23 2007-1 Redundant Arrays of Inexpensive Disks – RAIDs • Nı́vel 3: paridade com bits entrelaçados (D=4, V=1) ∗ disco com falha é identificado facilmente pelo controlador ∗ não é necessário código especial para descobrir disco em falha • Nı́vel 4: paridade com blocos entrelaçados ∗ usado com blocos grandes ∗ similar ao RAID 3, mas pode efetuar mais de um acesso com poucos dados a cada vez ∗ escrita deve atualizar disco com dados e disco com paridade UFPR Depto de Informática 24 ci212 — E/S (i): discos 2007-1 Redundant Arrays of Inexpensive Disks – RAIDs • Nı́vel 5: paridade distribuı́da por blocos entrelaçados ∗ paridade é distribuı́da pelos discos no conjunto ∗ atualizações distintas de paridade vão para discos distintos • Nı́vel 6: matriz bi-dimensional ∗ matriz de dados é bi-dimensional, com paridade nas linhas e nas colunas ∗ permite recuperação de duas falhas UFPR Depto de Informática 25 ci212 — E/S (i): discos 2007-1 RAID 4/5 – Blocos de Paridade p pp pp pp pp p p pp pp p pp p pp p pp pp pp pp p pp pp p p p pp ppppppppp p pp pp ppp pp pp pp p pp ppp p pp p pp p p ppp pp pp ppp pp p pp pp p p pp pp pp pp pp p pp p p p p pp pp pp p pp pp p p pp pp p p pp pp p ppp pp p pp p p p ppp pp pp p pp pp p p p pp pp pp ppp pp p p pp pp pp pp p pp pp p pp pp pp pp p pp p p pp ppp pp pp pp p p p ppp ppppppppp pp pp p p ppp p p ppp p p ppp pp pp p p p p ppp pp pp p p ppp p p p pp pp p pp pp p pp pp p p pp p p p pp pp ppp p p pp pp p ppp pp pp ppp ppp pp p ppp pp p pp pp pp pp ppp pp p pp ppp pp pp p pp p pp ppp 0 1 2 3 P0 0 1 2 3 P0 4 5 6 7 P1 4 5 6 P1 7 8 9 10 11 P2 8 9 P2 10 11 12 13 14 15 P3 12 P3 13 14 15 16 17 18 19 P4 P4 16 17 18 19 21 22 23 P5 20 . . . . . . . . . . . . . . .p p p p p p p p p p 21 22 20 P5 23 . . . . . . . . . . . .p . . . p p p p p p p p p RAID 4 RAID 5 p pp pp pp pp pp p pp pp pp pp p p pp pp pp p pp pp pp pp p pp pp p p p p p pp pp pp p p pp pp p p p p p pp pp pp p p p pp pp pp p p pp pp pp pp p p ppp pp p p pp ppp pp p pp pp p p p p ppp pp ppp p p ppp p pp p pp ppp pp p p p pp pp UFPR Depto de Informática pp p pp pp pp pp p ppp pp pp p pp pp p 26 ci212 — E/S (i): discos 2007-1 RAID – Atualização “Pequena” Qual é o número de operações de leitura/escrita nos discos individuais para efetuar escrita de poucos dados (= atualização pequena)? RAID3 1 ler 2 ler novo D0’ p D0 D1 D2 3 ler D3 ppppp ppppppppppppppp pp p pp pp pp pp ppp pp pp pp ppppp pp pp pp ppp pp pp pp pp p p pp pppp p p ppp pp pp pp pp pp ppp p pp p ppppp ppppp p pp pp pp ppp pp pp p pp ppppp ppp p p p pp pp ppp pp pp pp p p p pp p ppppp p pp ppp pp pp pp pp p pp ppppp ppppp ppp pp pp pp pp ppp pp p pp pp ppppp pp pp pp pp ppp pp p ppp ppppp ppppp p pp pp ppp pp pp pp p pp ppppp pp ppp p pp ppp pp pp pp pp p pp p ppppppppppp pppp ppp ppppppppppppppp p ppp pp pp pp pp pp p p p pp p p p p p pp pp pp pp ppp pp p pp p pppppppppppppppp p p p ppppp p pppppppppppp ppppppppppp pppppp p pp p p p p p p p p pp p p p p p p pppp p p p p p pp ppppp p p p pp pp p ppp ppp ppp pp p p pp pp p pp ppppp ppppp p p pp p ppp pppp ppp pp p pp pp pp p p pp pp p p p p pp p ppp p ppp pp pp p pp p p p p p ppp p p pppp ppppp p p pp p p p p p p p p p p p p p pppppp pp p p p p p pppp pp p pppp ppppp ppp p ppppp ppp p pp ppp pppppp pp p pppppp ppp p pp ppp pppppp pp p pppppp ppp p pp ppp pppppp pppppp ppppppp ppppppppppppp p pppppp pppp pp P xor D0 4 escr UFPR Depto de Informática D1 D2 D3 P 5 escr 27 ci212 — E/S (i): discos 2007-1 RAID – Atualização “Pequena” Qual é o número de operações de leitura/escrita nos discos individuais para efetuar escrita de poucos dados (= atualização pequena)? RAID4 / RAID 5 novo 1 ler D0’ p D0 2 ler D1 D2 D3 P pppp pp ppp pp p pp ppp ppp ppp p pp p pp ppp pp ppp p pp p ppp ppp pp pp p pp pp p ppp pp pp p pp pp p p p ppp ppp p p pp p p p p p pp ppp pp p p pp pp pp pp ppp pppppp p ppppppppppppppppppppppp pp p p pp p pp pp ppppppppppp pppp pp pp ppp pp pp p pp p p p p p ppp p pp ppp ppp p pppp pppp p ppppp ppppp p pp p pp p pp p p pp ppp pppp pppp p p pp p p p p pp p p p ppp ppp p pp pp p p pp ppp pppp p p pp p pp ppp ppppppppppppppppppppppppppppppppppppp pp p p pppppppppppppppppppppppp pppppppp pp p p p p p p pp p p p p p p p p pp p p p p p p p p p pp p p p p p p p pppp p p pp p p p p p pp p p pp p ppp pppp p ppppp pp ppppp p pp p p p p p p p p pp p p p p p p p p p pp p p p p p p p p pp p p pp pp pp pp p p p p p p p pp p ppp pp pp p p pp pppppppppppppppppppppppppppppppppppppppppp ppppp pppp pp ppp pppppp ppppp ppppp pp p pp pp ppppppp pppp pppp p pp ppp ppp ppp pp pp p ppp p pp p ppp pppppp pp pppp p pp p pp p p p p p p p p pp p pp pp p pp p p ppppp pp p p p p p p pp p p pp ppppp p p pp p ppp p pp pp p pp p pp pp pp p pp ppp p pp pp pp p pp p p pp pp p pp p pp pp pp ppppppppppp ppppppppppppp pp xor xor D0 D1 D2 3 escr D3 P 4 escr UFPR Depto de Informática 28 ci212 — E/S (i): discos 2007-1 resumo – Discos • Tempo médio de acesso = tempo médio de movimentação do braço (seek) + latência rotacional média + tempo de transferência + tempo do controlador • Cache no controlador para tirar proveito de localidade ⋆ falta de energia durante escrita de metadados corrompe sist de arquivos ⋆ mesmos problemas que fila de escrita (riscos RAW a WAW) • RAID – usar discos baratos para aumentar desempenho – acessos em paralelo (striping) e melhorar confiabilidade – paridade UFPR Depto de Informática 29