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

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