Escolar Documentos
Profissional Documentos
Cultura Documentos
Bibliografia
H. Kopetz, Design Principles for Distributed Embedded Applications, Kluwer Academic Publishers, 1997.
Compensao de erros
Diagnstico
Redundncia
Deteco de erros
Um aspecto fundamental para obter tolerncia a falhas a deteco eficiente de erros Isso requer conhecimento dos estados do sistema: Estado actual Estado correcto desejado
Deteco de erros
As tcnicas usuais podem dividir-se em 3 grupos consoante sejam baseadas em: Conhecimento apriorstico Clculos redundantes Dupla execuo de tarefas
Deteco de erros
Tcnicas baseadas em conhecimento apriorstico Usam caractersticas pr-conhecidas das grandezas associadas a cada estado do sistema (Domnio lgico) Conhecimento sintctico sobre o espao de codificao e.g. Bits de paridade, Somas de controlo, CRCs, i.e., cdigos de deteco de erros, eventualmente com correco. Usa-se muito em transmisso de informa o. Verificao de plausabilidade e.g. Comparao das grandezas medidas, tais como valores de entrada ou resultados de clculos, com gamas de validade prestabelecidas.
Sistemas Tolerantes a Falhas 5 Lus Almeida, EST -IPCB, 2 semestre 2001
Deteco de erros
Tcnicas baseadas em conhecimento apriorstico (Domnio temporal) Padres de activao de procedimentos e.g. Medio da periodicidade de activao de uma dada funo e comparao com o respectivo perodo especificado. Verificao do tempo de execuo de tarefas e.g. Medio do tempo de execuo efectivo de cada instncia da tarefa (cada activao) e comparao com determinados limites pr-estabelecidos (como mximo WCET, e/ou mnimo)
Deteco de erros
Tcnicas baseadas em clculos redundantes Redundncia temporal e.g. Uma dada funo executada mltiplas vezes, com as mesmas entradas. Eventuais diferenas nas sadas indicam erros causados por defeitos fsicos transientes (ou por rudo). Redundncia de hardware e.g. Um determinado programa executado simultneamente em mltiplos controladores e as respectivas sadas comparadas. Este mtodo permite detectar defeitos fsicos quer transientes quer permanentes.
Deteco de erros
Tcnicas baseadas em clculos redundantes Redundncia de software: Software diverso sobre o mesmo hardware e.g. Uma funo que escrita por pessoas diferentes, sendo as mlitplas verses executadas em sequncia no mesmo controlador. Permite detectar defeitos de software e defeitos fsicos transientes. Software diverso sobre mltiplo hardware e.g. Tal como no caso anterior mas em que as mltiplas verses da funo so executadas em controladores diferentes. Permite detectar defeitos de software e fsicos, quer transientes quer permanentes.
Sistemas Tolerantes a Falhas 8 Lus Almeida, EST -IPCB, 2 semestre 2001
Deteco de erros
Rplicas determinsticas A redundncia de hardware exige a utilizao de rplicas determinsticas. Uma rplica de um dado equipamento diz-se determinstica se, na ausncia de erros e em cada instante, a respectiva sada d um valor que no difere da do equipamento principal mais do que um certo valor residual pr-estabelecido. e.g. Considere um sistema que gera uma sequncia infinita de nmeros. Uma rplica determinstica desse sistema gerar, nos mesmos instantes, exactamente os mesmos nmeros.
Deteco de erros
Tcnicas baseadas na dupla execuo de tarefas (caso especfico de redundncia temporal) Consistem em executar (tentar executar) a mesma tarefa duas vezes para cada instncia. Permitem a deteco de erros causados por defeitos fsicos transientes Garantindo tempo para as duas execues da tarefa em todas as respectivas activaes (inclusiv no pior caso), pode-se conseguir uma taxa de deteco de erros acima de 99,9%.
10
Tolerncia a falhas
Confome referido anteriormente, a redundncia de hardware permite evitar que falhas de componentes causem uma falha do sistema global (compensao de erros). O nmero de rplicas por componente (inclundo o prprio) depende do nmero (k) de falhas que se pretende tolerar e do respectivo tipo:
k+1 componentes para falhas do tipo falha-silncio 2*k+1 componentes para falhas do tipo falha-consistente 3*k+1 componentes para falhas maliciosas.
11
Tolerncia a falhas
As tcnicas de tolerncia a falhas podem ser aplicadas a dois nveis: Ao nvel da arquitectura, i.e., de forma transparente para a aplicao (Tolerncia a Falhas Sistemtica)
Ao nvel da aplicao, i.e., inseridas no cdigo especfico da aplicao (Tolerncia a Falhas Especfica da Aplicao)
A tolerncia a falhas sistemtica permite aliviar a complexidade da aplicao, transferindo-a, no que diz respeito quele aspecto, para hardware e software de sistema adicionais.
Sistemas Tolerantes a Falhas 12 Lus Almeida, EST -IPCB, 2 semestre 2001
Num sistema distribudo cada nodo constitui um elemento com fronteiras bem definidas, que fornece um servio atravs de um interface tambm bem definido. Pode-se ento falar de um nodo como uma unidade de falha do sistema, i.e., ou est operacional ou no, do ponto de vista do servio que fornece.
Por sua vez, a redundncia pode ser aplicada ao nvel de nodo, i.e., a replicao de hardware ser feita usando o nodo como unidade.
13
Exemplos de tcnicas relacionadas com tolerncia a falhas em sistemas distribudos e baseadas em nodos como unidades de falha: Controlo de presena (membership services) Servios que permitem saber quais os nodos que se encontram operacionais, e.g., atravs da activao peridica de um bit num determinado registo. Gesto da redundncia Servios que efectuam a deteco de discrepncias entre as sadas de nodos replicados e controlam a entrada e sada de funcionamento das rplicas.
Sistemas Tolerantes a Falhas 14 Lus Almeida, EST -IPCB, 2 semestre 2001
A incorporao de tcnicas de tolerncia a falhas ao nvel do nodo leva criao de unidades tolerantes a falhas. (FTUs Fault-Tolerant Units)
Estas unidades desempenham a mesma funcionalidade do nodo base, prestam os mesmos servios, mas esto dotadas de servios suplementares que lhe conferem um certo nvel de tolerncia a falhas. De um ponto de vista macroscpico, cada FTU como um simples nodo do sistema, apenas com uma taxa de falha mais baixa devida s situaes de falha que so toleradas.
Sistemas Tolerantes a Falhas 16 Lus Almeida, EST -IPCB, 2 semestre 2001
Tolerncia a uma falha do tipo falha-silncio Estas so falhas em que o nodo ou produz um valor temporalmente e logicamente correcto ou simplesmente omite a sada.
FTU Nodo
Nodo de backup
Uma FTU em que o nodo base s apresenta falhas do tipo falha-silncio requer a utilizao de dois nodos. Se um falha o outro continua a responder.
17
Tolerncia a uma falha do tipo falha-pra ou falha-consistente Estas so falhas em que o nodo, aps uma falha, pode continuar a produzir um valor errado mas consistente, i.e., uma sada de valor constante. Uma FTU em que o nodo base pode apresentar falhas do tipo falha-pra ou falha-consistente requer a utilizao de trs nodos e um mecanismo de votao para eleger de entre as trs sada a que est correcta (uma estar errada e duas estaro correctas). (TMR Triple Modular Redundancy)
Sistemas Tolerantes a Falhas 18 Lus Almeida, EST -IPCB, 2 semestre 2001
FTU Nodo
votao
Tolerncia a uma falha do tipo falha-inconsistente (maliciosa ou bizantina) Estas so falhas em que o nodo, aps uma falha, pode continuar a produzir valores errados e inconsistentes, i.e., uma sada de valor varivel. Uma FTU em que o nodo base pode apresentar falhas do tipo falha-inconsistente requer a utilizao de quatro nodos e um protocolo adequado que permita determinar qual o nodo que est a produzir o valor errado. Este protocolo requer a troca de mensagens entre todos os nodos da FTU, com os valores das respectivas sadas. (Byzantine-Resilient Agreement Protocol)
Sistemas Tolerantes a Falhas 19 Lus Almeida, EST -IPCB, 2 semestre 2001
FTU nodo
10