A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

DETI - UFC Sistema em Tempo Real Jarbas Silveira Sistemas em Tempo Real Módulo 3: Tolerância a Falhas Créditos, em sua maioria, ao Prof. Helano de Sousa.

Apresentações semelhantes


Apresentação em tema: "DETI - UFC Sistema em Tempo Real Jarbas Silveira Sistemas em Tempo Real Módulo 3: Tolerância a Falhas Créditos, em sua maioria, ao Prof. Helano de Sousa."— Transcrição da apresentação:

1 DETI - UFC Sistema em Tempo Real Jarbas Silveira Sistemas em Tempo Real Módulo 3: Tolerância a Falhas Créditos, em sua maioria, ao Prof. Helano de Sousa Castro.

2 DETI - UFC Sistema em Tempo Real Jarbas Silveira Ementa: 3. Tolerância a Falhas: Falha, Erro e Defeito; Tipos de falhas; Redundância (Estática e Dinâmica); Detecção; Avaliação de Danos; Recuperação de erros. Roteiro

3 DETI - UFC Sistema em Tempo Real Jarbas Silveira - Introdução - Classificação das Falhas - Prevenção de Falhas - Tolerância à Falhas - Estratégias de Tolerância à Falhas - Recuperação do Erro Roteiro

4 DETI - UFC Sistema em Tempo Real Jarbas Silveira Roteiro

5 DETI - UFC Sistema em Tempo Real Jarbas Silveira - Técnicas de tolerância a falhas são usadas em sistemas de computadores como forma de se lidar com condições de erro que podem surgir durante as suas vidas operacionais. - O relacionamento entre causa e efeito é melhor entendido sob a luz de três conceitos básicos : defeito, erro e falha. Introdução

6 DETI - UFC Sistema em Tempo Real Jarbas Silveira -Um defeito é um desvio do comportamento do sistema de algum conjunto de especificações pré- definidas. Um Erro é parte de um estado errôneo que constitui uma diferença de um estado válido. Uma Falha ocorreria como resultado de um erro de um componente ou no projeto do sistema. Introdução

7 DETI - UFC Sistema em Tempo Real Jarbas Silveira Introdução Falha Erro Defeito Relacionamento entre Falha, Erro, e Defeito.

8 DETI - UFC Sistema em Tempo Real Jarbas Silveira -A fim de proteger o sistema contra falhas, o projetista terá que provê-lo com técnicas que possam lidar com elas. Entretanto, esta estratégia só pode levar em conta as falhas que tenham sido antecipadas durante a fase de projeto. Infelizmente, o único tipo de falha que pode ser antecipadamente previstas com algum grau de precisão são falhas em componentes do hardware do sistema [ANDERSON 81]. Classificação das Falhas

9 DETI - UFC Sistema em Tempo Real Jarbas Silveira -Falhas em um sistema podem resultar de várias e diferentes razões, desde envelhecimento de componentes, a falhas na interação do homem com computador. - Por este motivo, é comum se classificar as falhas de acordo com suas origens. Avizienis [AVIZIENIS 71] classifica as falhas em três grupos : falhas de projeto, falhas de interação e, falhas físicas. Classificação das Falhas

10 DETI - UFC Sistema em Tempo Real Jarbas Silveira -Falhas de projeto podem ser devido a : - especificações erradas, ambíguas, ou incompletas; - enganos cometidos durante a tradução de uma especificação na implementação final. Embora as falhas resultando de erros de projeto possam ocorrer tanto a nível de hardware, quanto a nível de software, estas últimas são mais predominantes e difíceis de se eliminar do sistema [TOY 87] Classificação das Falhas

11 DETI - UFC Sistema em Tempo Real Jarbas Silveira -Falhas de iteração são causadas por: - Ações não apropriadas do operador Uma forma de reduzir o número de ocorrências de tais falhas é fornecer treinamento extensivo tanto para o pessoal de operação como manutenção. Outra forma de atingir esse objetivo poderia ser o uso extensivo de interfaces homem-máquina que fossem de fácil uso (user-friendly) [TOY 87]. Classificação das Falhas

12 DETI - UFC Sistema em Tempo Real Jarbas Silveira -Falhas físicas geralmente resultam do envelhecimento dos componentes e, portanto, estão associadas com o hardware do sistema. Elas podem ser classificadas por : duração, valor, ou extensão [AVIZIENIS 78]. A duração está relacionada com o fato da falha ser, transiente ou permanente. Classificação das Falhas

13 DETI - UFC Sistema em Tempo Real Jarbas Silveira -Valor se refere a se a falha leva as variáveis assumirem um valor determinado ou indeterminado. - No primeiro caso, também conhecida como colado em (stuck-at), a variável é levada a assumir um valor lógico constante 1 ou 0. - No segundo caso, o efeito da falha sobre a variável é tal que seu valor se alterna entre dois valores, mas não em um modo especificado na especificação original. Classificação das Falhas

14 DETI - UFC Sistema em Tempo Real Jarbas Silveira -A extensão de uma falha é determinada pelo fato de se os erros provocados por ela são locais ou distribuídos. - Falhas locais afetam somente componentes de uma única variável lógica, enquanto falhas distribuídas afetam duas ou mais variáveis lógicas, um subsistema, ou o sistema [AVIZIENIS 78]. Classificação das Falhas

15 DETI - UFC Sistema em Tempo Real Jarbas Silveira -De um modo geral, erros causados por falhas no hardware são mais fáceis de antecipar que aqueles causados por falhas no software. Classificação das Falhas

16 DETI - UFC Sistema em Tempo Real Jarbas Silveira -análise dos históricos de falhas para se identificar tendências (26R Space Shuttle-Relatório da Comissão Roger): - Criticalidade 1 - Problemas que poderiam resultar em perda de vida ou do veículo; - Criticalidade 2 - Problemas que poderiam criar um perigo real ou em potencial que poderiam levar a perda da carga da missão ou de toda missão, ou ainda em risco à tripulação; - Criticalidade 3 - Problemas que poderiam criar um retardo real ou em potencial da missão; - Criticalidade 4 - Defeitos cosméticos e/ou não funcionais, ou defeitos que sejam imediatamente reparáveis, sem nenhum impacto no tempo de execução da missão. Classificação das Falhas

17 DETI - UFC Sistema em Tempo Real Jarbas Silveira Classificação das Falhas Distribuição de relatórios de problemas (287 eventos)

18 DETI - UFC Sistema em Tempo Real Jarbas Silveira Classificação das Falhas -A experiência anterior mostra a importância de se coletar dados relacionados com eventuais problemas que o sistema possa experimentar (comunicação de problemas). Essa informação pode ser usada a fim de corrigir imperfeições no projeto, deste modo aumentado sua confiabilidade (esta estratégia é largamente empregada pelos engenheiros de controle de qualidade em sistemas comerciais).

19 DETI - UFC Sistema em Tempo Real Jarbas Silveira Prevenção de Falhas - -Na técnica de prevenção de falhas, também conhecida como Intolerância à Falhas, todos os esforços são concentrados na eliminação de todas as possíveis fontes de falhas antes que o sistema entre em operação. - Componentes altamente confiáveis são usados no projeto; Uma blindagem eficaz é utilizada, e testes exaustivos são feitos na esperança de se eliminar todas as falhas. Assim, o sistema funcionará apropriadamente (de acordo com suas especificações), contanto que nenhuma falha ocorra.

20 DETI - UFC Sistema em Tempo Real Jarbas Silveira Prevenção de Falhas - Embora esta técnica seja relativamente fácil de implementar, ela tem empecilhos quando usada isoladamente. - O sistema só irá operar de acordo com suas especificações somente quando estiver livre de erros - O pessoal de manutenção terá que estar de plantão para eventuais interrupções de funcionamento - Tais restrições podem ser inaceitáveis para sistemas que estejam localizados em lugares de difícil acesso para manutenção (p.ex. naves espaciais não tripuladas). - Por estas razões, prevenção de falhas é usada conjuntamente com tolerância à falhas.

21 DETI - UFC Sistema em Tempo Real Jarbas Silveira - Nesse caso, o projetista vê o sistema de um modo mais realístico, considerando as falhas como eventos normais que devem ser tratados. Um sistema (de computador) tolerante à falhas é aquele que, sem nenhuma intervenção manual, é capaz de lidar com falhas operacionais e de projeto, e de manter o desempenho do sistema dentro de suas especificações. Tolerância à Falhas

22 DETI - UFC Sistema em Tempo Real Jarbas Silveira - Estratégia mais comum: Redundância - Redundância a nivel de software, hardware e tempo - O uso de recursos redundantes empregados em tais sistemas não tem como objetivo aumentar o desempenho deles, como no caso, por exemplo, quando múltiplos processadores são usados para aumentar a velocidade de processamento de dada certa computação. De fato, de um modo geral, a computação em sistemas redundantes pode acabar sendo mais lenta (!) Tolerância à Falhas

23 DETI - UFC Sistema em Tempo Real Jarbas Silveira -A redundância em sistemas tolerantes à falhas podem ser classificadas em : hardware, software, e tempo. - Poderia ser dito, entretanto, que o uso de um tipo de redundância pode levar ao uso de outros tipos. Na redundância de software, por exemplo, o programa de controle faz uso tanto do espaço de memória (hardware), como de execução (tempo) [TOY 87]. Tolerância à Falhas

24 DETI - UFC Sistema em Tempo Real Jarbas Silveira Redundância de Hardware A redundância de hardware consiste do uso de circuitos extras para detectar e corrigir erros e pode ser dividido em dois tipos : estática e dinâmica. Tolerância à Falhas

25 DETI - UFC Sistema em Tempo Real Jarbas Silveira Redundância de Hardware Estática Na redundância estática (ou mascaramento), componentes adicionais são usados para mascarar os efeitos de uma falha (isto é normalmente conseguido através do uso de componentes em paralelo). Tolerância à Falhas

26 DETI - UFC Sistema em Tempo Real Jarbas Silveira Redundância de Hardware Estática - Seu uso em sistemas reparáveis pode vir a ser indesejável, uma vez que o processo de isolamento do componente falho teria que contar com outros mecanismos para localizá-la. - Entretanto, porque a falha não é sentida pelo sistema, esta técnica pode ser muito atrativa em aplicações em tempo real com requerimentos de tempo muito exigentes, uma vez que não seria necessário se gastar tempo no processo de detecção e isolamento da falha. Tolerância à Falhas

27 DETI - UFC Sistema em Tempo Real Jarbas Silveira Redundância de Hardware Estática - Um exemplo típico do uso deste tipo de redundância é a Redundância Modular Tripla (TMR - Triple Modular Redundancy). Tolerância à Falhas M1M1 M2M2 M3M3 votador

28 DETI - UFC Sistema em Tempo Real Jarbas Silveira Redundância de Hardware Estática Tolerância à Falhas M1 M2 Vota Mn M3 Redundância N-modular (NMR)

29 DETI - UFC Sistema em Tempo Real Jarbas Silveira Redundância de Hardware Dinâmica Em contraste com a redundância estática, nesta técnica, (também conhecida como redundância seletiva), os módulos redundantes existem em um modo stand-by e podem substituir um módulo falho, automaticamente ou manualmente, pelo módulo reserva selecionado, que pode está ativo (ligado) ou passivo (desligado). Tolerância à Falhas

30 DETI - UFC Sistema em Tempo Real Jarbas Silveira Redundância de Hardware Dinâmica Tolerância à Falhas M1 M2 saída Mn M3 Em um sistema Stand-by, um dos n módulos é usado para fornecer a saída do sistema e n-1 módulos são usados como cópias.

31 DETI - UFC Sistema em Tempo Real Jarbas Silveira Redundância de Hardware Dinâmica - A falha tem que ser primeiramente detectada, uma vez que ela não é mascarada. - Se uma falha é detectada, um procedimento de diagnóstico deve ser executado a fim de localizar quais os módulos que estão falhos, antes de substituí-los. - Note que o tempo entre a detecção da falha e a substituição de um módulo falho por um reserva pode ser considerável (especialmente se o módulo reserva é passivo), e isto pode não ser tolerável em algumas aplicações em tempo real. Tolerância à Falhas

32 DETI - UFC Sistema em Tempo Real Jarbas Silveira Redundância de Software Redundância de software é usada para ajudar o sistema a superar tanto falhas de hardware como de software. Ela consiste de programas e instruções extras tanto em macro como micro níveis [TOY 87]. Existem dois tipos de redundância de software : estática e dinâmica. Tolerância à Falhas

33 DETI - UFC Sistema em Tempo Real Jarbas Silveira Redundância de Software Estática Na redundância de software estática, programas replicados são executados concorrentemente em máquinas separadas e seus resultados são comparados numa base de a maioria vence (uma versão software de um TMR). Tolerância à Falhas

34 DETI - UFC Sistema em Tempo Real Jarbas Silveira Redundância de Software Dinâmica Na redundância de software dinâmica, uma cópia do estado de um módulo é salva, periodicamente, em alguns pontos do programa, conhecidos como pontos de checagem (checkpoints), durante a operação do sistema. A recuperação de um erro é alcançada retrocedendo a execução do programa (rolling back) para o último ponto de checagem. Tolerância à Falhas

35 DETI - UFC Sistema em Tempo Real Jarbas Silveira Redundância de Tempo Neste caso a redundância é implementada através da repetição de operações e é normalmente usada para detectar falhas transientes [LALA 85]. Exemplos desta técnica são : re-execução (rollback) de instruções, segmentos de programas ou programas inteiros, e o re-envio de mensagens em um sistema distribuído. Tolerância à Falhas

36 DETI - UFC Sistema em Tempo Real Jarbas Silveira Redundância de Tempo Em operações rollback, a re-execução de programas começa de pontos pré-definidos em um programa, conhecidos como pontos de checagem (checkpoints), onde o status do programa e toda informação necessária para uma recuperação bem sucedida é armazenada. O JPL-STAR [AVIZIENIS 71] e o computador Non-Stop Tandem [KATZMAN 78] são exemplos de sistemas que fazem extensivo uso desta técnica. Tolerância à Falhas

37 DETI - UFC Sistema em Tempo Real Jarbas Silveira Um sistema tolerante à falhas deve executar uma seqüência de passos, (que incluem detecção e recuperação), após a ocorrência de uma falha. O número e tipo de passos podem depender do tipo de redundância a ser empregada. Existem, entretanto, quatro passos básicos que iremos descrever agora : - Detecção de Erros; - Confinamento e Avaliação de Danos; - Recuperação de Erros; - Tratamento da Falha e Continuação do Serviço. Estratégias de Tolerância à Falhas

38 DETI - UFC Sistema em Tempo Real Jarbas Silveira Detecção de Erros: Este é o ponto de partida para qualquer técnica de tolerância à falhas com alguma chance de ser bem sucedida. De um modo geral, quanto mais detecção de erros em um sistema, mais confiável ele será. Não é prático, entretanto, equipar o sistema com um grande número de facilidades para detecção de erros, sobretudo devido ao custo e overheads impostos por extensivas checagens. Estratégias de Tolerância à Falhas

39 DETI - UFC Sistema em Tempo Real Jarbas Silveira Detecção de Erros: O sistema não deve ter nenhum ponto comum de falhas relacionado com seu checador e, idealmente, ele (checador) deveria ser projetado por uma diferente equipe de projetistas. Anderson e Lee [ANDERSON 81] dão três critérios que balizam o projeto de um checador ideal: 1. Ele deveria ser derivado tão somente das especificações do sistema; 2. Ele deveria ser capaz de fazer uma completa checagem do sistema; 3. Ele deveria ser independente do sistema. Estratégias de Tolerância à Falhas

40 DETI - UFC Sistema em Tempo Real Jarbas Silveira Detecção de Erros: Duas principais estratégias podem ser usadas, no que se refere a quando a checagem deveria ser feita. – Last-moment checks – Early check Na prática, entretanto, uma combinação das duas estratégias acima deveriam ser usadas para se atingir uma boa cobertura de falhas. Estratégias de Tolerância à Falhas

41 DETI - UFC Sistema em Tempo Real Jarbas Silveira Detecção de Erros: Enquanto as técnicas de detecção de erros podem variar de sistema para sistema, a maioria delas pode ser situadas em uma das seguintes [ANDERSON 81] : - Checagem por Replicação - Checagem por temporização - Checagem por Codificação - Checagem por Reversão - Checagem por Consistência - Checagem por Diagnóstico - Checagem por Sequência de Controle Estratégias de Tolerância à Falhas

42 DETI - UFC Sistema em Tempo Real Jarbas Silveira -Checagem por Replicação Consiste da replicação da atividade do sistema que está sendo checada e é uma das mais completas medidas para se detectar erros em um sistema de computador [ANDERSON 81]. É normalmente usada a fim de se detectar falhas no hardware, e pode ser implementada tanto a nível de circuito como a nível de subsistema. Apesar de ser uma técnica relativamente cara, está se tornando praticável, em termos de custos, para aplicações que têm grandes requisitos de confiabilidade, devido aos rápidos avanços nas tecnologias de VLSI e microprocessadores [TOY 87]. Estratégias de Tolerância à Falhas

43 DETI - UFC Sistema em Tempo Real Jarbas Silveira -Checagem por Replicação Estratégias de Tolerância à Falhas Matching Circuits usados no sistema de comutação ESS da AT&T

44 DETI - UFC Sistema em Tempo Real Jarbas Silveira -Checagem por temporização Checagem por Temporização é particulamente eficaz na detecção de erros no software em programas replicados [TOY 87]. Aqui, a execução de uma operação não deve exceder um tempo máximo pré-determinado, caso contrário um exceção de timeout (tempo ultrapassado) é levantada para indicar que um defeito ocorreu. Estratégias de Tolerância à Falhas

45 DETI - UFC Sistema em Tempo Real Jarbas Silveira -Checagem por temporização Esta técnica é normalmente associada com o uso de um temporizador, que pode ser implementado tanto por hardware como por software. Quando um temporizador hardware é utilizado, ele é chamado de temporizador cão de guarda (watchdog timer) e tem que ser periodicamente resetadopelo programa. Caso este temporizador não resete (atualize) o temporizador (devido a, por exemplo, um laço infinito no programa, ou um problema qualquer no software e/ou hardware), ele irá levantar uma exceção. Estratégias de Tolerância à Falhas

46 DETI - UFC Sistema em Tempo Real Jarbas Silveira -Checagem por Codificação Esta técnica usa uma representação redundante de objetos como forma de detectar erros. Esta representação mantém um relacionamento fixo com a representação original (não redundante) do objeto, e uma exceção será levantada se este relacionamento não existir mais, como resultado de um erro [ANDERSON 81]. Estratégias de Tolerância à Falhas

47 DETI - UFC Sistema em Tempo Real Jarbas Silveira -Checagem por Codificação O exemplo mais comum de checagem por codificação é o uso de checadores de paridade, onde um bit de paridade está associado com um número de bits (normalmente uma palavra), e seu relacionamente é tal que a soma módulo 2 de todos os bits é ou 0 (zero), paridade par, ou 1 (um), paridade ímpar. Estratégias de Tolerância à Falhas

48 DETI - UFC Sistema em Tempo Real Jarbas Silveira -Checagem por Reversão A Checagem por Reversão envolve o cálculo de qual deveria ser a entrada para uma computação, baseado em uma saída (já obtida) para aquela mesma computação, e posterior comparação daquela entrada com a entrada original. Estratégias de Tolerância à Falhas

49 DETI - UFC Sistema em Tempo Real Jarbas Silveira -Checagem por Reversão Ela é somente factível quando o relacionamento entre as entradas e saídas é na base de uma para uma. Estes tipos de checagens podem ser usados, com grande eficiência, em sistemas onde funções matemáticas estão envolvidas (no relacionamento de entrada com saída), embora margem para discrepâncias deve ser aceita quando operações em ponto flutuante são usadas. Estratégias de Tolerância à Falhas

50 DETI - UFC Sistema em Tempo Real Jarbas Silveira -Checagem por Consistência Nesta técnica um teste é feito para checar se o estado das variáveis no sistema é razoável, baseado no conhecimento prévio de suas características. Por exemplo, se o resultado de uma dada computação não pode resultar em valores negativos, uma checagem por consistência poderia ser usada para levantar uma exceção caso um valor negativo fosse obtido como resultado. Estratégias de Tolerância à Falhas

51 DETI - UFC Sistema em Tempo Real Jarbas Silveira -Checagem por Diagnóstico Checagem por diagnóstico também usa um conhecimento prévio de partes do sistema. Entretanto, nesta técnica, uma checagem é feita nos componentes do sistema, e não no seu comportamento (como na checagem por consistência). Nesse sentido, a checagem por diagnóstico usa o conhecimento prévio das saídas dos componentes para todas as possíveis entradas, de modo a compará-las com as saídas resultantes da estimulação dos componentes com algum conjunto pré-definido de entradas. Estratégias de Tolerância à Falhas

52 DETI - UFC Sistema em Tempo Real Jarbas Silveira -Checagem por Sequência de Controle Esta técnica é basicamente relacionada com detecção de erros no software e é baseada em técnicas que checam o sistema para qualquer desvio de uma sequência de execução especificada. Uma falha relacionada com este tipo de erro é chamada uma falha de controle (control fault) e pode causar as seguintes conseqüências [TOY 87] : - execução infinita de um laço; - execução de um laço de programa em um número incorreto de vezes; - desvio ilegal ou errado. Estratégias de Tolerância à Falhas

53 DETI - UFC Sistema em Tempo Real Jarbas Silveira -Checagem por Sequência de Controle Tres tipos de técnicas podem ser usadas para lidar com falhas de controle : checagem de desvios permitidos, esquema do passador de bastão (relay-runner), e o uso combinado do watchdog timer e do esquema do passador de bastão. Estratégias de Tolerância à Falhas

54 DETI - UFC Sistema em Tempo Real Jarbas Silveira -Checagem por Sequência de Controle Checagem de desvios permitidos consiste na detecção da execução de uma operação de desvio inapropriada [GALLAHER 81] e um exemplo do uso desta técnica pode ser achado no sistema de comutação eletrônica da AT&T. Nesse esquema, um bit de desvio- permitido está associado com cada palavra na memória principal, e é usado para indicar se uma posição de memória pode ou não ser usada por qualquer instrução de desvio. Estratégias de Tolerância à Falhas

55 DETI - UFC Sistema em Tempo Real Jarbas Silveira -Checagem por Sequência de Controle O esquema do passador de passador de bastão [RAMAMOORTHY 74] pode ser usado também como um meio de detecção de execução ilegal de jumps. Nesse esquema, códigos pré-definidos ou bastões (similares a senhas), são associados com cada transferência de controle e são checados em pontos apropriados. Estratégias de Tolerância à Falhas

56 DETI - UFC Sistema em Tempo Real Jarbas Silveira -Checagem por Sequência de Controle O esquema que consiste da combinação watchdog timer e relay runner, é usado a fim de detectar laços infinitos em um programa e falhas na estrutura de sequência de controle de um programa [KRAFT 81]. O temporizador (timer) levantará um exceção de timeout caso o programa não se apresente apropriadamente (por exemplo, se um número especificado de pontos de checagem não tenham sido atravessados em uma dada ordem e dentro de um dado período). Estratégias de Tolerância à Falhas

57 DETI - UFC Sistema em Tempo Real Jarbas Silveira Confinamento e Avaliação de Danos: As técnicas discutidas na última sessão fornecem ao sistema a capacidade de detectar os efeitos de uma falha (isto é, o erro). Entretanto, mesmo se o mecanismo de detecção fosse perfeito (todos os erros fossem detectados), haveria ainda um período de tempo decorrido entre o momento em que a falha ocorreu e o momento em que o erro foi detectado (este tempo é geralmente referido com latência da falha). Estratégias de Tolerância à Falhas

58 DETI - UFC Sistema em Tempo Real Jarbas Silveira Confinamento e Avaliação de Danos: Um conceito útil para organizar um sistema a fim de facilitar o confinamento dos danos é o da ação atômica [LOMET 77]. A atividade de um elemento constitui uma ação atômica se não existem interações entre aquele elemento e o resto do sistema por toda duração da atividade [ANDERSON 81]. Estratégias de Tolerância à Falhas

59 DETI - UFC Sistema em Tempo Real Jarbas Silveira Recuperação de Erros: As discussões apresentadas nas duas sessões anteriores não se preocuparam com a alteração do sistema após a ocorrência de uma falha. Uma vez que um erro é detectado, esforços devem ser feitos a fim de trazer o sistema de volta para um estado operacional ou, em outras palavras, fazer o sistema recuperar-se dos erros. Estratégias de Tolerância à Falhas

60 DETI - UFC Sistema em Tempo Real Jarbas Silveira Recuperação de Erros: O método de recuperação de erro usado pode ser influenciado pela técnica de detecção de erros utilizada. Em sistemas que usam as técnicas de mascaramento de falhas (p.ex, sistemas TMR), a detecção e a recuperação de erros ocorrem simultaneamente. Esses sistemas não necessitam incorporar todos os passos relacionados com sistemas tolerantes à falhas mencionados anteriormente, por razões óbvias. A ação de recuperação de erro envolve o uso de algoritmos de recuperação que podem (ou não) requerer decisões humanas. Estratégias de Tolerância à Falhas

61 DETI - UFC Sistema em Tempo Real Jarbas Silveira Recuperação de Erros: A primeira classe de algoritmos é dita de automática, ao passo que o segundo caso é dita controlada manualmente. Algoritmos de recuperação automática podem ser classificados, de acordo com o estado do sistema após a ação de recuperação, como : recuperação completa, recuperação com degradação, e desligamento seguro (safe shutdown) [AVIZIENIS 78]. Estratégias de Tolerância à Falhas

62 DETI - UFC Sistema em Tempo Real Jarbas Silveira Recuperação de Erros: Recuperação completa tenta deixar o sistema com a mesma capacidade de hardware e software que existia antes da ocorrência da falha. Isto é alcançado usando-se chaveamento automático dos módulos falhos (reconfiguração) e substituido-os por cópias sadias. Estratégias de Tolerância à Falhas

63 DETI - UFC Sistema em Tempo Real Jarbas Silveira Recuperação de Erros: Na recuperação com degradação, também conhecida como degradação progressiva (graceful degradation ou fail-soft operation) [LALA 85], os módulos falhos são também isolados, como no método anterior, entretanto, não existem cópias disponíveis e portanto o sistema irá prosseguir de uma forma degradada. Estratégias de Tolerância à Falhas

64 DETI - UFC Sistema em Tempo Real Jarbas Silveira Recuperação de Erros: Desligamento seguro (safe shutdown ou fail-safe operation), é o caso limite de uma recuperação com degradação [TOY 87]; nesse caso o sistema não é mais capaz de fornecer a computação requerida porque todas as cópias foram utilizadas em tentativas anteriores de recuperação, ou o número de cópias sobreviventes não pode dar conta da computação requerida. Estratégias de Tolerância à Falhas

65 DETI - UFC Sistema em Tempo Real Jarbas Silveira Tratamento da Falha e Continuação do Serviço: Uma vez que os passos anteriores não asseguram que a falha que provocou o(s) erro(s) seja identificada, outro passo pode ser necessário a fim de evitar que a falha ocorra novamente. Note que um tipo particular de erro poderia ser o resultado de muitas fontes de falhas. Este passo é utilizado para isolar a falha, ou para reconfigurar o resto do sistema, em um esforço para evitar suas manifestações repetidas e, usualmente envolve dois estágios : localização e reparo do sistema. Estratégias de Tolerância à Falhas


Carregar ppt "DETI - UFC Sistema em Tempo Real Jarbas Silveira Sistemas em Tempo Real Módulo 3: Tolerância a Falhas Créditos, em sua maioria, ao Prof. Helano de Sousa."

Apresentações semelhantes


Anúncios Google