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

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

Modelos de Comunicação em SD 1 Modelos de Comunicação em Sistemas Distribuídos Módulo 3 Alcides Calsavara.

Apresentações semelhantes


Apresentação em tema: "Modelos de Comunicação em SD 1 Modelos de Comunicação em Sistemas Distribuídos Módulo 3 Alcides Calsavara."— Transcrição da apresentação:

1 Modelos de Comunicação em SD 1 Modelos de Comunicação em Sistemas Distribuídos Módulo 3 Alcides Calsavara

2 Modelos de Comunicação em SD 2 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

3 Modelos de Comunicação em SD 3 Comunicação cliente-servidor

4 Modelos de Comunicação em SD 4 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

5 Modelos de Comunicação em SD 5 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

6 Modelos de Comunicação em SD 6 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

7 Modelos de Comunicação em SD 7 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.

8 Modelos de Comunicação em SD 8 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.

9 Modelos de Comunicação em SD 9 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

10 Modelos de Comunicação em SD 10 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

11 Modelos de Comunicação em SD 11 Pacotes em protocolo C-S

12 Modelos de Comunicação em SD 12 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

13 Modelos de Comunicação em SD 13 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

14 Modelos de Comunicação em SD 14 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

15 Modelos de Comunicação em SD 15 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

16 Modelos de Comunicação em SD 16 Chamadas e mensagens em RPC Máquina do ClienteMáquina do Servidor Kernel clienteservidor empacota parâmetros desempacota resultados desempacota parâmetros empacota resultados transporte de mensagens via rede 1 2 3 4 0 5 6 7 8 9 10 11

17 Modelos de Comunicação em SD 17 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

18 Modelos de Comunicação em SD 18 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

19 Modelos de Comunicação em SD 19 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

20 Modelos de Comunicação em SD 20 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

21 Modelos de Comunicação em SD 21 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

22 Modelos de Comunicação em SD 22 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

23 Modelos de Comunicação em SD 23 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.

24 Modelos de Comunicação em SD 24 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.

25 Modelos de Comunicação em SD 25 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

26 Modelos de Comunicação em SD 26 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

27 Modelos de Comunicação em SD 27 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


Carregar ppt "Modelos de Comunicação em SD 1 Modelos de Comunicação em Sistemas Distribuídos Módulo 3 Alcides Calsavara."

Apresentações semelhantes


Anúncios Google