Baixe o app para aproveitar ainda mais
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
Compartilhar