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

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

Bruno M. Carvalho Sala: 3B2 Horário: 35T34

Apresentações semelhantes


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

1 Bruno M. Carvalho Sala: 3B2 Horário: 35T34
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
Vetor em uma mensagem enviada pelo processo 0 1) Vj = Lj + 1 2) Vi <= Li for all i  j Dois testes são feitos Estados dos vetores nas outras máquinas 4 6 8 2 1 5 1 3 7 8 2 5 2 3 5 8 1 3 7 8 2 1 5 4 2 6 8 1 5 5 3 7 8 1 Accept Delay Accept Delay Accept


Carregar ppt "Bruno M. Carvalho Sala: 3B2 Horário: 35T34"

Apresentações semelhantes


Anúncios Google