Sistemas Distribuídos



Documentos relacionados
Faculdade Integrada do Ceará FIC Graduação em Redes de Computadores

Grupos de Processos (Comunicação Grupal)

Sistemas Distribuídos Capítulo 8 - Aula 14

Sistemas Distribuídos Capítulo 8 - Aula 15

Sistemas Distribuídos Capítulo 8 - Aula 13

Experiência 04: Comandos para testes e identificação do computador na rede.

Sistemas Distribuídos Grupos

Passagens de Mensagens

APLICAÇÕES EM SISTEMAS DISTRIBUÍDOS Prof. Ricardo Rodrigues Barcelar

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

Protocolos de Interligação de Redes Locais e a Distância Introdução. Thiago Leite

Dados em programas são estruturados, enquanto que mensagens carregam informação seqüencial: Linearização x Restauração de dados Requisição

Sistemas Distribuídos

Arquitectura de Sistemas Paralelos e Distribuídos Comunicação Multicast

Sistemas Distribuídos: Conceitos e Projeto Resiliência de Processos

Relógio Lógico Algoritmo de Lamport. Relógio Lógico Algoritmo de Lamport. Relógio Físico Algoritmo Centralizado. Relógio Físico Algoritmo Centralizado

MÓDULO 2 Topologias de Redes

Sistemas Distribuídos

AULA 04 CONCEITOS DA CAMADA 02 PARTE 02

# $ % & ' ( ) * ' ( ) *! " " Orientador +, -

SISTEMAS DISTRIBUÍDOS

RIP Routing Information Protocol

Transmissão Multicast Confiável e Experimentos na Internet

O que é um sistema distribuído?

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

Roteamento e Roteadores. Conceitos Diversos

Roteiro... Sistemas Distribuídos Aula 4. Troca de mensagens. Comunicação entre processos. Conceitos de SD, vantagens e desvantagens

Comunicação de Grupo: Disfusão Confiável e Atômica

Rede de computadores Protocolos UDP. Professor Carlos Muniz

(Broadcast - um emissor envia a mensagem para todos os nós do sistema) Multicast um emissor, um grupo de processos como receptores

Redes de Computadores

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

Trabalho Prático 1 P2P-SDIS

SISTEMAS DISTRIBUÍDOS

Sistemas Distribuídos

CENÁRIO 1: SINTAXE: [rede de destino] via [gateway direta] por [interface] custo [valor do custo]

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

Técnico em Radiologia. Prof.: Edson Wanderley

Thread. Thread. Sistemas Operacionais. Leonard B. Moreira. UNIVERSIDADE ESTÁCIO DE SÁ fevereiro, / 41

Sincronização em Sistemas Distribuídos

Técnicas de comutação

Licenciatura Plena em Computação

Redes ATM. Multicast em ATM. Multicast IP em ATM. Multicast no LANE. LANE v.1. Multicast sobre LANE v.1

Redes P2P Gnutella e Simuladores

STC Sistema de Trabalho em Casa com Mala Direta Trabalho & Renda a Seu Alcance de Verdade

Protocolos de Interligação de Redes Locais e a Distância Introdução

Classificações. Alberto Felipe Friderichs Barros

Redes de Computadores. Prof. André Y. Kusumoto

SSC0640 Sistemas Operacionais I

Redes de Computadores.

Sistemas Distribuídos

Rede Local - Administração Endereçamento IPv4

Data Warehouse ETL. Rodrigo Leite Durães.

Sistemas Distribuídos. Ricardo Ribeiro dos Santos

SISTEMAS DISTRIBUÍDOS

Redes de Computadores

CCNA Exploration (Protocolos e Conceitos de Roteamento) Protocolo RIP

Conceitos de Sistemas Distribuídos

Memória Compartilhada e Distribuída. _ Notas de Aula _ Prof. Tiago Garcia de Senna Carneiro DECOM/UFOP

Redes de Computadores. Disciplina: Informática Prof. Higor Morais

Fluxo nativo do Multicast - Modelo do Multicast da Algum-fonte

Vamos fazer um pequeno experimento

Programação Distribuída. Metas de um Sistema Distribuído

Redes de Computadores. Prof. MSc André Y. Kusumoto

Introdução à Computação

Nome: Nº de aluno: 2ª Ficha de Avaliação Teórica Data Limite de Entrega 06/11/2015

Desenvolvimento de Aplicações Distribuídas

Prof. Marcelo Cunha Parte 6

ROUTER. Alberto Felipe Friderichs Barros

Características de Sistemas Distribuídos

Novas Propostas para Protocolos de Streaming Luiz Eduardo Fontes Mello de Almeida

Características de Sistemas Distribuídos

Um Algoritmo Probabilista de Recuperação de Erros para Difusão Fiável

Consistência. ncia. Sistemas Distribuídos e Tolerância a Falhas. Trabalho realizado por:

EXERCÍCIOS DE REVISÃO REDES DE COMPUTADORES EDGARD JAMHOUR. Segundo Bimestre

TP308 Introdução às Redes de Telecomunicações

6 Metaheurísticas Paralelas com Execução Autonômica em Grids

Aula 5 Camada de rede (TCP/IP):

Prof. Marcelo Machado Cunha Parte 2

Sistemas Distribuídos. Ricardo Ribeiro dos Santos

Técnicas de Recuperação em Banco de Dados

Comunicação de Dados II

TELECOMUNICAÇÕES Prof. Ricardo Rodrigues Barcelar

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

Redes de Computadores

Redes de Computadores I

Sistemas Distribuídos. Capítulo 6 - Aula 10

Sistemas de Informação. Sistemas Operacionais

Programação de Sistemas Distribuídos e Concorrência

SISTEMAS OPERACIONAIS DE REDE

Sistemas de Arquivos Distribuídos. Bruno M. Carvalho Sala: 3F2 Horário: 35M34

Computação Distribuída

Redes de comunicação. Mod 2 Redes de computadores. Professor: Rafael Henriques

Curso de extensão em Administração de sistemas GNU/Linux: redes e serviços

Gerenciamento de Redes: Protocolo SNMP

Sistemas Distribuídos. Ricardo Ribeiro dos Santos

Um sistema de difusão de informação a nível da aplicação

Exercícios de Revisão Redes de Computadores Edgard Jamhour. Sistemas Autônomos, Roteamento e WiFi

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

Graduação Tecnológica em Redes de Computadores. Tecnologias de Interligação de Redes

Transcrição:

Comunicação em Grupo Referência Sistemas operacionais modernos Andrew S. TANENBAUM Prentice-Hall, 1995 Seção 10.4 pág. 304-311 2

Comunicação em Grupo Suponha que se deseja um serviço de arquivos único e tolerante a falha implementado com um grupo de servidores de arquivo Cliente deve enviar mensagens a TODOS os servidores para ter certeza que a requisição foi executada Com RPC deveríamos repetir a chamada para cada um dos servidores 3 Comunicação em Grupo Grupo: conjunto de processos que agem juntos. Quando uma mensagem é enviada ao grupo TODOS os membros do grupo devem recebê-la comunicação um-para-muitos 4

R R R T R R T R R R R Comunicação ponto-a-ponto Comunicação um-para-muitos Comunicação em Grupo Os grupos são dinâmicos: novos grupos podem ser criados grupos antigos podem ser destruídos um processo pode se juntar a um grupo um processo pode sair de um grupo um processo pode ser membro de vários grupos ao mesmo tempo São necessários mecanismos para gerenciar os grupos 6

Implementação Implementação dependente do hardware: Multicasting: atribui-se um endereço especial ao grupo que é enxergado por várias máquina. Quando o pacote é enviado para este endereço ele é automaticamente enviado a todas a máquina com acesso ao endereço. Broadcasting: os pacotes contendo um endereço especial são enviados para todas as máquinas. Cada máquina deve verificar os pacotes de broadcast para determinar se o pacote é efetivamente destinado a ela (sobrecarga). 7 Implementação (cont) Unicasting: o transmissor envia um pacote para cada membro do grupo. Se existem N membros no grupo são enviados N pacotes. Funciona para grupos pequenos. 8

Aspectos de projeto A comunicação em grupo é semelhante em alguns aspectos a troca de mensagens comum (bufferização, bloqueio etc) Outros aspectos importantes a serem considerados na comunicação em grupo: Grupos fechados x grupos abertos Grupos igualitários x grupos hierárquicos Controle de membros de um grupo Endereçamento de grupo Atomicidade Ordenação das mensagens Grupos sobrepostos Escalabilidade 9 Grupos fechados x grupos abertos Grupos fechados: somente os membros do grupo podem enviar mensagens para o grupo. Ex.: processamento paralelo Processos que não pertençam ao grupo podem enviar mensagens ao membros do grupo individualmente. Grupos abertos: qualquer processo pode enviar mensagens ao grupo. Ex.: servidores replicados. 10

Grupos igualitários x grupos hierárquicos Grupos igualitários: todos os processos são iguais, nenhum deles é superior. Todas as decisões são tomadas coletivamente. Vantagem? é simétrico. Não existe um único ponto de falha. Se um dos processos falhar o grupo fica menor mas continua trabalhando. Desvantagem? a tomada de decisão é complexa. É necessária uma votação (sobrecarga) 11 Grupos igualitários x grupos hierárquicos Grupos hierárquicos: existe uma hierarquia, por exemplo, um processo é o coordenador e dirige o trabalho dos demais. Vantagem? a tomada de decisão executada pelo coordenador é mais simples. Desvantagem? se o coordenador falhar o grupo pára o trabalho. 12

Controle de membros de um grupo Gerência de grupo: controla a criação e eliminação de grupos e inclusão e exclusão de membros no grupo. Servidor de grupo: processo que mantém uma base de dados com todos os grupos e seus membros. Solução centralizada: único ponto de falha 13 Controle de membros de um grupo Solução distribuída: Grupo aberto: um novo processo anuncia sua presença no grupo. Grupo fechado: deve funcionar como grupos abertos para adesão de novos membros. Para deixar o grupo basta o processo anunciar sua saída. 14

Controle de membros de um grupo Problemas: Se um membro do grupo sai do ar? Ele deixa o grupo mas não anuncia sua saída. Os membros devem descobrir que o membro não está respondendo. O ato de deixar ou se juntar a um grupo deve ser síncrono com as as mensagens que estão sendo enviadas. Se um grande número de máquinas sair do ar? O grupo deve ser reconstituído. Alguém deve iniciar o processo de reconstituição do grupo. E se 2 processos tentarem ao mesmo tempo? 15 Endereçamento de grupo Para enviar uma mensagem a um grupo o processo transmissor deve especificar qual é o grupo a que está se referindo. Multicasting: o endereço do grupo é associado a um endereço de multicast. Broadcasting: a mensagem é enviada em broadcast e o kernel se encarrega de descartar a mensagem se não houver um membro do grupo. O kernel da máquina do processo transmissor se encarrega de fazer unicasts a cada um dos processos do grupo 16

0 1 2 3 4 1 multicast 0 1 2 3 4 x 1 broadcast 0 1 2 3 4 3 unicasts Endereçamento de grupo Outra maneira de endereçar: o transmissor fornece uma lista do processos do grupo. Terceira solução: endereçamento com predicado. A mensagem é enviada contendo uma expressão booleana (predicado) a ser avaliada (ex.: número da máquina, valor de variável etc). Se for verdadeiro a mensagem é aceita. Caso contrário é descartada. Ex.: enviar mensagens para máquinas que tenham no mínimo 4M de memória livre. 18

Atomicidade Ou broadcast atômico Tudo-ou-nada: as mensagens devem chegar a TODOS os membros do grupo ou a nenhum atomicidade Implementação não é simples: pode haver falha na comunicação. Solução: mensagem de confirmação. E se uma máquina falhar? 19 Atomicidade Algoritmo de Joseph e Birman: O transmissor envia a mensagem a todos os membros do grupo e inicia um temporizador para permitir que as retransmissões sejam enviadas se necessário Quando o receptor receber uma mensagem nova deve retransmiti-la a todos os membros do grupo. Se já conhecer a mensagem é só descartá-la. 20

Ordenação de mensagens A comunicação em grupo deve atender a propriedade de ordenação de mensagens. Considere que: Existam 5 máquinas Os processos 0, 1, 3 e 4 pertençam ao mesmo grupo Os processos 0 e 4 desejam simultaneamente enviar mensagem. Não há multicast nem broadcast Os dois processos competem pela rede local 21 para 1 para 0 tempo para 1 0 4 para 3 para 3 para 4 1 2 0 0 3 1 2 3 4 4 5

Ordenação de mensagens Ordenação de tempo global: as mensagens são expedidas a todos os membros do grupo na ordem exata em que foram enviadas. Ordenação consistente no tempo: se duas mensagens foram enviadas quase ao mesmo tempo, o sistema considera uma delas como sendo a primeira e envia ao grupo. 23 Grupos sobrepostos Um processo pode ser membro de vários grupos ao mesmo tempo Considere: Dois grupos: Grupo 1: A, B e C Grupo 2: B, C e D A e D tentam enviar uma mensagem simultaneamente a seus respectivos grupos 24

Grupo 1 Grupo 2 B 1 2 A D 4 C 3 Grupos sobrepostos Apesar de haver ordenação dentro do grupo não há uma coordenação entre grupos. Implementação da ordenação no tempo entre grupos diferentes é complexa. 26

Escalabilidade Se os grupos possuem muitos elementos? E se eles estiverem distribuídos em várias redes com gateways entre eles? Os gateways devem ou não passar um multicast adiante? Podem existir pacotes nas diferentes redes ao mesmo tempo. 27 G1 Rede 1 G1 Rede 2 Rede 3 G1 Rede 4 G1

Exercícios Sistemas operacionais modernos Andrew S. TANENBAUM Prentice-Hall, 1995 Capítulo 10 Exercícios 16-18 (pág. 315) 29