Grupos de Processos (Comunicação Grupal)

Documentos relacionados
Sistemas Distribuídos Grupos

Comunicação entre processos (grupos) COMUNICAÇÃO ENTRE PROCESSOS Comunicação de grupo. Comunicação entre processos (grupos)

Sistemas distribuídos:comunicação

Comunicação entre processos (grupos) COMUNICAÇÃO ENTRE PROCESSOS Comunicação de grupo. Comunicação entre processos (grupos)

Sistemas Distribuídos

Sistemas Distribuídos

REDES DE COMPUTADORES

Tópicos em Sistemas Distribuídos. Modelos de Comunicação

Sistemas Distribuídos. Aleardo Manacero Jr.

Sistemas Distribuídos Modelo Cliente-Servidor

UNIVERSIDADE. Sistemas Distribuídos


Comunicação em Sistemas Distribuídos. Bruno M. Carvalho Sala: 3B2 Horário: 35T34

Redes de computadores. Redes para Internet

Sistemas Distribuídos e Redes de Sensores

Curso: Redes II (Heterogênea e Convergente) Tema da Aula: Controle de Congestionamento

Motivos para você ter um servidor

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064

Nomes e Endereçamento. Nomes e Endereçamento. Paradigmas em Sistemas Distribuídos. Paradigmas em Sistemas Distribuídos

SISTEMAS DISTRIBUÍDOS

Comunicação. Parte II

Comunicação Inter-Processos. Prof. Adriano Fiorese. Conceitos Iniciais

Sistemas Distribuídos Aula 15

Redes de Computadores

Sistemas Distribuídos. Coulouris Capítulo 4

SISTEMAS DISTRIBUÍDOS

1. Explicando Roteamento um exemplo prático. Através da análise de uns exemplos simples será possível compreender como o roteamento funciona.

Redes de Computadores II INF-3A

Considerações no Projeto de Sistemas Cliente/Servidor

SISTEMAS DISTRIBUÍDOS

Comunicação de Dados

No projeto das primeiras redes de computadores, o hardware foi a principal preocupação e o software ficou em segundo plano.

Redes de Computadores


DALUA: BIBLIOTECA PARA APLICAÇÕES DISTRIBUÍDAS

Topologia de rede Ligação Ponto-a-Ponto

Introdução ao Modelos de Duas Camadas Cliente Servidor

REDES DE COMPUTADORES - I UNI-ANHANGUERA CENTRO UNIVERSITÁRIO DE GOIÁS CURSO DE ANÁLISE E DESENVOLVIMENTO DE SISTEMAS PROF.

Notas da Aula 6 - Fundamentos de Sistemas Operacionais

Introdução à Camada de Aplicação. Prof. Eduardo

Transporte. Sua função é: Promover uma transferência de dados confiável e econômica entre máquina de origem e máquina de destino.

Resolução de Problemas de Rede. Disciplina: Suporte Remoto Prof. Etelvira Leite

Modelo - Hardware. Página - 1/18. PUC-Rio Características da Distribuição. Sérgio Côrtes scortes@inf.puc-rio.br

UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 14 PROFª BRUNO CALEGARO

3. Comunicação em Sistemas Distribuídos

MODELO CLIENTE SERVIDOR

REDES DE COMPUTADORES E TELECOMUNICAÇÕES MÓDULO 12

4. Qual seria o impacto da escolha de uma chave que possua letras repetidas em uma cifra de transposição?

Sistemas Cliente-Servidor

Sincronização em Sistemas Distribuídos

Capítulo 4 - Roteamento e Roteadores

Protocolos de Redes Revisão para AV I

TRANSMISSÃO DE DADOS

Redes de Computadores. 1 Questões de múltipla escolha. TE090 - Prof. Pedroso. 17 de junho de 2015

Há dois tipos de configurações bidirecionais usados na comunicação em uma rede Ethernet:

Aula 4. Pilha de Protocolos TCP/IP:

Redes de Computadores

Programação Distribuída

Pontes. Aula 14. VLANs. Pontes (bridges) Virtual LANs (VLANs)

Redes de Computadores II

Diagrama lógico da rede da empresa Fácil Credito

Comunicação entre Processos

Sistemas Distribuídos

8 Threads. 8.1 Introdução

3. Explique o motivo pelo qual os protocolos UDP e TCP acrescentam a informação das portas (TSAP) de origem e de destino em seu cabeçalho.

Interconexão de Redes. Aula 03 - Roteamento IP. Prof. Esp. Camilo Brotas Ribeiro cribeiro@catolica-es.edu.br

Introdução. Algumas terminologias. Camada de Enlace de Dados. Prof. Leandro Pykosz

Redes e Conectividade

Estrutura de um Rede de Comunicações. Redes de comunicação. de Dados. Network) Area. PAN (Personal( Redes de. de dados

CAMADA DE TRANSPORTE

Aula 08. Firewall. Prof. Roitier Campos Gonçalves

Rede de Computadores (REC)

Guia de utilização da notação BPMN

Consistência: modelos baseados em dados Consistência: modelos baseados do cliente. Sistemas Distribuídos. junho de 2013

Camada de Aplicação. Prof. Eduardo

Sistemas Distribuídos RPC x RMI. Edeyson Andrade Gomes

Sistemas Distribuídos. Ricardo Ribeiro dos Santos

Na Figura a seguir apresento um exemplo de uma "mini-tabela" de roteamento:

Endereçamento IP. Rede 2 Roteador 2 1

Até o final de década de 70, os sistemas operacionais suportavam apenas processos com um único thread;

Introdução a Computação

Trabalhos Relacionados 79

1. O DHCP Dynamic Host Configuration Protocol

O que se tem, na prática, é a utilização do protocolo TCP/IP na esmagadora maioria das redes. Sendo a sua adoção cada vez maior.

GBD PROF. ANDREZA S. AREÃO

Veja abaixo um exemplo de um endereço IP de 32 bits:

Conceito de Rede e seus Elementos. Prof. Marciano dos Santos Dionizio

Endereços de transporte TPDU. Nível de Rede Endereço de rede. Figura 1. Entidade de transporte

Estrutura de um Rede de Comunicações

1.1 Transmissão multimídia em redes

Camada de Transporte, protocolos TCP e UDP

Sistemas Distribuídos Sincronização de Relógios. Edeyson Andrade Gomes

Sistemas Distribuídos Processos I. Prof. MSc. Hugo Souza

Aula 03-04: Modelos de Sistemas Distribuídos

Sistemas Distribuídos RPC

Equipamentos de rede. Repetidores. Repetidores. Prof. Leandro Pykosz

Disciplina: Redes de Comunicação. Curso Profissional Técnico de Gestão e Programação de Sistemas Informáticos. Setembro 2013

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064

Rede de Computadores II

Transcrição:

Grupos de Processos (Comunicação Grupal)

Roteiro Definição de Grupos Tipos (organização) de grupos Atomicidade Ordenação de mensagens 2

RPC Comunicação entre Pares (duas partes) Cliente - Servidor Comunicação entre vários processos? Coleção de servidores de arquivos Visão única (serviços de arquivos único) Tolerância a Falhas Grupo de Processos RPC não suporta RPC separado para cada PAR Comunicação ponto-a-ponto 3

Mensagens enviadas para o grupo são recebidas por todos os membros do grupo Comunicação de um para muitos (um transmissor, muitos receptores) Grupos são entidades dinâmicas (analogia organizações sociais) Novos grupos podem ser criados e grupos existentes podem ser destruídos Um processo pode entrar e sair de um grupo Inscrição ou Anunciação Um processo pode pertencer a mais de um grupo ao mesmo tempo Necessidade (mecanismos) de gerência de grupos e membros Abstração Encapsula detalhes do grupo 4

Implementação de comunicação em grupo Depende do hardware e da rede de comunicação Multicast Endereço de rede (grupo) Especial e Diferente Máquinas escutam endereço especial Fácil de implementar Broadcast Cada grupo com um endereço especial Envio a todas as máquinas Máquinas devem validar o destino da mensagem (perda de tempo considerável de processamento) Unicast (menos eficiente que Multicast e Broadcast) Pacote para máquina específica Usado em grupos pequenos (funciona relativamente bem) 5

Organização de grupos: Grupos Fechados versus Grupos Abertos X GRUPO FECHADO Apenas membros do Grupo podem enviar mensagens ao Grupo. Processo externo pode apenas enviar diretamente para membro do grupo. Usado para implementar processamento paralelo. (ex.: Jogo de Xadrez) GRUPO ABERTO Processos fora do grupo podem enviar mensagens para o Grupo ou para integrantes desse. Usado para implementar grupos de servidores. (ex.: Replicação) 6

Controle de Membros do Grupo Estrutura interna do grupo para tomada de decisões coordenador GRUPO IGUALITÁRIO Tomada de decisão por votação 50% dos votos + 1 GRUPO HIERÁRQUICO Processo Coordenador 7

Grupo Igualitário Simétrico Se um processo falhar, o grupo pode continuar seu trabalho (não tem um ponto de falha). Todas as decisões são tomadas coletivamente, através de votação Complexidade, Retardo e Overhead (sobrecarga). 8

Grupo Hierárquico Uma falha de um coordenador provoca uma interrupção temporária do serviço, até que um novo coordenador seja eleito. É preciso haver um mecanismo de detecção de falha do coordenador. Todas as decisões são tomadas pelo coordenador. Apropriado para o Jogo (programa) de Xadrez paralelo Coordenador controla a estratégia de busca Trabalhadores avaliam possíveis jogadas (situações) 9

Endereçamento de grupos Semelhante ao endereçamento de processos Endereço único de grupo Endereços de multicast Endereços de broadcast Unicast O kernel transmissor deve manter uma lista das máquinas que possuem processos pertencentes ao grupo 10

Endereçamento de grupos Um endereço para cada processo O cliente mantém uma lista de endereços (processos IP) dos processos filiados ao grupo, que deve ser sempre atualizada. Endereçamento com Predicado Utiliza um dos métodos acima com novidade. Cada mensagem possui um predicado (expressão booleana) a ser avaliada. VERDADEIRO (mensagem aceita) / FALSO (mensagem descartada). 11

Primitivas de comunicação Send e Receive Não é fácil encapsular as primitivas de comunicação em grupo em RPC s Abandonar modelo requisição/resposta (base RPC) Retomar procedimentos envio/recepção Usar as mesmas primitivas do modelo cliente/servidor O endereço de grupo indica que é uma comunicação em grupo. O Receive aceita tanto mensagens endereçadas ao processo, quanto mensagens endereçadas ao grupo. Usar novas primitivas (bibliotecas de procedimentos) group-send group- receive get-reply 12

Gerência de Grupos Servidor de grupo Banco de dados de grupos Todas as requisições são enviadas para o servidor de grupos Simples e fácil de implementar (servidor de grupo) Pouco confiável Ponto de falha (centralização) Solução via Replicação 13

Gerência de Grupos Gerência distribuída Trivial em grupos abertos Grupos fechados Permitir Requisição de Inscrição de processos fora do grupo Abertura Tratamento de falha de membros Saída do grupo? Como detectar (não há anúncio)? Consistência das visões do Grupo Sincronismo de membros com mensagens Deixar ou se juntar a um grupo Envio e Recebimento de mensagens a um grupo? 14

Atomicidade ou Broadcast Atômico Propriedade do todos-ou-nenhum Recebimento das mensagens por todos os membros ou nenhum Facilita a programação de aplicações distribuídas (tudo ou nada) Implementação não é simples, especialmente em decorrência da possibilidade de faltas Ex: buffer cheio em alguns destinatários Exemplo: algoritmo de Joseph e Birman (implementação de broadcast atômico possível) em 1989 O transmissor envia a mensagem para todos os membros e inicia um timeout, para possíveis retransmissões. Cada membro, ao receber uma mensagem pela primeira vez, envia a mensagem para todos os demais membros, iniciando um timeout para possíveis retransmissões. 15

Ordenação de mensagens Nenhuma ordenação e não confiável G1 = {P1,P2,P3} S GSend(m1, G1) GSend(m2, G1) P1 P2 P3 tempo 16

Ordenação de mensagens FIFO : as mensagens de cada cliente são entregues na ordem em que foram enviadas G1 = {P1,P2,P3} S1 S2 P1 Send(m1, G1) Send(m3, G1) Send(m2, G1) P2 P3 tempo 17

Ordenação de mensagens : ORDENAÇÃO CAUSAL Segundo Lamport[Lam78], considerando-se os eventos de enviar e receber mensagens, pode-se definir a relação happened-before, expressa através da notação, como sendo: Se a e b são eventos no mesmo processo e a acontece antes de b então a b Se a corresponde ao evento de enviar mensagem por um processo e b ao evento de receber esta mensagem por outro processo, então a b Se a b e b c então a c. Dois eventos distintos a e b são concorrentes se : a b e b a 18

Ordenação de mensagens : ORDENAÇÃO CAUSAL G1 = {P2,P3} G2 = {P1,P4} S1 Send(m1, G1) Send(m2, G2) Send(m4, G1) P1 Send(m3, G1) P2 P3 P4 tempo 19

Ordenação de mensagens : ORDENAÇÃO TOTAL A ordenação total garante que todas as mensagens enviadas para um grupo serão entregues na mesma ordem, a todos os componentes do grupo, mesmo as mensagens concorrentes. m1 m2 P Q R m1 m2 Tempo m1 m3 m3 20

Sobreposição de grupos Se os grupos forem disjuntos não há problema Poucos sistemas tratam esse problema? Difícil implementação de ordenação no tempo entre grupos diferentes Processos recebem mensagens em ordem diferente 1 4 3 2 5 GRUPO I GRUPO II 21

Escalabilidade Muitos protocolos só funcionam bem quando os grupos são pequenos (poucos elementos), e não houver muitos grupos. Muitos protocolos só funcionam em uma única LAN Problemas em várias Redes e Gateways Outros problemas Complexidade computacional Componentes centralizados 22