Comunicação entre processos: Mensagens Nazareno Andrade Universidade Federal de Campina Grande...

Preview:

Citation preview

Comunicação entre processos: Mensagens

Nazareno AndradeUniversidade Federal de Campina Grande

02/2008

Sistemas Distribuídos

2

FundamentosCoordenando processosConstruíndo sistemasSistemas construídos

3

FundamentosCoordenando processos

– Mensagens (e fluxos): UDP, TCP, MPI, Enfileiramento, Gossiping

– RPC e objetos distribuídos: RMI– Mensagens vs. RPC– Nomeação– Sincronização e replicação

Construíndo sistemasSistemas construídos

4

Objetivos

Dominar primitivas usadas para a comunicação entre processos

Visão geral de paradigmas de comunicação entre processos

5

Fundamental: Mensagens e RPC/RMI

Tudo é construído com TCP e UDP

Mensagens – Direto com primitivas TCP ou UDP– Primitivas mais sofisticadas: MPI, enfileiramento,

multicast, epidemias, boatos

RPC/RMI– Abstração de nível mais alto que mensagens

6

OSI vs. TCP/IP

7

TCP vs. UDP

8

UDP: como e pra quê

9

Primitivas UDP

10

Exemplo UDP

11

TCP: como e para quê

12

Primitivas TCP

Figura e definição de soquetes

13

Exemplo TCP

14

Quando TCP, quando UDP

15

Primitivas mais apropriadas para desenvolvedores

TCP e UDP estão em um nível muito baixo de abstração

16

MPI

17

Exemplo em MPI

18

Enfileiramento

Email e Jabber

19

Multicast

Comunicação 1 váriosA priori, existe no nível da rede

– Quando tudo está configurado e permitido

Freqüentemente, existe no nível da aplicação

DETALHAR MAIS AQUI

20

Epidemias e Gossiping

Objetivo: espalhar uma informação para um grande número de nós– Tipicamente uma atualização

Protocolos epidêmicos inspirados na teoria das epidemias– Cada nó periodicamente escolhe outro e troca informação com ele – Em O(log(N)) rodadas, quase todos recebem a informação

Protocolos baseados no espalhamento de boatos– Cada nó periodicamente escolhe outro e lhe passa novidades que

recebeu– Se o outro já sabe da novidade, o interesse na propagação cai

21

Exemplos com epidemias e boatos

ALGUM EXEMPLO COM ATUALIZAÇÃO

Estimando o tamanho do sistema– Todos os nós, ao trocar informações, fazem a média de um

valor x que têm– Um nó líder faz x = 1, os demais fazem x = 0– Após algum tempo, x será 1/N para todos

22

Onde estamos

23

RPC (e RMI)

24

RPC vs. Mensagens

25

Recapitulando

26

Mais sobre esse assunto

27

Cenas do próximo capítulo

Recommended