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

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

Arquitetura de sistemas distribuídos Ingrid Jansch Pôrto 2006 Agradecimentos a Taisy Silva Weber pelo conjunto de slides original, a partir do qual este.

Apresentações semelhantes


Apresentação em tema: "Arquitetura de sistemas distribuídos Ingrid Jansch Pôrto 2006 Agradecimentos a Taisy Silva Weber pelo conjunto de slides original, a partir do qual este."— Transcrição da apresentação:

1 Arquitetura de sistemas distribuídos Ingrid Jansch Pôrto 2006 Agradecimentos a Taisy Silva Weber pelo conjunto de slides original, a partir do qual este foi realizado.

2 Ingrid Jansch Porto2 Arquitetura de sistemas distribuídos 4 Material baseado –Pankaj Jalote. Fault Tolerance in Distributed Systems. Prentice Hall, –Mukesh Singhal & Niranjan Shivaratri. Advanced Concepts in Operating Systems. McGraw Hill, –Sape Mullender. Distributed Systems. Addison-Wesley, 2nd edition, 1994.

3 Ingrid Jansch Porto3 Níveis processador fail-stop, armazenamento estável, comunicação confiável, consenso bizantino, difusão confiável e atômica recuperação para um estado consistente resiliência de dados resiliência de processos ações atômicas software tolerante a falhas serviços blocos básicos sistema distribuído

4 Ingrid Jansch Porto4 Sistemas distribuídos 4 Modelos de Sistemas Distribuídos (SD): modelos físico e lógico; comunicação entre processos 4 Relógios lógicos e ordenação de eventos 4 Estado global do SD 4 Canais de comunicação 4 Modelos de computação. Modelos de defeitos 4 Acordo bizantino

5 Ingrid Jansch Porto5 Modelos de sistemas distribuídos 4 Modelo físico: definido pelos componentes físicos do sistema. Ë o nível de realização da computação (rede real). 4 Modelo lógico: definido do ponto de vista do processamento ou da computação. Corresponde ao ponto de vista do usuário; serve de base para a definição de serviços. Em sistemas robustos, o modelo lógico é independente das falhas que ocorrem sobre o modelo físico.

6 Ingrid Jansch Porto6 Sistemas distribuídos –sem memória compartilhada –sem relógio global 4 modelos –modelo físico –modelo lógico nodos e rede processos e canais o modelo físico é de interesse secundário nessa disciplina; entretanto, para melhorar o desempenho, características físicas especiais do meio podem ser consideradas processador relógio local memória local volátil armazenamento não volátil interface de rede software

7 Ingrid Jansch Porto7 Modelo físico processador memória local relógio local disco interface de rede NODO i - memória não é compartilhada com demais nodos - o relógio é local a cada nodo NODO k mensagens NODO j

8 Ingrid Jansch Porto8 Comunicação: topologias ponto a ponto totalmente conectado estrela árvore

9 Ingrid Jansch Porto9 Topologia barramento barramento comum nodos uma mensagem enviada pelo barramento pode ser recebida simultaneamente por todos os nodos (broadcast) bus, barra ou via

10 Ingrid Jansch Porto10 Modelo lógico 4 aplicação distribuída –conjunto de processos concorrentes –processos cooperam para realizar uma computação cada processo é seqüencial 4 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

11 Ingrid Jansch Porto11 Modelo lógico 4 rede completamente conectada topologia não é considerada 4 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) –Observe-se que estas características não são necessariamente válidas para o meio físico

12 Ingrid Jansch Porto12 Modelo lógico 4 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)

13 Ingrid Jansch Porto13 Canal c b a p i p j canal ordem de mensagens preservada processo no modelo físico, as mensagens a, b e c podem trafegar por rotas diferentes ordem de envio

14 Ingrid Jansch Porto14 Canal p a p dp d p cp c p b x y m n m x y n x m n y ordem parcial preservada ordem total não preservada

15 Ingrid Jansch Porto15 Sistemas síncronos e assíncronos 4 sistema síncrono existe um limite de tempo finito e conhecido sistema correto opera dentro desse limite 4 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

16 Ingrid Jansch Porto16 Limites de tempo 4 canal de comunicação síncrono –retardo (delay) máximo é conhecido 4 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

17 Ingrid Jansch Porto17 usado para detectar defeitos em nodos e perda de mensagens Vantagem do sistema síncrono 4 detecção de defeito –defeito de um componente do sistema pode ser deduzido pela ausência de resposta –timeout se um nodo não reponde após certo intervalo de tempo sistema síncrono - nodo com defeito sistema assíncrono - nada se pode afirmar

18 Ingrid Jansch Porto18 Classificação de defeitos 4 colapso ou crash –uma falha que causa a parada de um componente ou a perda do seu estado interno 4 omissão –um componente não responde a determinadas entradas –engloba crash 4 temporização –o componente responde ou muito cedo ou muito tarde –engloba omissão modelo de Cristian mais restritiva de todas as classes também chamada falha de desempenho

19 Ingrid Jansch Porto19 Classificação de falhas 4 resposta computação incorreta, o componente produz respostas incorretas para algumas entradas –não engloba as anteriores 4 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

20 Ingrid Jansch Porto20 resposta temporização arbitrária omissão crash Classificação de falhas comportamento totalmente arbitrário e imprevisível respostas incorretas para algumas entradas resposta adiantada ou retardada sem resposta para algumas entradas parada ou perda do estado interno

21 Ingrid Jansch Porto21 Exemplos de classes de falhas –Processador: 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

22 Ingrid Jansch Porto22 Modelos de falhas 4 Fred B. Schneider –Failstop (detectável pelos demais) –Crash (Lamport and Fischer, 1982) –crash + link (Budhiraja et al., 1992) –omissão de recepção (Perry and Toueg, 1986) –omissão de envio (Hadzilacos, 1984) –omissão geral (Perry and Toueg, 1986) –comportamento bizantino (Lamport, Shostak and Pease, 1982) várias classificações diferentes na literatura, mas que não diferem muito das de Cristian e Schneider

23 Ingrid Jansch Porto23 Comunicação entre processos 4 troca de mensagens –SEND e RECEIVE primitivas de comunicação e sincronização 4 RPC (remote procedure call) –mais alto nível que SEND e RECEIVE –interação cliente / servidor 4 invocação remota de métodos orientação a objetos

24 Ingrid Jansch Porto24 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

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

26 Ingrid Jansch Porto26 Orientação a objetos 4 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

27 Ingrid Jansch Porto27 Ordenação de eventos 4 dificuldade de determinar relações temporais –RAZÃO: inexistência de clock global 4 problema –determinar ordenação temporal de eventos que ocorrem em nodos diferentes, medidos por relógios diferentes –relação: a aconteceu antes de b : a b

28 Ingrid Jansch Porto28 Ordenação de eventos 4 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

29 Ingrid Jansch Porto29 Clocks lógicos 4 Lamport (78) 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

30 Ingrid Jansch Porto30 Clocks lógicos 4 clock lógico –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

31 Ingrid Jansch Porto31 Timestamps –Pi inclui seu timestamp nas mensagens m que envia Tm: timestamp da mensagem m –Duas 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

32 Ingrid Jansch Porto32 Timestamps –as duas 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

33 Ingrid Jansch Porto33 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 mensagens 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

34 Ingrid Jansch Porto34 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

35 Ingrid Jansch Porto35 Exemplo p a p dp d p cp c p b a 1 a 2 b 1 b 3 ordem parcial preservada a2a2 a 1 b 1 a 2 b 3 ordem total preservada b 1 a 1 b 3 a 2 Pb recebe a 2 após enviar b 1 Pb envia b 1 antes de Pa enviar a 1 a 1 b 1 a 2 b 3


Carregar ppt "Arquitetura de sistemas distribuídos Ingrid Jansch Pôrto 2006 Agradecimentos a Taisy Silva Weber pelo conjunto de slides original, a partir do qual este."

Apresentações semelhantes


Anúncios Google