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

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

Sistemas Distribuídos Carlos A. G. Ferraz DI/UFPE Aula 06.

Apresentações semelhantes


Apresentação em tema: "Sistemas Distribuídos Carlos A. G. Ferraz DI/UFPE Aula 06."— Transcrição da apresentação:

1 Sistemas Distribuídos Carlos A. G. Ferraz DI/UFPE Aula 06

2 Tópicos n O Modelo Cliente/Servidor (cont.) n RPC

3 O Modelo Cliente/Servidor (cont.) Servidores “Gordos”: fazem maior parte das operações Exemplos: u Servidores de transação u Servidores de objetos u Servidores de groupware

4 O Modelo Cliente/Servidor (cont.) Clientes “Gordos” / Servidores “Magros” Exemplos: u Servidores de arquivos u Servidores de banco de dados

5 O Modelo Cliente/Servidor (cont.) Endereçamento: n Máquina.processo n Broadcasting n Servidor de nomes

6 Cliente/Servidor: Endereçamento Máquina.processo clienteservidor Pedido para Resposta para 199.0

7 Cliente/Servidor: Endereçamento Broadcasting clienteservidor Broadcast 2. “Here I am” 3. Pedido 4. Resposta 12

8 Cliente/Servidor: Endereçamento Servidor de nomes cliente servidor de nomes Procura 2. Resposta do servidor de nomes 3. Pedido 4. Resposta servidor 4 3

9 Cliente/Servidor: Endereçamento Problemas: n Máquina.processo: não transparente n Broadcasting: sobrecarga no sistema n Servidor de nomes: centralizado

10 O Modelo Cliente/Servidor (cont.) Primitivas: n Bloqueantes (síncronas) n Não-bloqueantes (assíncronas)

11 Cliente/Servidor: Primitivas (a) Blocking send è parada durante transmissão da mensagem (b) Nonblocking send com cópia è perda de tempo para a cópia è tx em background (c) Nonblocking send è programação mais difícil cliente envio da mensagem executando bloqueado envio da mensagem executando bloq. msg copiada p/ buffer (a) (b)

12 Cliente/Servidor: Primitivas n A vantagem de melhor desempenho de primitivas não-bloqueantes pode ser desfeita pela seguinte desvantagem: o sender não pode modificar o buffer de mensagem até que a mensagem seja enviada - seria um grande erro gravar sobre a mensagem n O pior é o processo nunca poder saber quando pode reusar o buffer -> solução por timeout

13 Cliente/Servidor: Primitivas n Assim como send pode ser bloqueante ou não-bloqueante, receive também pode n Quase sempre a versão bloqueante de receive é mais simples e preferida

14 Cliente/Servidor: Primitivas Passagem de mensagem: n Sem buffer: o servidor tem que chamar receive antes que o cliente chame outro send n Com buffer: o servidor, ao chamar receive, retira uma mensagem do “mailbox” ou bloqueia se não houver mensagem no buffer

15 Cliente/Servidor: Primitivas Primitivas confiáveis versus não- confiáveis: n Não-confiáveis: não há garantias de entrega Ex: correio

16 Cliente/Servidor: Primitivas Primitivas confiáveis: núcleo cliente servidorcliente servidor Request (cliente-servidor) 2. ACK (núcleo-núcleo) 3. Reply (servidor-cliente) 4. ACK (núcleo-núcleo) 1. Request (cliente-servidor) 2. Reply (servidor-cliente) 4. ACK (núcleo-núcleo)

17 RPC n Protocolo Pedido-Resposta n Integração relativamente transparente com linguagem de programação

18 RPC (cont.) n Evitar passagem de endereço e variáveis globais n Novos tipos de erros em função da distribuição u Incl.: tratamento de exceções (ex.: atraso de comunicação -> timeout)

19 RPC (cont.) n Clientes acessam serviços fazendo RPCs para operações nas interfaces de servidores n Stubs: transparência de acesso u tratamento de algumas exceções no local u marshalling u unmarshalling

20 RPC (cont.) Binder n Ligação dinâmica n Transparência de localização

21 RPC (cont.) Sun x ANSA n IDL: Sun só permite um argumento e um resultado n ANSA fornece nomes de interface, SUN fornece números de programa e versão n Concorrência: ANSA fornece um pacote de threads; SunOS não, Solaris sim.

22 RPC: Sun x ANSA (cont.) n Semântica de chamada: ao- menos-uma-vez (Sun), no- máximo-uma-vez (ANSA) n Limitações no tamanho de argumentos e resultados: sim (Sun), não (ANSA) n Transparência: Sun não fornece transparência de localização

23 RPC (cont.) Considerações finais: n RPC assíncrono n Comunicação em grupo


Carregar ppt "Sistemas Distribuídos Carlos A. G. Ferraz DI/UFPE Aula 06."

Apresentações semelhantes


Anúncios Google