1 / 59

Tolerância a Falhas

Tolerância a Falhas. Carlos Oberdan Rolim Ciência da Computação. Arquiteturas de sistemas tolerantes a falhas. tolerância a falhas de um sistema de computação: deve ser suportada pelo hardware e software nível eficaz: arquitetura do sistema arquitetura de um sistema:

tosca
Download Presentation

Tolerância a Falhas

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Tolerância a Falhas Carlos Oberdan Rolim Ciência da Computação

  2. Arquiteturas de sistemas tolerantes a falhas • tolerância a falhas de um sistema de computação: • deve ser suportada pelo hardware e software • nível eficaz: arquitetura do sistema • arquitetura de um sistema: • componentes de hardware • (processadores, memórias, controladores, interfaces) • interconexões • (barramentos ou linhas de comunicação).

  3. Microprocessadores comerciais • aplicações convencionais • quanto a condições existentes para reparo: • inseridos em sistemas passíveis de reparo a intervalos • quanto ao funcionamento do sistema: • é admissível interrupção • quanto ao tamanho da menor unidade permutável: • nível de chips (uso de soquetes)

  4. TF em microprocessadores comerciais • desenvolvidos para aplicações não críticas: • não apresentam mecanismos intrínsecos para suporte de técnicas de tolerância a falhas • mas vêm sendo usados para: • controle de processos industriais • controle de tráfego • instrumentação.

  5. TF em microprocessadores comerciais • chips convencionais sem suporte para tolerância a falhas • solução temporária: • hardware adicional como votadores e comparadores • solução desejável • suporte para TF suprido pelo microprocessador • caso especiais • Intel iAPX 432 • Pentium

  6. iAPX432 da Intel • suporte a TF independente da arquitetura • (arquitetura = conjunto de instruções, modos de endereçamento, registradores internos) • pode ser implementado em qualquer sistema digital integrado • com acréscimo na área de silício

  7. iAPX432

  8. TF no iAPX432 • um chip pode ser configurado como mestre ou verificador: • um mestre pode operar sozinho ou ligado a um verificador • um verificador deve estar ligado a um mestre • verificador: • reversão de pinos • comparação • sinalização de erro

  9. Configurações com iAPX432

  10. Configurações alternativas: • arquitetura básica: não há redundância • arquitetura FRC: detecção por HW • arquitetura QMR: • detecção + reconfiguração por HW • par mestre-verificador primário + par estepe • dois pares ativos, mas apenas o par primário fornece resultados ao sistema • detecção de erro chaveia para o par estepe (FRC)

  11. 432 estrutura interna

  12. Pentium • 486 • paridade para os bytes de dados • Pentium • adicionalmente paridade nas caches, TLB e memória de microcódigo • verificação de exceções (machine check exception) • mestre / verificador (i432) • com dois chips - dobro do custo

  13. Pentium Pro • mantém todas as técnicas do Pentium • adicionalmente: • paridade nos bytes de dados substituída por 8 bits de ECC • 2 bits de paridade para barramento de endereço associado a técnicas de retry • bits de paridade para sinais de controle

  14. Pentium Pro • verificador de exceções • machine check architecture - MCA - com 3 registradores de controle e 5 bancos de 4 registradores de erro • problemas: • ECC limitado a parte mais fácil do circuito • documentação difícil • MCA opcional - pode ser desligado por software

  15. Sistemas de grande porte • mainframes: • alto custo • arquitetura com vários processadores de alto desempenho • memória comum de grande capacidade • canais para ligação com periféricos • sistemas operacionais multiusuário

  16. Características mainframes • condições para reparo: • passíveis de reparo a intervalos • funcionamento do sistema: • admissível interrupção • tamanho da unidade permutável: • nível de placas e unidades. • alto desempenho e alto custo • desaconselhável redundância pura e simples • alternativa: uso de processador de manutenção

  17. Processador de manutenção • pequeno porte e autônomo • opera independentemente do mainframe • supervisiona mainframe • não interfere no processamento normal • construído com componentes confiáveis • capacidade de autoteste • não dispensa outras técnicas de TF • códigos de correção e detecção de erros • recuperação de erros transitórios sem intervenção do processador de manutenção

  18. Processador de manutenção • ligação do processador de manutenção ao mainframe: • diretamente ao barramento central • onde trafegam dados, instruções, endereços e sinais de controle • através de uma interface especial • semelhante à interface de periféricos • exemplo: IBM 3080 e 3090

  19. Funções do processador de manutenção • inicialização e controle do sistema • supervisão contínua do sistema durante operação • diagnóstico de falhas • recuperação do sistema quando uma falha é detectada • teste durante desenvolvimento e produção

  20. Funções do processador de manutenção • na detecção de um erro transitório: • o processo é inicialmente interrompido • o processo é posteriormente recuperado para um estado livre de erros • o Sistema Operacional é responsável por reiniciar o processo recuperado

  21. Funções do processador de manutenção • na detecção de um erro permanente: • localizar a falha até o nível de componente • configurar p/ garantir operação normal • 2 cenários de recuperação • reconfiguração é possível, mesmo degradada em desempenho (graceful degradation) • reconfiguração não é possível: • proc. de manutenção diagnostica a falha até o nível de SRU

  22. Processador de manutenção

  23. Sistemas comerciais tolerantes a falhas • Exemplos: • computadores de grande porte desenvolvidos para aplicações comerciais tolerantes a falhas (sisitemas de transações) • Tandem: • mecanismos de TF implementados em software • Stratus: • mecanismos de TF implementados em hardware

  24. Tandem NonStop • sistema composto de 2 a 16 módulos • módulo: • processador + memória local + canal de entrada e saída + fonte de alimentação • interligados por um barramento duplicado • adicionalmente controladores de dispositivos de entrada e saída • controladores podem aparecer duplicados • cada um está conectado a dois canais de E/S

  25. Tandem NonStop • redundância dinâmica em software • sistema operacional GUARDIAN; • kernel + grande número de processos • processos de supervisão para processadores • pares para processos do sistema e do usuário • par = processo primário ativo + processo substituto passivo • processo primário envia pontos de recuperação p/ substituto

  26. Tandem NonStop

  27. Diagnóstico de erros • erros em um módulo detectados por outros módulos • a cada segundo: processo supervisor do módulo envia sinal de vida a todos outros módulos no sistema • a cada 2 segundos: processo supervisor verifica se recebeu sinal de vida dos outros módulos • na falta de um sinal: módulo correspondente falhou

  28. Diagnóstico de erros • operações de entrada e saída: • controle de time-out • sob falha: • processo de E/S substituto entra em operação

  29. Recuperação • Falha diagnosticada no módulo: • processos substitutos relacionados aos primários em execução no módulo voltam para o último PR • recuperação por retorno • processos substitutos são ativados • viram processos primários • sistema é reconfigurado • novos processos primários

  30. Recuperação • Após reparo do módulo faltoso: • novos processos primários criam substitutos nesse módulo • Falha de um canal de entrada e saída: • o processo substituto correspondente é rolado para PR • processo substituto é ativado • processo primário é desativado (substituto)

  31. Stratus Continuous Processing • Sistema: composto de 1 a 32 módulos • módulos interconectados por rede local (Strata Link) • Módulo: • processador + memória local + controladores de entrada e saída • interligados por um barramento interno

  32. Stratus • Módulos: • não estão disponíveis para redundância dinâmica • hardware duplicado com comparador (redundância estática) • módulos podem aparecer duplicados • a duplicação é transparente ao usuário e às aplicações.

  33. Stratus Esquema de um módulo do Stratus

  34. Stratus: SO • sistema operacional VOS • sistema multiusuário • permite acesso aos recursos através da rede local • apresenta recursos óbvios de tolerância a falhas uma vez que a tolerância é via hardware • tendência de uso de UNIX

  35. Stratus: diagnóstico de erros • interno aos módulos • comparação dos resultados (por replicação) • se comparação indica erro: • nenhum resultado é fornecido como saída do módulo • módulo é desconectado do sistema • é enviado sinal de erro ao programa de manutenção.

  36. Stratus: programa de manutenção • providencia realização de testes no módulo • objetivo: determinar se falha é permanente ou transitória • problema é registrado • erro indicado em um terminal de supervisão • para módulo faltoso duplicado no sistema: • erro fica invisível à aplicação (unidade redundante)

  37. Stratus: programa de manutenção • Falha transitória: • módulo é ressincronizado com unidade redundante • entra imediatamente em operação • Falha permanente: • módulo é substituído manualmente • não há interrupção do processamento normal

  38. Sequoia • multiprocessador • fortemente acoplado (tightly coupled) • problemas com isolamento de falhas • vantagem no balanceamento de carga • uso extensivo de detecção de falhas em hardware

  39. Sequoia • características gerais • construído com componentes padrão • familia Motorola 680x0 • Multibus para conexão a periféricos • UNIX • elementos básicos • barramento dual segmentado • processador + memória + I/O

  40. Sequoia: arquitetura

  41. Sequoia: barramento • barramento duplicado separado em 3 tipos de segmentos • segmentos eletricamente isolados (MI e SI) • configuração máxima: • até 8 segmentos de processador • até 16 segmentos de memória • até 64 PEs e 128 MEs / IOEs

  42. Sequoia: processador • PE • 2 micros sincronizados • comparação a cada ciclo de relógio • cada PE possui: • clock local • memória cache • metade read-only • gerenciador de memória virtual

  43. Sequoia: memória • interleaved • código de correção de erros • para detecção e correção de erros de memória • controlador de memória em cada elemento de memória é duplicado • espelhamento de memória

  44. Sequoia: memória • cada ME contém 1024 test-and-set locks • para realizar acesso exclusivo a posições da memória • usados pelo sistema operacional • periodicamente a memória é copiada em disco

  45. Sequoia: cache • local a cada PE • non-write-through • flush periódico dos blocos alterados (dirty blocks) determinado pelo SO • para atualizar memória principal • para contornar overflow de cache • flush (hardware especial): • primeiro escreve na memória espelhada • depois na primária

  46. Sequoia: I/O • I/O • também duplicados • espelhamento de disco • dois apaptadores • MA - Multibus adapter • BA - bus adapter • Multibus - barramento padrão para periféricos

  47. Sequoia: I/O • BA - bus adapter • conexão ao barramento de memória local (memory local segment) • quatro buffers locais • controlador de DMA • MA - Multibus adapter • conexão ao barramento de periféricos • microprocessador dual • buffers de dados (2Mbytes)

  48. Sequoia: TF • paridade • cache • barramentos • elementos de I/O • códigos de correção e detecção • comparação de elementos duplicados • protocolos de monitoração

  49. Sequoia: SO • compatível com padrão UNIX • kernell proprietário • superset do UNIX • test-and-set locks • exclusão mútua no acesso a memória compartilhada • controle de flush de cache • recuperação de falhas

  50. Computadores de bordo • Função: controle ativo de aeronaves • Características: • tempo real, com tempo de atuação curto • reparo: • possível apenas durante os intervalos de vôo • desejável: a cada centena de horas de vôo • interrupção no funcionamento: inadmissível • confiabilidade: • da ordem de 10-9 falhas por hora • para um vôo de 10 horas

More Related