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

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

Carolina Fonseca Neumar Ribeiro Pontifícia Universidade Católica do Rio Grande do Sul Confiabilidade de Sistemas Prof. Eduardo Bezerra.

Apresentações semelhantes


Apresentação em tema: "Carolina Fonseca Neumar Ribeiro Pontifícia Universidade Católica do Rio Grande do Sul Confiabilidade de Sistemas Prof. Eduardo Bezerra."— 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

2 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 Problema dos Generais Bizantinos Alcançar consenso na presença de traidores Generais Bizantinos cercam uma cidade Existem: Generais leais Generais traidores

4 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 Os generais devem ter um algoritmo para garantir que : A.Todos os generais leais decidam o mesmo plano de ação 1.Cada general leal deve obter a mesma informação v (1),..., v (n). 2.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). B.Um pequeno número de traidores não podem interferir na decisão dos generais leais

6 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 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 Exemplo com três generais sendo um deles traidor: Nesse caso a IC2 não está sendo respeitada

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

10 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 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: 1. O valor da maioria entre os v(i) se ele existir, caso contrário o valor recebe esperar; 2. A mediana dos v(i), assumindo que eles vêm de um conjunto ordenado.

12 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

14

15 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 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 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 As únicas exigências que fazemos para essa função são : 1. Se o conjunto V consiste em um único elemento v, então escolha (V) = v. 2. Conjunto é vazio, então escolha = ESPERAR.

19 Algoritmo SM (m) V(i) = 0 1. Comandante assina e envia o seu valor para todos tenentes 2. Para cada i: A. Se o tenente i recebe uma mensagem da forma v:0 do comandante e ele ainda não recebeu qualquer ordem, então i.ele deixa v(i) igual a v; ii.ele envia a mensagem de v:0: i para cada outro tenente B. Se o tenente i recebe uma mensagem da forma v: 0: J1:...:Jk e v não está no conjunto v(i), então i.acrescenta v para o v(i); ii.se k

20

21 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 Definições: A. Um conjunto de nós (i1,..., ip) é dito ser um conjunto regular de vizinhos de um nó i se i. cada i j é um vizinho de i, e ii. para qualquer general k diferente de i, existem caminhos i j 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. B. O grafo G é dito ser p-regular se cada nó tem um conjunto regular de vizinhos que consiste de p nós distintos.

23 Figura x. Grafo 3-regularFigura x. Grafo não 3-regular

24 Algoritmo OM (m,p) 1. Escolha um conjunto regular N de vizinhos do comandante formado de p tenentes 2. O comandante envia o seu valor para todos tenentes de N. 3. 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: A. Se m = 1, o envio do valor ao longo do caminho é garantido conforme as Definições ditas anteriormente B. 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 4. 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 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: 1. Todos os processadores devem usar o mesmo valor de entrada 2. 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 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 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 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 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 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 Pontifícia Universidade Católica do Rio Grande do Sul Confiabilidade de Sistemas Prof. Eduardo Bezerra."

Apresentações semelhantes


Anúncios Google