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

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

Carlos Oberdan Rolim Ciência da Computação

Apresentações semelhantes


Apresentação em tema: "Carlos Oberdan Rolim Ciência da Computação"— Transcrição da apresentação:

1 Carlos Oberdan Rolim Ciência da Computação
Tolerância a Falhas Carlos Oberdan Rolim Ciência da Computação

2 Sistemas Distribuídos

3 Motivação Técnicas de tolerância a falhas em sistemas distruídos são muitas vezes insatisfatórias Sistemas distribuídos tempo-real diferem dos sistemas convencionais por apresentarem restrições de tempo e tratarem, em muitos casos, com situações críticas. Qualquer falha,inclusive temporal pode ter sérias conseqüências Necessidade de novas implementações passíveis de implementação em vários níveis de software e hardware precisam ser desenvolvidas e validadas quanto a correção e temporização

4 Classificação das técnicas de tolerância a falhas em camadas
Níveis - Jalote 94

5 Sistemas distribuídos
características de SD modelo físico modelo lógico modelo de falhas comunicação entre processos ordenação de eventos clock lógico

6 Sistemas distribuídos
Sistemas distribuídos se diferenciam dos demais computadores pelo acoplamento fraco entre os processadores, ou seja, os computadores não tem acesso a uma memória comum. Toda a interação deve ser realizada por troca de mensagens através de canais de comunicação Apresentam um problema intrínseco: o de garantir a integridade e consistência dos dados distribuídos pelos vários processadores

7 Sistemas distribuídos
sem memória compartilhada sem relógio global modelos modelo físico modelo lógico processador relógio local memória local volátil armazenamento não volátil interface de rede software nodos e rede Processos e canais

8 Sistemas distribuídos: modelos

9 Sistemas distribuídos: modelos
Modelo físico

10 Comunicação: topologias ponto a ponto

11 Topologia barramento bus, barra ou via

12 Modelo lógico... aplicação distribuída progresso finito
conjunto de processos concorrentes processos cooperam para realizar uma computação cada processo é seqüencial progresso finito nada pode ser dito sobre velocidades relativas entre os processos cada processo pode estar em um nodo diferente todos os processos avançam na execução

13 Modelo lógico... Rede completamente conectada Processos e canais
topologia não é considerada Processos e canais existe um canal entre quaisquer dois processos que interagem canais com buffer infinito e livres de erros canais entregam mensagens na ordem que foram enviadas (ordem preservada no canal) carac. não necessariamente válidas para o meio físico

14 Modelo lógico... ordenação de mensagens
ordem das mensagens é preservada em um canal nada é estabelecido sobre mensagens que chegam a um nodo vindos de diferentes canais não existe ordenação total de mensagens, apenas ordenação parcial razão: retardos nos canais (delay)

15 Canal

16 Canais entre múltiplos processos

17 Sistemas síncronos e assíncronos
sistema síncrono existe um limite de tempo finito e conhecido sistema correto opera dentro desse limite sistema assíncrono não existe um limite de tempo impossível determinar se o sistema está simplesmente atrasado por sobrecarga ou se está com defeito definidos pela existência de limites de tempo bounded-time model time-free model

18 Limites de tempo canal de comunicação síncrono processador síncrono
retardo (delay) máximo é conhecido processador síncrono tempo de execução de um conjunto de instruções é conhecido e limitado existem limites de tempo que podem ser estabelecidos para determinar a conclusão de uma atividade tais suposições precisam ser justificadas e provadas - sistemas operacionais convencionais e processadores convencionais não apresentam esses limites

19 Vantagem do modelo síncrono
detecção de falha falha de um componente do sistema pode ser deduzida pela ausência de resposta time-out se um nodo não responde após certo intervalo de tempo sistema síncrono - nodo com defeito sistema assíncrono - nada se pode afirmar usado para detectar defeitos em nodos e perda de mensagens

20 Vantagem do modelo assíncrono
algoritmos desenvolvidos para esse modelo são mais “genéricos” e portáveis independem de sistema operacional independem de rede na prática os sistemas são geralmente assíncronos mas assume-se que são síncronos time-outs superdimensionados aplicações não são críticas e colapsos podem ser ignorados

21 Timed asynchronous assíncrono temporizado
modelo intermediário assume que processos possuem clocks locais com valores próximos ao tempo real monitora tempo de transmissão e recepção de mensagens e computa limites de pior-caso enquanto o sistema se comporta dentro desses limites é considerado síncrono períodos de operação no qual o comportamento não pode ser garantido síncrono são tratados de forma especial modelo ideal para fail-safe

22 Modelo de falhas crash omissão temporização
uma falha que causa a parada de um componente ou a perda do seu estado interno omissão um componente não responde a determinadas entradas engloba crash temporização o componente responde ou muito cedo ou muito tarde engloba omissão mais restritiva de todas as classes também chamada falha de desempenho

23 Modelo de falhas resposta bizantinas (arbitrárias ou maliciosas)
computação incorreta, o componente produz respostas incorretas para algumas entradas não engloba as anteriores bizantinas (arbitrárias ou maliciosas) falha arbitrária que provoca um comportamento totalmente arbitrário e imprevisível do componente durante o defeito engloba todas as classes de falhas considerada caso especial de bizantinas

24 Modelo de falhas

25 Exemplos Processador: Rede de comunicação: todos os tipos Clock:
crash ou bizantinas Rede de comunicação: todos os tipos Clock: temporização ou bizantinas Meio de armazenamento temporização, omissão ou resposta Software: resposta

26 Classificação de falhas
Fred B. Schneider failstop crash crash + link omissão de recepção omissão de envio omissão geral comportamento bizantino mais restritiva que crash, o estado interno não é perdido várias classificações diferentes na literatura, mas que não diferem muito das de Christian e Schneider

27 Particionamento particionamento é falha?
um grupo de processos é dividido em subgrupos sem comunicação entre si operação normal computação móvel (por exemplo) defeitos dos componentes do sistema crashs de processos sobrecargas de nodos problemas na rede particionamento é falha? comum em WANs modelos síncrono e assíncrono excluem particionamento melhor tratado no modelo timed asynchronous

28 Comunicação entre processos
troca de mensagens SEND e RECEIVE primitivas de comunicação e sincronização RPC (remote procedure call) mais alto nível que SEND e RECEIVE interação cliente / servidor invocação remota de métodos vamos usar apenas troca de mensagens orientação a objetos

29 Comunicação entre processos
troca de mensagens assíncrona síncrona (sem buffer - CSP) troca de mensagens assíncrona buffer infinito transmissor nunca bloqueia buffered message passing buffer finito opera assincronamente até buffer ficar cheio

30 Comunicação entre processos
RPC call service (value_args, result_args) comunicação síncrona falhas executando RPC órfãos execuções indesejadas de procedimento remoto, ocasionada por defeito durante invocação ordem de chamadas

31 Orientação a objetos modelo orientado a objetos
outro paradigma de comunicação de alto nível atualmente muito popular um processo executa um método em um objeto particular objeto pode residir em qualquer nodo processo envia mensagem ao objeto objeto executa uma ação e retorna resultado

32 Ordenação de eventos dificuldade de determinar relações temporais
RAZÃO: inexistência de clock global problema determinar ordenação temporal de eventos que ocorrem em nodos diferentes, medidos por relógios diferentes global time físico (sincronização de relógios) ou lógico

33 Ordenação parcial de eventos
relação: a “aconteceu antes de” b : a → b ordem parcial se a e b são eventos do mesmo processo e a é executado antes de b então a → b se a é send e b é receive da mesma mensagem então a → b a → b e b → c então a → c eventos concorrentes: nem a → b, nem b → a

34 Clocks lógicos Lamport (78) relógios lógicos
meio de assinalar um número a um evento nenhuma relação com o tempo físico sistema de clock lógico Ci - clock local ao proc Pi, C - sistema de clock um sistema de clock lógico é correto se é consistente com a relação → para quaisquer eventos a e b, se a → b então C(a) < C(b) relógios lógicos

35 Clocks lógicos clock lógico pode ser facilmente implementado
carimba um evento de forma que a relação de ordem parcial é mantida pode ser facilmente implementado usando contadores numerando mensagens com numeração crescente exemplo de implementação: timestamp T a maior parte dos problemas de ordenação podem ser resolvidos com clocks lógicos, sem necessidade de relógios físicos sincronizados

36 Timestamps Pi inclui seu timestamp nas mensagens m que envia
Tm: timestamp da mensagem m 2 condições: cada Pi incrementa Ci entre 2 eventos sucessivos recebendo mensagem m com Tm , Pj torna Cj maior ou igual ao seu valor atual e maior que Tm Ci - clock local ao processo Pi

37 Timestamps as 2 condições asseguram realização da ordem parcial
implementação: um contador por nodo é suficiente impossível assinalar timestamps consistentes com a relação de ordem parcial puramente usando relógios Físicos clocks físicos precisariam ser sincronizados para assegurar a relação de ordem parcial

38 Ordenação total com clock lógico
relógio lógico pode ser usado para ordenação total (Lamport 78) mensagens de diferentes processos podem possuir o mesmo timestamp se duas mensagems possuem o mesmo timestamp devem ter sido originadas em diferentes processos para estabelecer uma ordem, basta ordenar os processos de alguma forma a mesma forma de ordenação deve ser seguida por todos os processos

39 Ordenação total uma implementação possível
eventos com mesmo timestamp são ordenados pela ordem lexicográfica dos nomes dos processos preserva a relação de ordem parcial → todos os nodos classificam os eventos na mesma ordem, não assegura preservação de ordem temporal dos eventos concorrentes se a ordem temporal for importante, clocks lógicos não podem ser empregados

40 Exemplo


Carregar ppt "Carlos Oberdan Rolim Ciência da Computação"

Apresentações semelhantes


Anúncios Google