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

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

Universidade da Beira Interior Processadores Fail-Stop Trabalho realizado por: Rui ferreira Nº 15039 Eng. Informática.

Apresentações semelhantes


Apresentação em tema: "Universidade da Beira Interior Processadores Fail-Stop Trabalho realizado por: Rui ferreira Nº 15039 Eng. Informática."— Transcrição da apresentação:

1 Universidade da Beira Interior Processadores Fail-Stop Trabalho realizado por: Rui ferreira Nº 15039 Eng. Informática

2 Processadores Fail-Stop  Definição:  Processador Fail-stop: quando ocorre uma falha no nó (processador) este tem o comportamento de parar de executar  Efeitos visíveis de uma avaria num processador fail-stop:  Pára de executar  Dados internos e do armazenamento volátil associados ao processador são perdidos; Memoria estável não é afectada  Qualquer processador pode detectar a avaria de um processador fail-stop

3 Processadores Fail-Stop  Como não é possível tolerar um número indefinido de falhas, a solução aproximada é a implementação de um processador k-fail-stop com o uso de k+1 processadores  Processador K-Fail-Stop: É um sistema computacional que se comporta como um processador fail-stop desde que falhem menos que k+1 processadores.  Ex: Se k=1 conseguimos construir um sistema em que pode falhar um nó se tivermos 2 processadores  Limitações para Implementação de um processador K-Fail-Stop:  Dependerá da confiabilidade do sistema de armazenamento de informações;

4 Processadores Fail-Stop  Existem processadores que controlam o suporte de armazenamento, designados por storage processor (s-processador);  Existem outros processadores responsáveis pela execução dos programas (processos), estes designados por p-processador;  Se o s-processador funciona correctamente então a implementação do processador K-fail-stop é simplificada

5 Processadores Fail-Stop  Duas maneiras de Implementação de um processador K-Fail-Stop:  Implementação com Armazenamento Estável Fiável (caso em que se assume que o s-processor nao falha)  Implementação com Armazenamento Estável Não Fiável (caso em que se assume que o s-processor pode falhar)

6 Implementação com Armazenamento Estável Fiável  Condições de implementação  É constituído por K+1 p-processadores e 1 s-processador  K+1 p-processadores podem falhar de maneira arbitraria  S-processador não falha (fiável)  Processadores comunicam entre si através de mensagens  p-processadores e s-processador estão conectados por uma rede de comunicação fiável  As mensagens são autenticadas (emissor identificável)  relógios são sincronizados e δ é o atraso máximo de comunicação

7 Implementação com Armazenamento Estável Fiável  Para que esta implementação funcione:  É necessário que todos os processadores façam os mesmos pedidos ao pocesso-s e este acede ao armazenamento estável  Detecção da falha:  Mensagens diferentes;  Timeout;  Não recebimento de mensagem;  Cuidado com falhas Bizantinas!

8 Algoritmo para processador K-Fail-Stop com armazenamento estável fiável  1. Para escrever no armazenamento estável, um p-processo p j envia uma mensagem de escrita ao s-processador  2. Para ler do armazenamento estável, um p-processo p j : envia uma mensagem de leitura ao s-processador e usa o valor recebido.  Os p-processadores estão constantemente em comunicação com o s- processador, com envio de mensagens  3. O s-processo s, ao receber um pedido de todos os p-processos: R: conjunto de pedidos recebidos em tempo próprio If |R|= k+1 Λ todos os pedidos são idênticos Λ todos os pedidos são de processos diferentes Λ ¬ failed then if pedido é de escrita then escreve o valor if pedido é de leitura then envia valor para todos os p-processos cuja requisição está em R else failed = true

9 Comentários sobre o Algoritmo  S-processo só executa a operação na memória estável se o processador K-Fail-Stop não falhou  No caso de todos falharem de maneira maliciosa o armazenamento estável pode escrever esse valor como correcto, mas para tal, TODOS os p-processos precisam de escrever o mesmo valor incorrecto!

10 Implementação sem Armazenamento Estável Fiável  Condições de implementação  s-processo não é fiável  É necessário implementar um s-processador fiável, que será feito através de múltiplos s-processadores  p-processadores e s-processsdores podem falhar de maneira arbitrária  Para implementar um processador fail-stop é necessário no mínimo:  K+1 p-processadores  2k+1 s-processos  p-processadores e s-processador estão conectados por uma rede de comunicação fiável

11 Implementação sem Armazenamento Estável Fiável  Cada um dos p-processos executa o mesmo programa  Detecção da falha:  Pelos s-processos quando p-processo escreve para o armazenamento estável  Processador fail-stop falha quando:  Desacordo em algum dos k+1 p-processos na operação de escrita;  Timestamp/datas de chegada incompatíveis;

12 Implementação sem Armazenamento Estável Fiável  Caso o processador fail-stop tenha falhado e se ocorre a falha de:  H1. Menos de k+1 p-processos: ocorrerá um desacordo entre os valores dos diferentes p-processos, pelo menos um p-processo enviará um valor correcto;  H2. Menos de k+1 s-processos: a maioria de s-processos não falhou;  H3. Até k processos no total: pode-se ter a certeza que pelo menos 1 p-processo está a funcionar correctamente e que a maioria dos s-processos está a funcionar;

13 Implementação sem Armazenamento Estável Fiável  Caso o processador K-fail-stop não tenha falhado é desejado que:  A operação de actualização será executada por todos os processos-s não defeituosos;  cada p-processo envia um pedido a cada um dos processos-s  Concordância na tomada de decisão por parte dos processos-s em relação aos valores recebidos dos processos-p. Isto pode ser formalizado da seguinte forma:  Se p j não é defeituoso, então todo processo-s não defeituoso recebe o pedido de p j

14 Implementação sem Armazenamento Estável Fiável  Se os processos-s s k e s l são não defeituosos, então ambos concordam com todo o pedido recebido de p j  É uma decisão complexa, devido à possibilidade de avarias maliciosas de processos-s e processos-p

15 Algoritmo para processador K-Fail-Stop sem armazenamento estável fiável  1. Para escrever no armazenamento estável, um p-processo p j inicia um acordo bizantino com todos os s-processos  2. Para ler do armazenamento estável, um p-processo p j : a) broadcast o pedido para os s-processos b) usa o valor maioritário (obtido de no mínimo k+1 s- processos)

16 Algoritmo para processador K-Fail-Stop sem armazenamento estável fiável  3. Um s-processo s i, ao receber um pedido de todos os p- processos: M = conjunto de pedidos recebidos if o pedido é de leitura then envia valor pedido para todos os p-processos cuja requisição está em M if pedido é de escrita then if |M| = k+1 Λ todos os pedidos são idênticos Λ todos os pedidos são de processos diferentes Λ ¬ failed then escreve o valor else failed = true envia mensagens “halt” para todos os p-processos

17 Conclusões  Em ambas as implementações a avaria do processador K-Fail- Stop é detectada por um processo-s  A avaria é detectada durante a tentativa de escrita no armazenamento estável  As actualizações são realizadas apenas se o processador k- fail-stop é considerado não ter falhado  Necessidade de sincronização dos relógios (timestamp, tempo máximo de transmissão)

18 Conclusões  Implementação com Armazenamento Estável Fiável  Sem falhas arbitrárias e s-processador fiável:  K+1 p-processadores e 1 s-processador  Implementação com Armazenamento Estável Fiável  Com falhas arbitrárias:  K+1 p-processadores  2k+1 s-processadores


Carregar ppt "Universidade da Beira Interior Processadores Fail-Stop Trabalho realizado por: Rui ferreira Nº 15039 Eng. Informática."

Apresentações semelhantes


Anúncios Google