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

Documentos relacionados