Buscar

Capítulo 6 Parte II

Prévia do material em texto

Confiabilidade
‣ Confiabilidade é uma medida da realização contínua 
do serviço: tempo médio para falha (MTTF)
- taxa de falha anual (AFR): porcentagem dos dispositivos que 
falhariam em um ano
‣ A interrupção é medida como tempo médio para 
reparo (MTTR)
‣ Tempo médio entre falhas (MTBF) = MTFF + MTTR
Disponibilidade
‣ Disponibilidade é uma medida da realização do 
serviço com relação à alternância entre ativo e 
interrompido.
‣ Uma falha em um componente pode não ocasionar a 
falha do sistema.
‣ Estratégias para melhorar a disponibilidade
- Evitar a ocorrência de falhas
- Usar mecanismos de tolerância a falhas (redundância)
- Usar mecanismos de previsão de falhas
- Usar ferramentas para detecção, diagnóstico e reparo de 
falhas.
Quais das seguintes afirmações são verdadeiras sobre 
confiança?
‣ Se um sistema estiver ativo, então todos os seus 
componentes estão realizando seu serviço esperado.
‣ A disponibilidade é uma medida quantitativa da 
porcentagem de tempo em que um sistema está 
realizando seu serviço esperado.
‣ A confiabilidade é uma medida quantitativa da realização 
contínua do serviço por um sistema.
‣ A principal fonte de interrupções hoje é o software.
Quais das seguintes afirmações são verdadeiras sobre 
confiança?
‣ Se um sistema estiver ativo, então todos os seus 
componentes estão realizando seu serviço esperado. (F)
‣ A disponibilidade é uma medida quantitativa da 
porcentagem de tempo em que um sistema está 
realizando seu serviço esperado. (V)
‣ A confiabilidade é uma medida quantitativa da realização 
contínua do serviço por um sistema. (V)
‣ A principal fonte de interrupções hoje é o software. (F)
Armazenamento em Disco
Características Básicas
‣ O armazenamento em disco é não volátil.
‣ Disco magnético consiste em coleção de pratos 
giratórios cada qual com duas superfícies de graváveis
- discos com 2,5 a 9cm giram a 5.400 a 15.000 RPM
- cada superfície é dividida em círculos concêntricos 
denominados trilhas
- cada trilha é dividida em setores (100 a 500)
- cada setor 512 bytes
Acesso aos dados
‣ Para ler e escrever informações, as cabeças de 
leitura/escrita precisam ser movidas de modo que 
estejam sobre o local correto.
‣ O SO controla o disco em três estágios.
- Seek: posicionar a cabeça sobre a trilha apropriada
- Esperar até o setor desejado girar sob a cabeça 
- Transferir um bloco de bits
Acesso aos dados
‣ Tempo de Seek: duração do processo de 
posicionar a cabeça de leitura/escrita na trilha 
correta de um disco.
‣ Latência rotacional: tempo gasto para o setor 
desejado girar sob a cabeça de leitura/escrita
‣ Tempo de transferência: tempo para transferir 
um bloco (pode usar cache)
‣ Tempo da controladora: overhead para controle 
da transferência dos dados do disco para memória
Latência Rotacional: metade do tempo de rotação
Exemplo
‣ Qual é o tempo médio de acesso para ler ou 
escrever um setor de 512 bytes em um disco 
girando a 15.000 RPM? O tempo de seek médio 
é 4ms, a taxa de transferência é 100MB/s e o 
overhead da controladora é 0,2ms.
Exemplo
Tempo 
médio de 
seek
Tempo 
médio de 
acesso ao 
disco
=
Atraso 
rotacional
+
Tempo de 
transferência
+ +
Overhead da 
controladora
Armazenamento Flash
‣ Memória flash é uma memória:
- semicondutora (como a DRAM)
- não volátil (como o disco magnético)
‣ Tempo de acesso próximo da DRAM e largura de 
banda próxima do disco
Os discos rígidos de 1 polegada de diâmetro estão desaparecendo 
de alguns mercados de sistemas embarcados.
Comparação com Disco
‣ Menor
‣ Mais resistente ao choque
‣ Consome menos energia
- popular em dispositivos portáteis (notebooks, celulares e 
câmeras)
‣ 100 a 1000 vezes mais rápida (latência de acesso)
Armazenamento Flash
‣ Os bits da memória flash se desgastam
‣ Nivelamento de desgaste
- técnica que envolve o uso de um controlador para espalhar as 
escritas, remapeando blocos que foram escritos muitas vezes 
para blocos menos utilizados 
Comparison of the inside of a 
hard disk drive (HDD) versus 
a solid-state drive (SSD), 
which has no moving parts 
for quieter and more reliable 
operation.
Conectando processadores, memórias e 
dispositivos de E/S
Barramento
‣ Interface de comunicação entre os componentes de 
um sistema computacional
‣ O barramento é um link de comunicação 
compartilhado
- utiliza um conjunto de fios para conectar diversos subsistemas
Vantagens
‣ Versatilidade e Baixo custo
‣ Com um único esquema de conexão
- novos dispositivos podem ser facilmente adicionados
- os mesmos dispositivos podem ser usados em diversos 
sistemas computacionais (com mesmo tipo de barramento)
- o canal de comunicação é compartilhado de várias maneiras
Tipos
‣ Barramento Processador-Memória
- curto e de alta velocidade
‣ Barramento de E/S
- extenso, interfaces para muitos dispositivos e grande faixa de 
largura de banda
‣ Outros tipos específicos
- Barramento Gráfico
‣ Os barramentos de E/S normalmente não realizam interface direta com a memória.
- barramento backplane
Desvantagem
‣ O barramento representa um gargalo de comunicação
- a largura de banda do barramento limita a vazão máxima de sistema de E/S
- velocidade máxima é limitada por fatores físicos: a extensão do 
barramento e o número de dispositivos (diferentes)
‣ Desafio:
‣ projetar um sistema de barramento capaz de atender às demandas do 
processador e também conectar vários de dispositivos heterogêneos 
(latência e taxa de transmissão muito diferentes)
‣ Como é difícil trabalhar com muitos fios paralelos em alta 
velocidade, o setor está em transição, passando de 
barramentos paralelos compartilhados para interconexões 
seriais ponto a ponto de alta velocidade com switches.
Transações de E/S
‣ Uma transação de E/S é uma sequência de operações 
pelo barramento de interconexão
- inclui uma solicitação e pode incluir uma resposta, ambas 
podendo transportar dados.
- Uma transação é iniciada por uma única solicitação e pode 
exigir várias operações de barramento individuais
Transações de E/S
‣ Uma transação de E/S consiste em:
- enviar o endereço
- transferir (enviar ou receber) dados
‣ Transação de entrada: transferência de dados de 
dispositivo de E/S para memória
‣ Transação de saída: transferência de dados da 
memória para dispositivo de E/S
Padrões de Interconexão
‣ Padrões de interconexão facilitam a expansão da 
máquina e a conexão de novos periféricos.
‣ Padrões de interconexão são uma especificação que 
serve como um contrato entre os fabricantes de 
computadores e periféricos
- Firewire, USB, PCI, SATA, SAS
Padrões
Barramentos Síncronos
‣ Barramento síncrono é aquele que inclui um clock nas 
linhas de controle e um protocolo fixo para comunicação
- protocolo simples (ex. requisição de leitura com endereço no 
primeiro estágio e transmissão dos dados no quinto estágio)
- facilidade de implementação => mais velocidade
‣ Desvantagens:
- dispositivos devem operar no mesmo clock
- não podem ser longos (extensos)
Interconexão Assíncrona
‣ Não utilizam clock
- barramento pode ser extenso e acomodar uma grande 
variedade de dispositivos (com diferentes velocidades)
‣ Protocolo de handshaking: coordena a transmissão 
de dados entre os componentes
- os componentes precisam coordenar suas ações a cada etapa
- lógica mais complexa (mais linhas de controle)
‣ Organização do sistema de E/S em um servidor Intel.
Como os dados são transferidos de um 
dispositivo de E/S para o espaço de 
endereçamento da memória de algum 
programade usuário?
‣ Como uma solicitação de E/S é transformada em um 
comando e enviada a um dispositivo?
‣ Como os dados são transferidos entre memória e 
dispositivos de E/S?
‣ Qual é o papel do Sistema Operacional?
Programa
Requisições de E/S
Sistema Operacional
Hardware 
(dispositivos de E/S)
‣ Diversos programas usando o processador 
compartilham o sistema de E/S
‣ São geradas interrupções para comunicar informações 
sobre operação de E/S
- interrupções são tratadas pelo sistema operacional
‣ Controle de um dispositivo de E/S é complexo
- eventos simultâneos requisitos minuciosos
Funções do SO
‣ Controle de acesso (proteção necessária devido ao 
compartilhamento de recursos)
‣ Rotinas de alto nível de abstração para tratamento de 
operação de baixo nível nos dispositivos
‣ Tratamento de interrupções geradas pelos dispositivos
‣ Otimização da alocação de recursos (escalonamento e 
balanceamento de carga)
Tipos de Comunicação
‣ Comandos aos dispositivos de E/S
- exemplo: leitura, escrita ou busca em disco
‣ Notificações ao SO
- exemplos: tarefa completa, ocorrência de erro
‣ Transferência dos dados
Comandos??
Comandos de E/S
‣ O processador precisa ser capaz de endereçar o 
dispositivo e enviar comandos a ele
‣ Principais métodos
- E/S mapeada em memória
- Instruções de E/S especiais
E/S Mapeada em Memória
‣ Partes do espaço de endereçamento são atribuídas a 
dispositivos de E/S
- leituras e escritas para esses endereços são 
interpretados como comandos aos dispositivos
- programas são impedidos de realizar operações de 
E/S diretamente (proteção realizada durante 
tradução de endereço)
Instrução de E/S
‣ Uma instrução dedicada, usada para enviar um 
comando a um dispositivo de E/S
- especifica o identificador do dispositivo e o 
comando a ser executado (ou um local na memória 
onde está o comando)
- apenas o SO tem privilégio para executar essas 
instruções
Comunicação com 
Processador
‣ Pooling
‣ E/S controlado por interrupção
Pooling
‣ O processo de verificar periodicamente o status de 
um dispositivo de E/S para determinar a necessidade 
de atender ao dispositivo
- Simples (leitura de registrador de status)
- Controle total pelo processador
‣ Desvantagem: desperdício de tempo do processador
E/S Controlada por Interrupção
‣ Um esquema que usa interrupções para indicar ao 
processador que um dispositivo precisa de atenção
- Método assíncrono (a interrupção não é associada a 
qualquer instrução)
- Informações adicionais por meio de interrupções 
vetorizadas ou registradores de causa
‣ Níveis de prioridade de interrupção
- Indicam a ordem de processamento da interrupções
‣ As técnicas de pooling e interrupções de E/S funcionam 
melhor com dispositivos de menor largura de banda
- reduzir custo do controlador de E/S
- o processador e o SO gerenciam todo o processo, 
acessando a memória e o dispositivo para cada item de 
dados transferido
E no caso de dispositivos que exigem alto 
desempenho na transferência de dados?
DMA
‣ DMA — Direct Memory Access
- Um mecanismo que oferece ao controlador de dispositivo a 
capacidade de transferir dados da memória ou para ela sem 
envolver o processador
- dispositivos com alta largura de banda
DMA
‣ O DMA é implementador como um controlador 
especializado que torna-se o master e direciona as 
leituras e escritas entre si mesmo e a memória.
‣ Etapas:
1. Processador configura o controlador DMA (id do dispositivo, 
tipo da operação, quantidade de dados, etc.).
2. O controlador DMA inicia a operação no dispositivo e arbitra 
o acesso ao barramento (pode executar uma sequência de 
operações de E/S)
3. Quando a transferência de dados terminar, o controlador 
DMA interrompe o processador.
DMA: Desvantagens
‣ Aumento do custo do sistema de E/S
‣ Maior complexidade em sistemas com cache e 
memória virtual
Medidas de Desempenho
‣ Complexidade
- o desempenho da E/S depende de muitos aspectos; diferentes 
aplicações enfatizam diferentes aspectos do sistema de E/S
‣ Tempo de resposta X Vazão
- uma vazão maior pode ser alcançada agrupando solicitações 
relacionadas (mas isso pode aumentar o tempo de resposta)
Processamento de Transações
‣ Um tipo de aplicação que envolve o tratamento de 
pequenas operações curtas (chamadas transações) 
que normalmente exigem tanto E/S quanto cálculo.
‣ Aplicações de processamento de transações
- um requisito de tempo de resposta
- uma medida de desempenho baseada na vazão
Processamento de Transações
‣ A maioria dos acessos de E/S é pequena.
‣ Taxa de E/S: número de acessos ao disco por segundo
‣ Nos sistemas de E/S, GBs são medidos na base 10
- 1GB = 109 = 1.000.000.000 bytes
Exemplo
‣ Sistemas de Informação de instituições financeiras
- aplicações são muito críticas e sensíveis ao custo
‣ Embora a confiabilidade em face da falha seja um 
requisito absoluto em tais sistemas, o tempo de 
resposta e a vazão são fundamentais para criar 
sistemas de baixo custo.
Benchmarks
‣ Benchmarks de processamento de transações
‣ Exemplo: Transaction Processing Council (TPC)
- TPC-W: aplicações baseadas na Web
- TPC-E: transações de corretagem
- TPC-VMS: virtualização
‣ Exemplo: SPEC
- SPECSFS (disco, rede e processador); SPECWeb; SPECPower
http://www.tpc.org
Projeto de Sistema de E/S
‣ Restrições de latência
- garantir um limite de tempo para completar um operação de E/S
‣ Restrições de largura de banda
- encontrar o gargalo (elo mais fraco do sistema de E/S: dispositivo, 
controlador, etc.)
- determinar a configuração para o restante do sistema
Exemplo
‣ Suponha que tenhamos um benchmark executado em 100 
segundos de tempo decorrido, dos quais 90 segundos é 
tempo de CPU e o restante é tempo de E/S.
‣ Suponha que o número de processadores dobre a cada 
dois anos, mas os processadores permanecem na mesma 
velocidade, e o tempo de E/S não melhora.
‣ O quanto mais rápido nosso programa será executado ao 
final de seis anos?
A revolução paralela precisa chegar à E/S!
‣ Substituição de um disco grande por muitos discos 
pequenos (array de discos)
- mais acessos independentes
- transferências grandes se espalhariam por muitos discos
- além do desempenho mais alto, poderia haver vantagens no custo, na 
potência e no espaço
‣ Desvantagem: menor confiabilidade
- maior probabilidade de falhas => baixo MTTF
Solução: Redundância
‣ Array redundante de discos de baixo custo
- com muitos discos pequenos, o custo da redundância extra para 
melhorar a confiabilidade é pequeno em relação a uma solução com 
alguns discos grandes
‣ RAID (redundant Arrays of Inexpensive Disks)
Embora sua invenção fosse motivada pelo 
desempenho, a confiabilidade foi o principal 
motivo para a popularidade geral do RAID
Níveis de RAID
RAID 0
‣ Striping: espelhamento dos dados por vários discos
- a coleção de discos aparece ao software com um único disco 
grande (gerenciamento simplificado)
- alocação de blocos logicamente sequenciais por discos separados 
- aumento do desempenho (operações de E/S paralelas)
- não existe redundância!
RAID 1
‣ Espelhamento (shadowing): escrever dados idênticos 
em vários discos, para aumentar a disponibilidade dos 
dados.
- capaz de tolerar falhas de disco 
- utiliza o dobro da quantidade de discos do RAID 0
- solução mais cara
RAID 4
‣ Em vez de ter uma cópia completa dos dados 
originais para cada disco, só precisamos acrescentar 
informações redundantes suficientes para restaurar a 
informação perdida em uma falha.
- A paridade é armazenada como blocos e associada a umconjunto de blocos de dados 
- acessos independentes podem ocorrer em paralelo
Como lidar com falhas?
‣ Um falha em um disco compromete o sistema?
https://www.youtube.com/watch?v=QF3MxqhdWVk

Continue navegando