Memória Secundária
Transcrição
Memória Secundária
Resumo Bancos de Dados I 2013/02 l Hierarquia de Armazenamento l Discos Magnéticos l Mapeamento Conceitos de Memória Secundária Prof. Altigran Soares da Silva l Tempos de Acesso l Exemplos l Referências ¡ E&N: Sessões 13.1 e 13.2 ¡ GM&U&W: Hierarquia de Armazenamento CPU ... Memória ¡ CPU Controladora ... Disco/Fita 11.1 a 11.3 Meios de Armazenamento l Cache: cache de Endereços dentro ou fora da CPU cada vez mais rápida. ~3 GHz hoje. l Memória Principal ¡ Custa US$0.2 por Mbyte – reduz a cada ano ¡ ‘volatil’ – não se mantêm entre falhas do sistema ¡ Acesso randômico muito rápido ¡ Dados processados pela CPU diretamente ¡ Capacidade típica limitada. Muito abaixo do que é necessário em bancos de dados. Meios de Armazenamento l Pirâmide de Armazenamento Disco Magnético ¡ Custo US$/MByte Custo de US$ 0.005 por Mbyte – reduz a cada ano Não-volátil. Exceto no caso de defeitos no disco ¡ Acesso radômico não tão rápido ¡ ¡ l Tempo de Acesso CPU. Cache 25 CPU não acessa diretamente estes dados. Dados precisam ser transferidos para a memória principal 1 ns Memória Principal 0.2 Fita DRAM, SRAM, etc. x10 Armazenamento “On-Line” 0.005 Discos Magnéticos e Óticos Mais barato ¡ Muito mais lentp. Acesso somente sequencial. ¡ ¡ Discos óticos Fitas Armazenamento “Near-Line” Bom para backups 6 x10 10 0.005 x10 Capacidade Típica Pirâmide de Armazenamento Níveis de Armazenamento Cache Dados! Acessados ! CPU. ! Memória Principal Armazenamento “On-Line” Armazenamento “Near-Line” DRAM, SRAM, etc. ! Discos Magnéticos ! e Óticos ! Discos óticos! Fitas! Dados! Armazenados ! typical capacity (bytes) 1015 1013 1011 109 electronic secondary electronic main 107 105 from Gray & Reuter cache 103 10-9 Capacidade Típica! magnetic optical disks online tape nearline offline tape tape & optical disks 10-6 10-3 10-0 103 access time (sec) Níveis de Armazenamento (2) Discos Magnéticos Pivô 104 102 from Gray & Reuter electronic main electronic secondary 100 online tape magnetic optical disks 10-4 10-6 10-3 Discos Magnéticos (2) Cabeça de Leitura e Escrita Dobradiça Braço do Disco nearline tape & optical disks offline tape 10-2 10-9 Pratos 10-0 … dollars/MB Trilhas cache Interface do Disco Controlador 103 access time (sec) Discos Magnéticos (3) l Cada disco é divido em regiões anulares chamadas trilhas ¡ l Cada trilha é dividida em vários setores ¡ Trilha Setores 500 a 200 trilhas por superficie 32 a 128 setores por trilha Discos Magnéticos (4) Setores por Trilha l O conjunto das trilhas acessiveis de uma dada posição do braço formam um cilindro l O nr. de cilindros é igual ao nr. de trilhas em cada lado dos pratos l Um local do disco especificado pela tripla <cilindro, cabeça, setor> ou <trilha, cabeça, setor> Setores por Trilha (2) l Nos discos antigos, o nr. de setores por trilha era constante para todos os cilindros l Isso traz um desperdicio porencial de espaço nos cilindros mais externos l Discos modernos diminuem o número de setores por trilha da borda para o centro do disco l A controladora do disco pode fornecer ao SO uma geometria virtual do disco. Mapeamento Lógico de Endereços l Os discos são endereçados como um longo arranjo unidimensional onde blocos lógicos são a menor unidade de transferência para a memória principal. l Os blocos são mapeados para setores do disco de maneira sequêncial. O setor 0 é o primeiro setor da primeira trilha do cilindro mais externo. ¡ O mapeamento prossegue pela mesma trilha, depois pelas outras trilhas do mesmo cilindro e dai para os outros cilindros, do mais externo para o mais interno. ¡ Geometria Virtual Física Geometria Mapeamento Lógico de Endereços (2) Tempo de Acesso Enderço 3D mapeado para endereço 1D l Bloco n+1 deve estar o mais próximo possível do bloco n l Facilita o gerênciamento de setores defeituosos l ¡ l ¡ ¡ ¡ Marcar os blocos defeitosos (“bad block”) correspondentes 2p–1 ... Cilindro l s–1 0 1 ... 0 n Blocos Tempo de Seek Latência Rotacional: Tempo de seek (médio) típico : 8 a 12 ms Se considerarmos a localidade de referência temos somente j≠ i 25% a 33% deste tempo ¿ n Tempo Tempo de acesso = de seek + Latência rotacional + Tempo de Transferência+ Outros Setor l Bloco: unidade de transferência ¡ Tempo 2 0 l Tempo de seek: posicionamento do braço na trilha correta Latencia rotacional: espera até o setor desejado seja rotacionado até a cabeça de leitura/escrita Tempo de transferência: Transferência dos bits armazenados no setor que está ao alcance da cabeça. l t–1 ... 1 0 Cabeça Acesso de leitura ou escrita requer três passos: TseekMédio = ∑ ¿ ¿ n n n− 1 l Rotação típica 3.600 a 7.200 RPM l l Aprox. 16 ms a 8 ms por volta, respetivamente Latência media é por tanto é de 8 ms a 3.600 RPM e 4 ms a 7.200 RPM ¿ 3 or 5x Posição da Cabeça x 1 N Cilindros percorridos Setor desejado Tempo de Transferência Outros Valores típicos: 2 a 12 MB por segundo l Depende de : l Tempo l ¡ Tamanho a transferir, usualmente um setor ¡ Velocidade de rotação ¡ Densidade de gravação: bits por polegada na trilha ¡ Diametro : 2.5 a 5.25 polegadas que leva a CPU para socilitar a operação de E/S l Concorrência na controladora l Concorrência para barramento e memória l Geralmente despreziveis em comparação de outros tempos Exemplo: Seagate FC Ultra 160 SCSI Exemplo: Seagate Cheetah ST373405LC 73.4 GBytes l 12 pratos/24 cabeças l l 12 Braços l 14.100 Trilhas l ¡ l ¡ 512 bytes/setor l Velocidade de rotação ¡ l 10,000 RPM 2.99 ms Tempos de seek Entre trilhas: 0.6/0.9 ms ¡ Média: 5.6/6.2 ms ¡ Nr. Variável de setores por trilha l Latência rotacional média: l Tempo de transferência 160-200 MB/s ¡ Cache de 1 a 8K ¡ 73GB ¡ ¡ 8 surficies, 29.549 cilindros, 236.394 trilhas no total Nr. variável de setores por trilha: 776 em média ¡ 10,000 RPM Latência rotacional: 2.9 ms. ¡ Tempos de seek ¡ ¡ l Proxima trilha: 0.4 ms l Média/Máx: 5.1 ms/9.4ms Taxa de transferência l l 50-85 MB/s de pico Cache de 4MB Acesso Sequencial X Randômico l Acesso Rândomico: ¡ l Necessita do posicionamento do braço, cabeças, etc. Acesso Sequencial ¡ Posicionar no “próximo bloco” l l Saltar o espaço não usado (gap) entre os setores De tempos em tempos: passar para a próxima trilha e depois para o próximo cilindro Tempo de acesso sequêncial ≈ Tempo de Transferência l Regra básica: l ¡ ¡ l Acesso ramdômico: Caro Acesso sequential: Muito mais barato Exemplo: para transferir blocos de 1 KB ¡ ¡ Randômico: ∼ 20 ms. Sequencial: ∼ 1 ms. Acessos para Escrita l A não ser que se queira verificar o que foi escrito, o custo dos acessos para escrita é similar ao custo de leitura l Passos para escrita de um bloco ¡ (a) Ler o bloco ¡ (b) Modificar em memória ¡ (c) Escrever o bloco ¡ (d) Verificar - Opcional