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

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

Tecn. Amb. Distribuídos: Modelos de Comunicação em Sistemas Distribuídos 1 Arquiteturas de Sistemas Distribuídos: Modelos de Comunicação Alcides Calsavara.

Apresentações semelhantes


Apresentação em tema: "Tecn. Amb. Distribuídos: Modelos de Comunicação em Sistemas Distribuídos 1 Arquiteturas de Sistemas Distribuídos: Modelos de Comunicação Alcides Calsavara."— Transcrição da apresentação:

1 Tecn. Amb. Distribuídos: Modelos de Comunicação em Sistemas Distribuídos 1 Arquiteturas de Sistemas Distribuídos: Modelos de Comunicação Alcides Calsavara

2 Tecn. Amb. Distribuídos: Modelos de Comunicação em Sistemas Distribuídos 2 Referência Básica n [C] Distributed Systems: Concepts and Design. G. Coulouris, J. Dollimore, T. Kindberg. Addison-Wesley, ISBN (Capítulos 4 e 5) n [T] Distributed Operating Systems. A. S. Tanenbaum. Prentice-Hall, ISBN (Seções 2.4 e 2.5)

3 Tecn. Amb. Distribuídos: Modelos de Comunicação em Sistemas Distribuídos 3 Conteúdo n Elementos básicos de comunicação n Transmissão de dados n Endereçamento n Sincronismo n Enfileiramento (Bufferização) n Confiabilidade n Comunicação cliente-servidor n Comunicação em grupo n Chamada remota de procedimento

4 Tecn. Amb. Distribuídos: Modelos de Comunicação em Sistemas Distribuídos 4 Comunicação cliente-servidor

5 Tecn. Amb. Distribuídos: Modelos de Comunicação em Sistemas Distribuídos 5 Transmissão de dados n Dados em programas são estruturados enquanto que mensagens carregam informação sequencial: » Linearização/Restauração de dados n Heterogeneidade na representação de dados em computadores: » Uso de um formato externo comum » Inclusão de uma identificação de arquitetura na mensagem

6 Tecn. Amb. Distribuídos: Modelos de Comunicação em Sistemas Distribuídos 6 Marshalling/Unmarshalling n Marshalling: n Linearização de uma coleção de itens de dados estruturados n Tradução dos dados em formato externo n Unmarshalling: n Tradução do formato externo para o local n Restauração dos itens de dados de acordo com sua estrutura

7 Tecn. Amb. Distribuídos: Modelos de Comunicação em Sistemas Distribuídos 7 Endereçamento n Esquemas: n Endereçamento máquina.processo n Endereçamento máquina.id-local n Descoberta de endereço via broadcasting (difusão) n Descoberta de endereço via um servidor de nomes n Problemas potenciais: transparência de localização, sobrecarga, escalabilidade

8 Tecn. Amb. Distribuídos: Modelos de Comunicação em Sistemas Distribuídos 8 Comunicação síncrona n Primitiva send é bloqueante: processo cliente aguarda enquanto o núcleo envia a mensagem para o processo servidor. n Primitiva receive é bloqueante: processo servidor aguarda até que o núcleo receba uma mensagem endereçada para aquele processo.

9 Tecn. Amb. Distribuídos: Modelos de Comunicação em Sistemas Distribuídos 9 Comunicação assíncrona n Primitiva send não é bloqueante: o processo cliente aguarda somente enquanto a mensagem é copiada para o buffer do núcleo. n Primitiva receive pode ser: n bloqueante: o processo servidor aguarda por uma mensagem. n não bloqueante: o processo servidor simplesmente comunica o núcleo que espera receber uma mensagem.

10 Tecn. Amb. Distribuídos: Modelos de Comunicação em Sistemas Distribuídos 10 Enfileiramento n Situações: n Send ocorre antes de Receive n Um cliente faz um Send enquanto o servidor ainda atende a outro cliente n Solução trivial: clientes devem insistir... n Solução pragmática: mailbox (uma fila de mensagens controlada pelo núcleo): n mailbox criado a pedido do servidor n mensagens endereçadas ao mailbox

11 Tecn. Amb. Distribuídos: Modelos de Comunicação em Sistemas Distribuídos 11 Confiabilidade n Mensagens se perdem, atrasam, duplicam. n Abordagens: n Send tem semântica não confiável: as aplicações devem garantir entrega de mensagens (ex: timeout) n Mensagem de acknowledgement enviada pelo servidor (no nível núcleo) n Mensagem de acknowledgement implícita na resposta do servidor

12 Tecn. Amb. Distribuídos: Modelos de Comunicação em Sistemas Distribuídos 12 Pacotes em protocolo C-S

13 Tecn. Amb. Distribuídos: Modelos de Comunicação em Sistemas Distribuídos 13 Comunicação em grupo n Tolerância a falhas baseada na replicação de serviços n Localização de objetos em serviços distribuídos n Melhor desempenho via replicação de dados n Múltipla atualização

14 Tecn. Amb. Distribuídos: Modelos de Comunicação em Sistemas Distribuídos 14 Tipos de grupos n Visibilidade: n Aberto: um processo fora do grupo consegue enviar mensagens para o grupo todo n Fechado: somente processos do grupo enviam mensagens para o grupo todo n Organização: n Peer: todos os processos tomam decisão n Hierárquico: decisão é centralizada

15 Tecn. Amb. Distribuídos: Modelos de Comunicação em Sistemas Distribuídos 15 Endereçamento de grupo n Multicast: um processo envia uma mensagem simultânea e somente para os membros do grupo. n Broadcast: um processo envia uma mensagem para todas as máquinas e somente as que contêm um membro do grupo a assimila. n Unicast: um processo envia uma mensagem para todos os membros do grupo em série.

16 Tecn. Amb. Distribuídos: Modelos de Comunicação em Sistemas Distribuídos 16 Modificações no grupo n Controle centralizado: servidor de grupo n Controle descentralizado: acordo entre os membros n Operações: n Entrada de um membro: atualizar estado n Saída de um membro: se involuntária (ex: parada), todos os membros restantes devem notar sua saída.

17 Tecn. Amb. Distribuídos: Modelos de Comunicação em Sistemas Distribuídos 17 Primitivas de comunicação n GroupSend: envia mensagem para todos os membros do grupo n GroupReceive: aguarda mensagem enviada a todo o grupo n GetReply: aguarda resposta de todos os membros do grupo após um GroupSend

18 Tecn. Amb. Distribuídos: Modelos de Comunicação em Sistemas Distribuídos 18 Atomicidade n Uma mensagem enviada ao grupo deve ser recebida por todos os seus membros ou por nenhum deles. n Situação: o enviador pode parar enquanto está enviando a mensagem para o grupo. n Garantia de consistência do grupo n Facilidade de programação

19 Tecn. Amb. Distribuídos: Modelos de Comunicação em Sistemas Distribuídos 19 Ordenação de mensagens n Todas as mensagens enviadas a um grupo devem chegar a todos os processos na mesma ordem. n Abordagens: n Ordenação por tempo global n Ordenação por tempo consistente: somente uma mensagem por vez é difundida

20 Tecn. Amb. Distribuídos: Modelos de Comunicação em Sistemas Distribuídos 20 Chamada de Procedimentos Remotos (RPC) n Comunicação baseada em operações de entrada/saída: abstração fraca, sujeito a erros n Ideal: programar um sistema distribuído como se fosse centralizado n RPC objetiva permitir chamada de procedimento remoto como se fosse local, ocultando entrada/saída de mensagens

21 Tecn. Amb. Distribuídos: Modelos de Comunicação em Sistemas Distribuídos 21 Visão geral n Um processo A chama um procedimento p de um processo B, entrando em estado de espera n O processo B passa a executar o procedimento p, e ao seu término faz um reply para o processo A n O processo A volta à sua execução normal após ter recebido o reply

22 Tecn. Amb. Distribuídos: Modelos de Comunicação em Sistemas Distribuídos 22 Chamadas de procedimento n O procedimento chamador, que já tem suas variáveis locais empilhadas, empilha os parâmetros da chamada e o endereço de retorno n O procedimento chamado aloca suas variáveis locais n No retorno do procedimento chamado, os parâmetros e o endereço de retorno são desempilhados

23 Tecn. Amb. Distribuídos: Modelos de Comunicação em Sistemas Distribuídos 23 Modos de parâmetros n Valor: procedimento chamado recebe uma cópia de uma variável conhecida do procedimento chamador n Referência: procedimento chamado recebe o endereço de uma variável conhecida do procedimento chamador n Cópia/Reescrita: procedimento chamador recebe uma cópia de uma variável conhecida do procedimento chamador e o valor desta cópia é reescrito na variável

24 Tecn. Amb. Distribuídos: Modelos de Comunicação em Sistemas Distribuídos 24 Funções dos Stubs n Client stub n intercepta a chamada n empacota os parâmetros (marshalling) n envia mensagem de request ao servidor (através do núcleo) n Server stub n recebe a mensagem de request (através do núcleo) n desempacota os parâmetros (unmarshalling) n chama o procedimento, passando os parâmetros n empacota o resultado n envia mensagem de reply ao cliente (através do núcleo) n Client stub n recebe a mensagem de reply (através do núcleo) n desempacota o resultado n passa o resultado para o cliente

25 Tecn. Amb. Distribuídos: Modelos de Comunicação em Sistemas Distribuídos 25 Falhas em RPC n O cliente não é capaz de localizar o servidor n A mensagem de request do cliente para o servidor é perdida n A mensagem de reply do servidor para o cliente é perdida n O servidor pára após ter recebido a mensagem de request n O cliente pára após ter enviado a mensagem de request

26 Tecn. Amb. Distribuídos: Modelos de Comunicação em Sistemas Distribuídos 26 Falha do servidor n Passos normais: n recebe mensagem de request n executa procedimento n envia mensagem de reply n Falha pode ocorrer: n após a execução n antes da execução n Semânticas de chamada: n pelo menos um n no máximo um n exatamente um

27 Tecn. Amb. Distribuídos: Modelos de Comunicação em Sistemas Distribuídos 27 Falha do cliente n O servidor torna-se um órfão n Soluções: n exterminação do servidor pela máquina do cliente n reencarnação do cliente: toda computação remota é destruída n "reencarnação" suave do cliente: somentes as computações remotas referentes a aquele cliente são destruídas n expiração: servidor estabele um timeout para confirmação


Carregar ppt "Tecn. Amb. Distribuídos: Modelos de Comunicação em Sistemas Distribuídos 1 Arquiteturas de Sistemas Distribuídos: Modelos de Comunicação Alcides Calsavara."

Apresentações semelhantes


Anúncios Google