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

Slides:



Advertisements
Apresentações semelhantes
SISTEMAS OPERACIONAIS (SO) Aula 5 Luciana A. F. Martimiano 2002
Advertisements

Capitulo 6: Entrada e Saída
Algoritmos Distribuídos
Requisitos dos SGBD Recuperação/Tolerância a Falhas
Barramentos Introdução.
Técnicas para operações E/S
TEORIA DA COMPUTAÇÃO Parte III  Máquina de Turing
ARQUITETURA DE COMPUTADORES II
CPU – based DoS Attacks Against SIP Servers
Algoritmos Distribuídos 1ª Lista de Exercícios Antonio Alfredo Ferreira Loureiro Departamento de Ciência da Computação Universidade.
Algoritmos Distribuídos Professora: Lúcia Drummond
Capítulo 4: Estado Global
Sistemas Distribuídos
Algoritmos com seleção
Sistemas Distribuídos Walfredo Cirne & Fubica Brasileiro Aula 5: Modelos de Sistemas Distribuídos.
Sistemas Distribuídos
Sistemas Distribuídos Walfredo Cirne & Fubica Brasileiro Aula 5: Modelos de Sistemas Distribuídos.
Carolina Fonseca Neumar Ribeiro
The Byzantine Generals Problem
1 Modelos Fundamentais -> Falhas Segurança. 2 Falhas. É o modelo que define os modos nos quais uma falha pode ocorrer de forma a disponibilizar o entendimento.
Modelos Fundamentais -> Interação Falhas Segurança.
Questões Resolvidas - A.C.-10/08/05
ESTRUTURA DE COMUNICAÇÃO DE DADOS
CONSENSO O grande mal-entendido
PROBABILISTC CLOCK SYNCHRONIZATION
Bimodal Multicast Um protocolo de difusão fiável
24/05/1999Non-Blocking Atomic Commitment1 in Distributed Systems Faculdade de Ciências da Universidade de Lisboa Mestrado 98/99 Tolerância a Faltas em.
Paulo J. Azevedo Departamento de Informática Universidade do Minho
Universidade da Beira Interior Fiabilidade de Sistemas Informáticos Nuno Magarreiro n.º
TOPOLOGIA.
Tópicos em Sistemas Distribuídos
REDUNDÂNCIA POR SOFTWARE
Troca de Chaves Autenticação
Sistemas Distribuídos
Tópicos em redes e sistemas distribuídos B Carlos Oberdan Rolim Ciência da Computação.
Difusão de Mensagens Broadcast confiável, atômico e causal
Carlos Oberdan Rolim Ciência da Computação
Carlos Oberdan Rolim Ciência da Computação
Data Replication and Resiliency Trabalho realizado por: Rui Ferreira Nº Eng. Informática.
Protocolos de Recuperação
O Problema Do Acordo Distribuído (Acordo Bizantino)
Estrutura de Decisão e Repetição
Programação e Sistemas de Informação
Universidade da Beira Interior Fiabilidade de Sistemas Informáticos Nuno Magarreiro n.º
- 1 - Jogos de Empresas I - Prof. Luís Carlos Padrão O processo de comunicação A comunicação nas empresas O planejamento das tarefas O envolvimento das.
Universidade Federal de Campina Grande Centro de Engenharia Elétrica e Informática – CEEI Departamento de Sistemas e Computação Programa de Pós-Graduação.
Bruna Rafaella da Costa Moura Silvana dos Santos Lima
PROGRAMAÇÃO DISTRIBUÍDA Aula 01 Prof. Henrique Mongelli
Sistemas Tolerantes a Falhas: Conceitos e Técnicas
1 Comunicação Inter-Processos -> RMI -> RPC -> TCP -> UDP (Abstração de passagem de mensagem)
Impossibility of Distributed Consensus with One Faulty Process Michael J. Fischer Nancy A. Lynch Michael S. Paterson 1985 Apresentado por Nazareno Andrade.
Técnicas de Replicação
Protocolos Básicos Autenticação. Protocolos Básicos Esquemas de autenticação São métodos através dos quais alguém pode provar sua identidade, sem revelar.
Controle de Acesso Kerberos
Topologia Comunicação de dados Escola Secundaria Sebastião da Gama
SISTEMAS DISTRIBUÍDOS Transações Atômicas
Troca de Mensagens Programação concorrente
PROGRAMAÇÃO DISTRIBUÍDA Aula 02 Prof. Henrique Mongelli
Linguagens de Programação
Modos de Desconexão para BD’s Móveis Sandberg Marcel Santos Baseado no artigo “Disconnection Modes for Mobile Databases”, de Holliday, Agrawal e El Abbadi.
Programação de Computadores - 1
Concorrência em LF1 Paradigmas de Linguagens de Programação 20 de junho de 2006 Aline Timóteo Carlos Rodrigues Flávia Falcão Tiago Rolim.
Analise de Algoritmos e Notação Assintótica
Paralelismo Alexandre Mota Paralelismo Representam a execução paralela de dois ou mais processos: fluxos de controles independentes.
Engenharia de Controle e Automação Computação Para Engenharia Semana /02/2013 Professor Leomir J. Borba- –
Serviço de tempo, Exclusão Mútua, Eleição e Acordo Prof. Dr. Norian Marranghello Grupo 5 Anuar Mamede Neto Eduardo Hitoshi Aoki.
Estruturas de Sistemas Operacionais. Componentes Comuns do Sistema Administração de Processos Administração da Memória Principal Administração do Armazenamento.
Bruna Cavallero Martins Universidade Católica de Pelotas.
Maique C. Garcia Pelotas, Junho de  Controle Automático Autônomo  Através da identificação da ação mais adequada em caso de um diagnóstico de.
Transcrição da apresentação:

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

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

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;

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

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)

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

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!

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

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!

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

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;

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;

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

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

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)

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

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)

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