A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Comunicação em Grupos Bruno M. Carvalho Sala: 3B2 Horário: 35T34.

Apresentações semelhantes


Apresentação em tema: "Comunicação em Grupos Bruno M. Carvalho Sala: 3B2 Horário: 35T34."— Transcrição da apresentação:

1 Comunicação em Grupos Bruno M. Carvalho Sala: 3B2 Horário: 35T34

2 Introdução Coordenação é necessária em sistemas distribuídos mas é difícil de se obter, porque: –Eventos ocorrem concorrentemente –Linhas de comunicação não são totalmente confiáveis –Computadores podem falhar ou quebrar –Novas máquinas podem ser adicionadas ao sistema etc.

3 Comunicação em Grupos Comunicação em RPC envolve somente dois processos, gerando problemas quando se quer enviar mensagens para mais de um servidor Em comunicação de grupos, com uma única operação pode-se enviar uma mensagem á vários destinos Permitem que processos em um grupo sejam tratados como uma única abstração

4 Comunicação em Grupos O que é um grupo? –Um conjunto de processos que cooperam entre si para prover um serviço –Uma entidade abstrata que nomeia um conjunto de processos Comunicação de grupos coordena a troca de mensagens entre os membros do grupo e dos processos externos com o grupo

5 Comunicação em Grupos Aplicações de comunicação em grupos –Servidores altamente disponíveis e confiáveis –Replicação de bancos de dados –Conferências multimídia –Jogos distribuídos –Aplicações que em geral necessitem de uma alta taxa de disponibilidade, confiabilidade, tolerência a falhas Comunicação pode ser implementada usando-se multicast, broadcast ou unicast

6 Comunicação em Grupos Comunicação pode ser implementada usando-se –Multicast – Pacotes são enviados de uma só vez para todos os processos de um grupo –Broadcast – Pacotes são enviados para todas as máquinas e somente os processos que fazem parte do grupo não os descartam –Unicast – Transmissão ponto-a-ponto, processo tem que enviar mensagem para cada membro do grupo

7 Tipos de Grupos Grupos fechados X grupos abertos –Nos grupos fechados, somente membros do grupo podem mandar mensagens para os outros membros –Nos grupos abertos, qualquer processo pode enviar uma mensagem ao grupo –Grupos fechados são geralmente usados para execução em paralelo, enquanto que os abertos são usado em servidores replicados

8 Organização dos Grupos Grupos Pares –Todos os processos são tratados como iguais (pares) –Decisões são tomadas coletivamente Grupos hierárquicos –Um processo é o coordenador e os outros são subordinados a ele

9 Manutenção de Grupos Manutenção dos grupos pode ser feita: –de maneira centralizada, através de um servidor de grupos –ou distribuída, com um processo anunciando a todos os membros de um grupo que ele está se filiando ao mesmo Inclui criação e destruição de grupos, inscrição e retirada de processos, provê detecção de falhas e notifica alterações aos membros do grupo Obs: Até grupos fechados tem de ser abertos no caso de mensagens para inscrição no grupo

10 Outros Aspectos em Comunicação em Grupos Atomicidade – Mensagem chega para todos os membros do grupo ou para nenhum, difícil de implementar Ordenação de mensagens: –Desordenadas –Ordenação global – Entrega todas as mensagens exatamente na ordem em que foram criadas –Ordenação consistente – Sistema decide qual mensagem precede outra quando são enviadas quase ao mesmo tempo e entrega as mensagens nesta ordem

11 Comunicação em Grupos no ISIS Desenvolvido em Cornell, é um pacote para a construçaõ de aplicações distribuídas usando comunicação em grupos ISIS provê diferentes tipos de broadcast atômicos (em relação a sincronia) Um sistema síncrono é um em que os eventos ocorrem de uma maneira estritamente sequencial. Torna mais fácil o entendimento do comportamento do sistema, mas são impossíveis de se construir Sistemas síncronos fracos (loosely synchronous systems) garante que eventos aparecem na mesma ordem em todos os processos

12 Comunicação em Grupos no ISIS Sistemas síncronos virtuais –Eventos causais (causalidade) – A natureza ou comportamento da segunda mensagem pode ter sido influenciada pela primeira mensagem –Eventos concorrentes – Dois eventos que não estão relacionados –Na sincronia virtual, se duas ou mais mensagens tem um relacionamento causal, todos os processos devem recebê-las na mesma (e correta). Entretanto, se elas são concorrentes, o sistema pode entregá-las em ordens diferentes em processos diferentes

13 Comunicação em Grupos no ISIS Primitivas de Comunicação em ISIS –ABCAST – Protocolo de duas fases para transferência de dados que garante sincronia fraca –GBCAST - Protocolo de duas fases para gerência de grupos que garante sincronia fraca –CBCAST – Protocolo que implementa sincronia virtual. Cada processo mantém um vetor com n entradas (uma por membro do grupo), cujos i-ésimo valor indica o número da última mensagem em sequência recebida do processo i

14 Comunicação em Grupos no ISIS AcceptDelayAcceptDelayAccept Estados dos vetores nas outras máquinas Vetor em uma mensagem enviada pelo processo 0 1) Vj = Lj + 1 2) Vi <= Li for all i j Dois testes são feitos


Carregar ppt "Comunicação em Grupos Bruno M. Carvalho Sala: 3B2 Horário: 35T34."

Apresentações semelhantes


Anúncios Google