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

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

Carolina Fonseca Neumar Ribeiro

Apresentações semelhantes


Apresentação em tema: "Carolina Fonseca Neumar Ribeiro"— Transcrição da apresentação:

1 Carolina Fonseca Neumar Ribeiro
Pontifícia Universidade Católica do Rio Grande do Sul Confiabilidade de Sistemas Prof. Eduardo Bezerra O Problema dos Generais Bizantinos Leslie Lamport, Robert Shostak and Marshall Pease Carolina Fonseca Neumar Ribeiro

2 Introdução Um sistema confiável deve ser capaz de lidar com falhas de um ou mais componentes; Um componente com falhas pode enviar informações conflitantes para diferentes partes do sistema; O problema enfrentado com esse tipo de defeito é expressado abstratamente como o Problema dos Generais Bizantinos.

3 Introdução Problema dos Generais Bizantinos
Alcançar consenso na presença de traidores Generais Bizantinos cercam uma cidade Existem: Generais leais Generais traidores

4 Introdução Objetivo: Os Generais devem chegar a um consenso se atacam ou se esperam Só vencerão se todos os Generais leais atacarem! Os Generais traidores não deverão atrapalhar o consenso

5 Introdução Os generais devem ter um algoritmo para garantir que :
Todos os generais leais decidam o mesmo plano de ação Cada general leal deve obter a mesma informação v (1) ,..., v (n). Se o i-ésimo general é leal, então o valor que ele manda deve ser utilizado por todos os generais leais como valor de v(i). 1’. Quaisquer dois generais leais usam o mesmo valor de v(i). Um pequeno número de traidores não podem interferir na decisão dos generais leais

6 Introdução O comandante general deve enviar uma ordem para seus n - 1 tenentes generais de tal forma que IC1 Todos os tenentes leais obedecem à mesma ordem. IC2 Se o comandante general é leal, então cada tenente leal obedece à ordem que ele manda. IC1 e IC2 são chamadas de “interactive consistency conditions” No entanto o comandante general não precisa ser leal, pois cada tenente podem enviar a mensagem para os demais informando o seu próprio valor de v(i).

7 Impossibilidade de Resultados
O problema dos generais pode parecer simples. Mas a dificuldade está em os generais leais poderem apenas mandar mensagens orais Com isso é necessário dois terços de generais leais para se obter uma solução Com três generais, nenhuma solução pode funcionar na presença de um traidor.

8 Impossibilidade de Resultados
Exemplo com três generais sendo um deles traidor: Nesse caso a IC2 não está sendo respeitada

9 Impossibilidade de Resultados
Exemplo com três generais sendo um deles traidor: Nesse caso a IC1 não está sendo respeitada

10 Solução com Mensagens Orais
Solução que funciona para 3m + 1 ou mais generais, sendo m o número de traidores. A definição de mensagem oral deve ter as seguintes premissas: Toda mensagem enviada é recebida corretamente O receptor da mensagem sabe quem a enviou A ausência de uma mensagem pode ser detectada

11 Solução com Mensagens Orais
O algoritmo assume uma função maioria com a propriedade que se a maioria dos valores de v(i) são iguais a v, então a maioria (v(i), ..., v(n)), é igual a v. Há duas escolhas naturais para o valor da maioria: O valor da maioria entre os v(i) se ele existir, caso contrário o valor recebe esperar; A mediana dos v(i), assumindo que eles vêm de um conjunto ordenado.

12 Solução com Mensagens Orais
Algoritmo OM(0): 1. O tenente i manda seu valor para cada tenente j!=i. 2. Cada tenente i usa o valor que recebeu de j ou usa o valor ESPERAR se i não recebeu valor algum. Algoritmo OM(m), m>0: 2. Cada tenente i usa o valor que recebeu de j ou usa o valor ESPERAR se i não recebeu nenhum valor. Cada processo i chama a função OM(m-1) para enviar o valor v(i) para cada um dos n-2 tenentes. 3. Para cada i, e cada j != i, seja v(i) o valor que o tenente i recebeu do tenente j no passo 2 usando o Algoritmo OM(m-1)), ou ESPERAR se ele não recebeu valor algum. O tenente i usa o valor da maioria(v(1),...,v(n-1)).

13 Solução com Mensagens Orais

14 Solução com Mensagens Orais

15 Solução com Mensagens Assinadas
A capacidade de alterar a mensagem que os traidores tinham, tornava o problema mais difícil; O problema se torna mais fácil de resolver restringindo essa habilidade; Uma maneira segura de fazer isso é permitir que os generais enviem mensagens assinadas; Para isto, alguns requisitos são necessários.

16 Solução com Mensagens Assinadas
A1 - Toda mensagem enviada é recebida corretamente A2 - O receptor da mensagem sabe quem a enviou A3- A ausência de uma mensagem pode ser detectada A4 - Garantias adicionais A assinatura do general não pode ser forjada, e qualquer alteração na mensagem pode ser detectada Qualquer um pode verificar a autenticidade das assinaturas dos generais

17 Solução com Mensagens Assinadas
Com a introdução das mensagens assinadas, o problema não requer mais quatro generais (3m+1), para se obter uma solução; Agora, pode-se ter m traidores para qualquer número de generais; O problema é vazio, se existem menos que m + 2 generais.

18 Solução com Mensagens Assinadas
As únicas exigências que fazemos para essa função são : Se o conjunto V consiste em um único elemento v, então escolha (V) = v. Conjunto é vazio, então escolha = ESPERAR.

19 Solução com Mensagens Assinadas
Algoritmo SM (m) V(i) = 0 Comandante assina e envia o seu valor para todos tenentes Para cada i: Se o tenente i recebe uma mensagem da forma v:0 do comandante e ele ainda não recebeu qualquer ordem, então ele deixa v(i) igual a v; ele envia a mensagem de v:0: i para cada outro tenente Se o tenente i recebe uma mensagem da forma v: 0: J1:...:Jk e v não está no conjunto v(i), então acrescenta v para o v(i); se k <m, então ele envia a mensagem de v: 0: J1:...:jk: i para todos os outros tenente que não estão em j1:...:jk Para cada i: Quando o tenente i não receber mais mensagens, ele obedecerá a ordem da escolha v(i)

20 Solução com Mensagens Assinadas

21 Perda dos Caminhos de Comunicação
Até então assumimos que os generais mandam mensagens para todos os outros; Agora surgem barreiras entre os generais de modo que cada general possa falar com um número restrito de outros generais; Podemos considerar que os os generais formam os nós de um grafo finito não direcionado; E os arcos que ligam esses dois nós indicam que ambos os generais podem trocar mensagens.

22 Perda dos Caminhos de Comunicação
Definições: Um conjunto de nós (i1, ..., ip) é dito ser um conjunto regular de vizinhos de um nó i se cada ij é um vizinho de i, e para qualquer general k diferente de i, existem caminhos ij até k que não passam através de i, tais que quaisquer dois caminhos diferentes não tenha outro nó em comum além k. O grafo G é dito ser p-regular se cada nó tem um conjunto regular de vizinhos que consiste de p nós distintos.

23 Perda dos Caminhos de Comunicação
Figura x. Grafo 3-regular Figura x. Grafo não 3-regular

24 Perda dos Caminhos de Comunicação
Algoritmo OM (m,p) Escolha um conjunto regular N de vizinhos do comandante formado de p tenentes O comandante envia o seu valor para todos tenentes de N. Para cada i em N, v(i) é o valor que o tenente recebe do comandante, ou então ESPERAR se ele não recebe nenhum valor. Tenente i envia v(i) a todos os k tenentes como segue: Se m = 1, o envio do valor ao longo do caminho é garantido conforme as Definições ditas anteriormente Se m> 1, então, agindo como o comandante no algoritmo OM (m - 1, p - 1), com o gráfico de generais obtido pela remoção do comandante original de G Para cada k, e cada i em N com i!=k, v(i) é o valor que o tenente k recebe do tenente i no passo 2 ou ESPERAR se não recebe nenhum valor. O tenente k usa o valor da maioria de (v(i1),...v(ip)), onde N = (i1,...,ip)

25 Sistemas Confiáveis A única maneira de se obter uma solução de um sistema confiável é construir esse sistema com componentes confiáveis e processar a solução em diferentes “processadores”; Após junta-se as saídas e faz-se a votação entre os resultados; Utilizando a maioria para se obter um resultado único; Também depende-se de uma entrada única para se obter saídas iguais em todos os processadores de modo que possam ser comparadas as saídas; Para que a votação por maioria seja confiável, as duas condições seguintes devem ser satisfeitas: Todos os processadores devem usar o mesmo valor de entrada Se a unidade de entrada é não é falha, então todos os processos usam o seu valor provido como entrada Estas são as condições de consistência interativa IC1 e IC2 Porém, não podemos contar com todos esses recursos para a solução de problemas mais simples.

26 Sistemas Confiáveis Contudo se o objetivo for criar uma solução confiável é importante se obter a entrada de maneiras redundantes ; Assim é possível aplicar o problema dos generais bizantinos de modo a fornecer uma única entrada para o sistema confiável; No caso de entrada de valores diferentes pode-se utilizar as funções de maioria ou escolha, com base na função da mediana para se obter um valor dentro do intervalo de valores.

27 Sistemas Confiáveis Até agora estávamos tratando todas as soluções para o problema dos generais; Contudo, estas soluções devem ser aplicadas a sistemas de computação confiáveis; No entanto precisamos assumir A1-A3 e A1-A4 para estes sistemas.

28 Sistemas Confiáveis A1 - Toda mensagem que é enviada é recebida corretamente A2 - O receptor da mensagem sabe quem a enviou A3- A ausência de uma mensagem pode ser detectada A4 - Garantias adicionais A assinatura do general não pode ser forjada, e qualquer alteração na mensagem pode ser detectada Qualquer um pode verificar a autenticidade das assinaturas dos generais

29 Conclusão Apresentou-se várias soluções para o problema dos generais bizantinos, sob várias hipóteses, e mostramos como eles podem ser utilizados na execução de sistemas de computador confiáveis; Estas soluções são caras, tanto a quantidade de tempo e o número de mensagens necessário; Algoritmos OM (m) e SM (m) requerer o envio de até (n - 1) (n - 2) ... (n - m - 1) mensagens; O número de mensagens em separado pode certamente ser reduzido pela combinação de mensagens; No entanto, esperamos que um grande número de mensagens ainda será necessário.

30 Conclusão Atingir a confiabilidade em função de um mal funcionamento arbitrário é um problema dificil e sua solução é cara; A única maneira de reduzir o custo é fazer suposições sobre o tipo de falha que possa ocorrer. Por exemplo, muitas vezes é assumido que um computador pode deixar de responder, mas ele nunca responderá de forma incorreta. Contudo, quando é exigido um elevado grau de confiabilidade, tais suposições não podem ser feitas, e a utilização completa da solução dos Generais Bizantinos é torna-se necessária.


Carregar ppt "Carolina Fonseca Neumar Ribeiro"

Apresentações semelhantes


Anúncios Google