comunicação entre processos: mensagens nazareno andrade universidade federal de campina grande...

27
Comunicação entre processos: Mensagens Nazareno Andrade Universidade Federal de Campina Grande 02/2008 Sistemas Distribuídos

Upload: internet

Post on 21-Apr-2015

107 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: Comunicação entre processos: Mensagens Nazareno Andrade Universidade Federal de Campina Grande 02/2008 Sistemas Distribuídos

Comunicação entre processos: Mensagens

Nazareno AndradeUniversidade Federal de Campina Grande

02/2008

Sistemas Distribuídos

Page 2: Comunicação entre processos: Mensagens Nazareno Andrade Universidade Federal de Campina Grande 02/2008 Sistemas Distribuídos

2

FundamentosCoordenando processosConstruíndo sistemasSistemas construídos

Page 3: Comunicação entre processos: Mensagens Nazareno Andrade Universidade Federal de Campina Grande 02/2008 Sistemas Distribuí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

Page 4: Comunicação entre processos: Mensagens Nazareno Andrade Universidade Federal de Campina Grande 02/2008 Sistemas Distribuídos

4

Objetivos

Dominar primitivas usadas para a comunicação entre processos

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

Page 5: Comunicação entre processos: Mensagens Nazareno Andrade Universidade Federal de Campina Grande 02/2008 Sistemas Distribuídos

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

Page 6: Comunicação entre processos: Mensagens Nazareno Andrade Universidade Federal de Campina Grande 02/2008 Sistemas Distribuídos

6

OSI vs. TCP/IP

Page 7: Comunicação entre processos: Mensagens Nazareno Andrade Universidade Federal de Campina Grande 02/2008 Sistemas Distribuídos

7

TCP vs. UDP

Page 8: Comunicação entre processos: Mensagens Nazareno Andrade Universidade Federal de Campina Grande 02/2008 Sistemas Distribuídos

8

UDP: como e pra quê

Page 9: Comunicação entre processos: Mensagens Nazareno Andrade Universidade Federal de Campina Grande 02/2008 Sistemas Distribuídos

9

Primitivas UDP

Page 10: Comunicação entre processos: Mensagens Nazareno Andrade Universidade Federal de Campina Grande 02/2008 Sistemas Distribuídos

10

Exemplo UDP

Page 11: Comunicação entre processos: Mensagens Nazareno Andrade Universidade Federal de Campina Grande 02/2008 Sistemas Distribuídos

11

TCP: como e para quê

Page 12: Comunicação entre processos: Mensagens Nazareno Andrade Universidade Federal de Campina Grande 02/2008 Sistemas Distribuídos

12

Primitivas TCP

Figura e definição de soquetes

Page 13: Comunicação entre processos: Mensagens Nazareno Andrade Universidade Federal de Campina Grande 02/2008 Sistemas Distribuídos

13

Exemplo TCP

Page 14: Comunicação entre processos: Mensagens Nazareno Andrade Universidade Federal de Campina Grande 02/2008 Sistemas Distribuídos

14

Quando TCP, quando UDP

Page 15: Comunicação entre processos: Mensagens Nazareno Andrade Universidade Federal de Campina Grande 02/2008 Sistemas Distribuídos

15

Primitivas mais apropriadas para desenvolvedores

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

Page 16: Comunicação entre processos: Mensagens Nazareno Andrade Universidade Federal de Campina Grande 02/2008 Sistemas Distribuídos

16

MPI

Page 17: Comunicação entre processos: Mensagens Nazareno Andrade Universidade Federal de Campina Grande 02/2008 Sistemas Distribuídos

17

Exemplo em MPI

Page 18: Comunicação entre processos: Mensagens Nazareno Andrade Universidade Federal de Campina Grande 02/2008 Sistemas Distribuídos

18

Enfileiramento

Email e Jabber

Page 19: Comunicação entre processos: Mensagens Nazareno Andrade Universidade Federal de Campina Grande 02/2008 Sistemas Distribuídos

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

Page 20: Comunicação entre processos: Mensagens Nazareno Andrade Universidade Federal de Campina Grande 02/2008 Sistemas Distribuídos

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

Page 21: Comunicação entre processos: Mensagens Nazareno Andrade Universidade Federal de Campina Grande 02/2008 Sistemas Distribuídos

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

Page 22: Comunicação entre processos: Mensagens Nazareno Andrade Universidade Federal de Campina Grande 02/2008 Sistemas Distribuídos

22

Onde estamos

Page 23: Comunicação entre processos: Mensagens Nazareno Andrade Universidade Federal de Campina Grande 02/2008 Sistemas Distribuídos

23

RPC (e RMI)

Page 24: Comunicação entre processos: Mensagens Nazareno Andrade Universidade Federal de Campina Grande 02/2008 Sistemas Distribuídos

24

RPC vs. Mensagens

Page 25: Comunicação entre processos: Mensagens Nazareno Andrade Universidade Federal de Campina Grande 02/2008 Sistemas Distribuídos

25

Recapitulando

Page 26: Comunicação entre processos: Mensagens Nazareno Andrade Universidade Federal de Campina Grande 02/2008 Sistemas Distribuídos

26

Mais sobre esse assunto

Page 27: Comunicação entre processos: Mensagens Nazareno Andrade Universidade Federal de Campina Grande 02/2008 Sistemas Distribuídos

27

Cenas do próximo capítulo