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

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

1999.04.30TFD - Réplicas em máquinas de estados 1 Gestão de Réplicas usando a aproximação da Máquina de Estados (Replication Management using the State-Machine.

Apresentações semelhantes


Apresentação em tema: "1999.04.30TFD - Réplicas em máquinas de estados 1 Gestão de Réplicas usando a aproximação da Máquina de Estados (Replication Management using the State-Machine."— Transcrição da apresentação:

1 TFD - Réplicas em máquinas de estados 1 Gestão de Réplicas usando a aproximação da Máquina de Estados (Replication Management using the State-Machine Approach, Fred Schneider, 1990) Apresentação (Grupo 2): Nuno Pimentel Simão Onofre

2 TFD - Réplicas em máquinas de estados 2 Máquinas de estados l Características: –Variáveis de estado codificam o estado –Comandos são executados a pedido dos clientes transformam o estado e produzem resultados –Resultados são enviados para: actuador, dispositivo periférico ou cliente que solicitou o pedido

3 TFD - Réplicas em máquinas de estados 3 Máquinas de estados (cont.) l Requisitos –comandos concretizados por programas determinísticos –a execução de cada comando é atómica com respeito aos outros comandos l Caracterização semântica –Os resultados (output) de uma máquina de estados são completamente determinados pela sequência de pedidos por ela processados, independentemente do tempo e de qualquer outra actividade no sistema.

4 TFD - Réplicas em máquinas de estados 4 Máquinas de estados (cont.) l Pedidos processados, um de cada vez, numa ordem potencialmente causal –Clientes podem assumir: O1: Pedidos R(C, M) e R(C, M) são processados pela máquina de estados M pela ordem em que foram solicitados. O2: Se R(C, M) puder ter sido causado por R(C, M) então M processa R antes de R.

5 TFD - Réplicas em máquinas de estados 5 Coordenação de réplicas l Replicação - tipos –activa: aproximação da máquina de estados –passiva: primário-secundário l Aproximação da máquina de estados –Todas as réplicas recebem e processam a mesma sequência de pedidos Acordo –Todas as réplicas não faltosas recebem todos os pedidos Ordem –Todas as réplicas não faltosas processam os pedidos que recebem na mesma ordem relativa

6 TFD - Réplicas em máquinas de estados 6 Acordo l Transmissor –processador que dissemina valor pelos outros processadores l Protocolo deve garantir: –IC1: Todos os processadores não faltosos acordam no mesmo valor –IC2: Se um transmissor é não faltoso então todos os processadores não faltosos usam o valor do transmissor como o valor acordado

7 TFD - Réplicas em máquinas de estados 7 Acordo (cont.) l Falha do transmissor –Falhas bizantinas Strong and Dolev [1983] –Falhas por paragem Gries and Schlichting [1984] l Perda ou corrupção do pedido –Cliente é transmissor é irrelevante –Cliente não é transmissor monitorizar difusão do pedido

8 TFD - Réplicas em máquinas de estados 8 Ordem e Estabilidade l A cada pedido é atribuido um identificador único (uid) l Réplicas ordenam pedidos seguindo uma relação de ordem total entre os uid l Um pedido é estável se não puder ser recebido nenhum outro pedido (de um cliente correcto) com um uid menor l Uma réplica processa de seguida o pedido estável com o menor uid (Concretização da Ordem)

9 TFD - Réplicas em máquinas de estados 9 Utilização de Relógios Lógicos l Sistemas em que processos/mensagens podem sofrer atrasos arbitrários, sem se poder assumir a sua falha: –Falhas bizantinas está provado que é impossível estabelecer o acordo possibilidade de definir teste de estabilidade e ordem é irrelevante –Falhas por paragem garantir canal FIFO entre cada par de processadores pode assumir-se que um processador P apenas detecta a falha de um proc. P após ter recebido a ultima msg que lhe foi enviada por este

10 TFD - Réplicas em máquinas de estados 10 Utilização de Relógios Lógicos l Teste de estabilidade com tolerância a falhas por paragem: –Cada cliente C i efectua periodicamente algum pedido (eventualmente nulo) à máquina de estados M –Um pedido P é estável na réplica M j se já foi recebido um pedido com timestamp superior de cada cliente executado num processador não faltoso

11 TFD - Réplicas em máquinas de estados 11 Utilização de Relógios Físicos l uids formados por T p (e)+ l Para garantir O1 e O2: –O1 - cada cliente não pode fazer mais do que um pedido entre dois ticks sucessivos do relógio do respectivo processador –O2 - o grau de sincronização dos relógios tem de ser melhor do que o tempo mínimo de entrega de mensagens l Testes de estabilidade –Um pedido (R) é considerado estável numa réplica M i a ser executada no processador P se I) o relógio local em P ler T e uid(R) < (T - ) ou II) já foi recebido um pedido com uid superior de cada cliente

12 TFD - Réplicas em máquinas de estados 12 Identif. gerados pelas réplicas l Fases –1ª: cada réplica M i propõe identificador candidato cuid(M i,R) –2ª: é seleccionado um dos cuid(M i,R) que passa a uid(R) l Vantagens –a única comunicação necessária é entre o processador que executa o cliente e os processadores que executam as réplicas

13 TFD - Réplicas em máquinas de estados 13 Identif. gerados pelas réplicas (cont.) l Definições –Visto(M i, R): réplica M i recebeu pedido R e propôs cuid(Mi,R) –Aceite(M i, R): réplica M i conhece a decisão uid(R) l Restrições –UID1: uid(R) cuid(M i,R) –UID2: Se Visto (M i, R) depois de Aceite (M i, R) então cuid(M i, R) > uid(R)

14 TFD - Réplicas em máquinas de estados 14 Identif. gerados pelas réplicas (cont.) l Teste de estabilidade –Aceite(M i, R) é estável desde que não exista R tal que: Visto(M i, R) não esteja Aceite(M i, R) e cuid(M i, R) uid(R) l Para assegurar O1 e O2: –O cliente só efectua novamente comunicações quando cada réplica tiver recebido o pedido

15 TFD - Réplicas em máquinas de estados 15 Identif. gerados pelas réplicas (cont.) l Protocolos de geração de uids e cuids devem assegurar: –UID1 e UID2 –Se R R então uid(R) uid(R) –Todo Visto(M, R) eventualmente passa a Aceite(M, R) l Cada réplica Mi mantém duas variáveis: –VISTO i - maior cuid(M i, R) atribuído a qualquer pedido R até ao momento visto por M i –ACEITE i - maior uid(R) atribuído a qualquer pedido R até ao momento aceite por M i

16 TFD - Réplicas em máquinas de estados 16 Identif. gerados pelas réplicas (cont.) l Falhas por paragem –Ao receber um pedido R, cada réplica: calcula cuid(M i, R) = max (VISTO i, ACEITE i ) +1 +I dissemina cuid(M i, R) aguarda recepção cuid(M j, R) das réplicas não faltosas (NF) calcula uid(R) = max M j NF ( cuid(M j, R) ) e Aceita(M i, R) –Optimizações ISIS ABCAST –cuids enviados para cliente, que calcula uid –réplica única substitui cliente faltoso

17 TFD - Réplicas em máquinas de estados 17 Identif. gerados pelas réplicas (cont.) l Falhas bizantinas –Necessário garantir sincronização de relógios físicos –Detecção de falhas cada réplica utiliza timeouts para evitar ficar eternamente à espera de réplicas eventualmente faltosas quando réplica M i suspeita da falha de M j, envia a todas as réplicas a msg M j timeout NF - conjunto de todas as réplicas excepto aquelas que tenham sido assinaladas como M j timeout por t+1 ou mais réplicas Eventual corrupção de cuids não tem implicações

18 TFD - Réplicas em máquinas de estados 18 Faltas de dispositivos de saída l Resultados usados fora do sistema –Falhas de votador e/ou dispositivo de saída Replicação de votadores e dispositivos de saída –falhas bizantinas - 2t+1 pares votador/dispositivo –falhas por paragem - t+1 pares votador/dispositivo Votador crítico é externo ao sistema –flap com actuadores hidráulicos –humano utilizador de écran de computador

19 TFD - Réplicas em máquinas de estados 19 Faltas de dispositivos de saída l Resultados usados dentro do sistema –Dispositivo de saída no cliente votador está no cliente falha do votador –cliente tambem falha falha no envio de mensagens –falhas bizantinas - aguardar t+1 respostas iguais –falhas por paragem - aguardar primeira resposta que aparece –Cliente numa réplica optimizações na quantidade de mensagens

20 TFD - Réplicas em máquinas de estados 20 Faltas de Clientes l Replicar cliente –Votador na máquina de estados testar e ordenar –pedidos iguais com uids diferentes –pedidos supostamente iguais com contextos diferentes l Programação defensiva –Efectuar testes sintácticos e semânticos nos comandos evitar corrupção da máquina de estados –Estabelecer mecanismos de timeout não receber um pedido pode ser tão prejudicial como receber um errado

21 TFD - Réplicas em máquinas de estados 21 Utilização do tempo para efectuar pedidos implícitos l Vantagem –diminuição do nº de mensagens l Desvantagem –não permite passagem de parâmetros l Exemplos –release automático, voto por defeito

22 TFD - Réplicas em máquinas de estados 22 Reconfiguração l Possíveis falhas bizantinas –Condição de combinação Proc(t) - Falt(t) > Proc(t)/2 –Em situação de falha Problema: Falt(t) aumenta, diminuindo Proc(t) - Falt(t) Solução: retirar processadores faltosos antes da condição ser violada l Apenas falhas por paragem –Condição de combinação: Proc(t) - Falt(t) > 0 –Em situação de falha Problema: Falt(t) aumenta, diminuindo Proc(t) - Falt(t) Solução: reparar ou substituir processadores faltosos antes da condição ser violada

23 TFD - Réplicas em máquinas de estados 23 Gestão da configuração l Detecção de faltas –Um configurador por componente –Requisitos de um configurador não faltoso C1: Apenas é removido da configuração um elemento faltoso C2: Apenas é adicionado à configuração um elemento não faltoso –Exemplo: monitorização comparativa de comportamentos –Condição de Combinação: config NF (elem F ) + config F (elem NF ) t

24 TFD - Réplicas em máquinas de estados 24 Reintegração de Objectos l Consistência com estado do sistema –e[R i ] - estado da componente e depois de processar pedidos R 0 a R i –elemento a reintegrar tem de adquirir estado e[R join ] antes de poder participar no sistema l Elementos auto-estabilizadores –estado definido pelos últimos k inputs

25 TFD - Réplicas em máquinas de estados 25 Reintegração de Objectos l Elementos não auto-estabilizadores, assumindo falhas por paragem e usando relógios lógicos –Se Cliente ou Dispositivo de saída: M i envia as variáveis de estado relevantes antes de enviar resultados de pedidos com uid(R) > uid(R join ) –Se Réplica M new da Maquina de estados: M i envia variáveis de estado e pedidos pendentes a M new e faz o relay de todas os pedidos subsequentes recebidos de cada cliente tal que uid(R) < uid(R c ), representando R c o primeiro pedido recebido por M new directamente do cliente

26 TFD - Réplicas em máquinas de estados 26 Comunicação em grupo ISIS l ABCAST - (Atomic Broadcast) –Mantém a ordem de entrega dos pedidos, em todas as réplicas, mesmo que essa ordem não seja premeditada –Protocolo síncrono l CBCAST - (Casual Multicast) –Mais fraco que o ABCAST em sincronização distribuída –Mantém a ordem causal dos pedidos na entrega –3 a 5 vezes mais rapido que o ABCAST mas está sujeita a atrasos –Protocolo Síncrono ou Assíncrono l ABCAST+CBCAST = Casual Atomic Multicast –Sincronia virtual

27 TFD - Réplicas em máquinas de estados 27 Trabalho associado l Trabalhos de –Lamport [1978a] e [1978b] –Schneider [1982] e [1985] l ISIS Toolkit –ABCAST –CBCAST l outros

28 TFD - Réplicas em máquinas de estados 28 Conclusões l Aproximação da Máquina de estados –Método para concretizar um serviço tolerante a faltas, através da: replicação de servidores execução das réplicas em processadores que falhem individualmente coordenação interacções dos clientes com as réplicas –Bancada de trabalho adequada para compreender e definir protocolos de gestão de réplicas l «We have not yet encountered an application that could not be programmed cleanly in terms of state machines and clients»

29 TFD - Réplicas em máquinas de estados 29 Referências l Replication Management using the State-Machine Approach - Fred B. Schneider (1990) l RFC Kenneth Birman, T. A. Joseph (1986) l The ISIS project: Real experience with a fault tolerant programming system, Kenneth Birman, Robert Cooper


Carregar ppt "1999.04.30TFD - Réplicas em máquinas de estados 1 Gestão de Réplicas usando a aproximação da Máquina de Estados (Replication Management using the State-Machine."

Apresentações semelhantes


Anúncios Google