Sistemas Distribuídos Grupos



Documentos relacionados
Grupos de Processos (Comunicação Grupal)

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

Sistemas distribuídos:comunicação

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

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

Sistemas Distribuídos

Sistemas Distribuídos Aula 15

Sistemas Distribuídos. Aleardo Manacero Jr.

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

UNIVERSIDADE. Sistemas Distribuídos

Comunicação. Parte II

Sistemas Distribuídos e Redes de Sensores

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


Sistemas Distribuídos RPC x RMI. Edeyson Andrade Gomes

SISTEMAS DISTRIBUÍDOS

3. Comunicação em Sistemas Distribuídos

Sistemas Distribuídos. Coulouris Capítulo 4

SISTEMAS DISTRIBUÍDOS

MODELO CLIENTE SERVIDOR

SISTEMAS DISTRIBUÍDOS

Sistemas Distribuídos. Ricardo Ribeiro dos Santos

Sistemas Distribuídos

4. Qual seria o impacto da escolha de uma chave que possua letras repetidas em uma cifra de transposiçã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.

Sincronização em Sistemas Distribuídos

Comunicação em Sistemas Distribuídos. Conceitos: Paradigma C/S. Conceitos: Paradigma C/S. Paradigma Cliente/Servidor

Considerações no Projeto de Sistemas Cliente/Servidor

Redes de Computadores II INF-3A

Redes de Computadores Aula 3

Aula 4. Pilha de Protocolos TCP/IP:

Introdução ao Modelos de Duas Camadas Cliente Servidor

Sistemas Distribuídos Comunicação. Edeyson Andrade Gomes

Sistemas Distribuídos

Profs. Deja e Andrei

Sistemas Distribuídos Aula 10

CAMADA DE TRANSPORTE

Tecnologia de Redes de Computadores - aula 5

Roteiro. Arquitetura. Tipos de Arquitetura. Questionário. Centralizado Descentralizado Hibrido

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

Fundamentos de Banco de Dados

MÓDULO 8 ARQUITETURA DOS SISTEMAS DE BANCO DE DADOS

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

Bancos de dados distribuídos Prof. Tiago Eugenio de Melo

Modelos Fundamentais. Carlos Ferraz.

Introdução. Definição de um Sistema Distribuído (1) Definição de um Sistema Distribuído(2) Metas de Sistemas Distribuídos (2)

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

Protocolos de Redes Revisão para AV I

SISTEMAS DISTRIBUIDOS

Sistemas Operacionais Distribuídos e de Redes

MC714 - Sistemas Distribuídos. Leandro Villas

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

Sistemas Distribuídos. Introdução. Edeyson Andrade Gomes.

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

Características Carlos Ferraz

Arquitetura de Computadores II

Sistemas Distribuídos: Conceitos e Projeto Caracterização de Sistemas Distribuídos

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

Licenciatura em Engenharia Informática Sistemas Distribuídos I 2ª chamada, 6 de Julho de º Semestre, 2004/2005

LINX POSTOS AUTOSYSTEM

ADDRESS RESOLUTION PROTOCOL. Thiago de Almeida Correia

Paradigma Cliente/Servidor

Sistemas Cliente-Servidor

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

Capítulo 4 - Roteamento e Roteadores

Administração de Redes

Sistemas Operacionais. Estruturas de SO. Edeyson Andrade Gomes.

Rede de Computadores

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

Lista de Exercícios 03 - Camadas de Transporte e de Aplicação e Segurança de Redes

Sistemas Distribuídos

Arquitetura TCP/IP. Parte V Inicialização e auto-configuração (RARP, BOOTP e DHCP) Fabrízzio Alphonsus A. M. N. Soares

Programação Distribuída

Sistemas Distribuídos Capítulos 3 e 4 - Aula 4

Sistemas Distribuídos RPC

Roteiro. Sistemas Distribuídos. Sistemas de Arquivos Distribuídos. Sistema de arquivos distribuídos

Sistemas Operacionais

Redes de Computadores

Sistemas Distribuídos

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

Introdução Ligação direta Ligação direta Default

Revisão. Karine Peralta

Tecnologia e Infraestrutura. Conceitos de Redes

Arquitetura dos Sistemas de Informação Distribuídos

A Camada de Transporte

Sistemas Distribuídos

FAÇA FÁCIL: DRIVER IGS PARA COMUNICAÇÃO DE PROTOCOLOS PROPRIETÁRIOS INTRODUÇÃO

Sistemas Distribuídos

04/08/2012 MODELAGEM DE DADOS. PROF. RAFAEL DIAS RIBEIRO, MODELAGEM DE DADOS. Aula 1. Prof. Rafael Dias Ribeiro. M.Sc.

Sistemas Distribuídos. Ricardo Ribeiro dos Santos

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

Informática I. Aula Aula 22-03/07/06 1

Disciplina de Sistemas Distribuídos. Sincronização em SD. Prof. M.Sc. Alessandro Kraemer Kraemer


Transcrição:

Sistemas Distribuídos Grupos Edeyson Andrade Gomes www.edeyson.com.br

Roteiro da Aula

Roteiro da Aula Definição de Grupos Tipos Atomicidade Ordenamento 3

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

Mensagens enviadas para o grupo são recebidas por todos os membros do grupo Comunicação de um para muitos Grupos são entidades dinâmicas Novos grupos podem ser criados e grupos existentes podem ser destruídos Um processo pode entrar e sair de um grupo Inscrição Um processo pode pertencer a mais de um grupo ao mesmo tempo Abstração Necessidade de gerência de grupos e membros Encapsula detalhes do grupo 5

Implementação de comunicação em grupo Depende do hardware e da rede de comunicação Multicast Endereço de rede Especial 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 Unicast Pacote para máquina específica Usado em grupos pequenos 6

A B C D E F G G1: A, C, E G2: A, D, F G3: A, B, E, F, G 7

A B C D E F G G1: A, C, E G2: A, D, F G3: A, B, E, F, G Broadcast A envia MSG para G1 8

A B C D E F G G1: A, C, E G2: A, D, F G3: A, B, E, F, G Multicast A envia MSG para G1 9

A B C D E F G G1: A, C, E G2: A, D, F G3: A, B, E, F, G Unicast A envia MSG para G1 10

A B C D E F G G1: A, C, E G2: A, D, F G3: A, B, E, F, G Unicast A envia MSG para G1 11

A B C D E F G G1: A, C, E G2: A, D, F G3: A, B, E, F, G Unicast A envia MSG para G1 12

Organização de grupos: Grupos Fechados X 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. (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. (Replicação) 13

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 14

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

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. Jogo de Xadrez paralelo Coordenador controla a estratégia Trabalhadores avaliam jogadas 16

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 17

Endereçamento de grupos Um endereço para cada processo O cliente mantém uma lista de endereços dos processos filiados ao grupo, que deve ser sempre atualizada 18

Primitivas de comunicação Send e Receive Não é fácil encapsular as primitivas de comunicação em grupo em RPCs Usar as mesmas primitivas do modelo cliente/servidor O endereço de grupo indica que é uma comunicação em grupo SEND(socket, msg, tamanho, flag); SEND(endereçoDeGrupo, msg, tamanho, flag); O Receive aceita tanto mensagens endereçadas ao processo, quanto mensagens endereçadas ao grupo. 19

Primitivas de comunicação Send e Receive Usar novas primitivas group-send group-send(endereçogrupo, msg, tamanho, flag) group-receive group-receive(endereçogrupo, msg, tamanho, flag) get-reply 20

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 Pouco confiável Ponto de falha (centralização) Solução via Replicação 21

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? Consistência das visões do Grupo Sincronismo de membros com mensagens 22

Atomicidade Propriedade do todos-ou-nenhum Recebimento das mensagens por todos os membros ou nenhum Facilita a programação de aplicações distribuídas Implementação não é simples, especialmente em decorrência da possibilidade de faltas Ex: buffer cheio em alguns destinatários 23

Atomicidade Exemplo: algoritmo de Joseph e Birman 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. 24

Ordenação de mensagens : ORDENAÇÃO CAUSAL Segundo Lamport, considerando-se os eventos de enviar e receber mensagens, pode-se definir a relação happenedbefore, 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 25

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 26

Ordenação de mensagens Uso de FIFO com base em confirmação G1 = {P1,P2,P3} S GSend(m1, G1) GSend(m2, G1) P1 P2 P3 tempo 27

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 28

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

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 30

Sobreposição de grupos Poucos sistemas tratam esse problema 1 4 3 2 5 GRUPO I GRUPO II 31

Escalabilidade Muitos protocolos só funcionam bem quando os grupos são pequenos Muitos protocolos só funcionam em uma única LAN Problemas em gateways Outros problemas Complexidade computacional Componentes centralizados 32

no ISIS Primitivas de comunicação Todas as três primitivas são atômicas ABCAST Ordenação consistente no tempo Implementação complexa e cara CBCAST Ordenação causal Suporta superposição de grupos GBCAST Ordenação consistente no tempo Usado para gerenciar o membership do grupo 33

no ISIS Protocolo CBCAST A B C (0,0,0) (0,0,0) (0,0,0) M1 (1,0,0) M2 (1,1,0) (1,0,0) Tempo 34