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
Download

Tipos de Dispositivos Caracter´ısticas dos - anotacoes-ufpr