Comunicação entre processos: Mensagens Nazareno Andrade Universidade Federal de Campina Grande 02/2008 Sistemas Distribuídos
2 Fundamentos Coordenando processos Construíndo sistemas Sistemas construídos
3 Fundamentos Coordenando 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 sistemas Sistemas 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 e Jabber
19 Multicast Comunicação 1 vários A 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