1 / 30

O Problema dos Generais Bizantinos Leslie Lamport, Robert Shostak and Marshall Pease

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

marlie
Download Presentation

O Problema dos Generais Bizantinos Leslie Lamport, Robert Shostak and Marshall Pease

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  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 “interactiveconsistencyconditions” • 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: 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 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.

More Related