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

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

Bimodal Multicast Um protocolo de difusão fiável

Apresentações semelhantes


Apresentação em tema: "Bimodal Multicast Um protocolo de difusão fiável"— Transcrição da apresentação:

1 Bimodal Multicast Um protocolo de difusão fiável
Manuel Costa 20815 Bimodal Multicast - Tolerância a Faltas Distribuída – Manuel Costa

2 Resumo Motivação Algoritmos Probabilísticos
O Protocolo Bimodal Multicast (PbCast) Aplicabilidade Conclusão Bimodal Multicast - Tolerância a Faltas Distribuída – Manuel Costa

3 Motivação Bimodal Multicast - Tolerância a Faltas Distribuída – Manuel Costa

4 Motivação A difusão implica a disseminação de informação de um processo para um conjunto de processos A maneira mais óbvia é transmitir a informação tanto quantos forem os processos de destino Problema: Numa rede com uma dezena de processos, pode ser... Mas numa rede com milhares de processos, torna-se difícil Se for necessário que cada processo responda às mensagens recebidas, o número de mensagens duplica! Se a tolerância a falhas obrigar a um protocolo de duas ou três fases, a rede ficará totalmente congestionada com uma única mensagem! Bimodal Multicast - Tolerância a Faltas Distribuída – Manuel Costa

5 Motivação O que será uma difusão eficiente?
Há dois grandes tipos de protocolos de difusão fiáveis Fiabilidade Forte (Strong reliability) Oferecem garantias de atomicidade Sincronismo virtual e garantias de tempo real Entrega ordenada Fiabilidade Fraca (Best-Effort) Baseiam-se em Algoritmos Probabilísticos Recuperam localmente perdas de informação Garantem alguma fiabilidade Bimodal Multicast - Tolerância a Faltas Distribuída – Manuel Costa

6 Motivação E será fiabilidade igual a eficiência?
Depende: Do que é pretendido Das condições do meio Da criticidade do sistema ... Um factor que não pode ser descurado é a carga que o sistema pode exigir a si próprio. Haverá alguma solução melhor para difundir? Bimodal Multicast - Tolerância a Faltas Distribuída – Manuel Costa

7 Algoritmos Probabilísticos
O que é um Algoritmo Probabilístico? É um tipo de algoritmo que utiliza a característica probabilística dos problemas para os resolver: Exemplo: quase sempre ou quase nunca Baseiam-se na assumpção de que os sistemas estão sujeitos a falhas. Estas falhas, por sua vez, têm uma dada probabilidade de ocorrer Bimodal Multicast - Tolerância a Faltas Distribuída – Manuel Costa

8 Algoritmos Probabilísticos (cont...)
Quais os problemas dos protocolos de Fiabilidade Forte? São pesados Não funcionam bem para grupos de difusão com muitos participantes Em condições de stress ficam instáveis e imprevisíveis Os algoritmos probabilísticos têm maior grau de confiabilidade quanto maior é o número de processos envolvidos Este facto é medido pela diminuição da probabilidade de falha como aumento do número de processos. Bimodal Multicast - Tolerância a Faltas Distribuída – Manuel Costa

9 Algoritmos Probabilísticos (cont...)
Provavelmente, tudo irá funcionar bem, na maior parte dos casos... O pior caso ocorre quando aproximadamente metade dos processos receberam a mensagem. Quando quase todos ou quase nenhum recebeu a mensagem, está de acordo com o protocolo. E se não funcionar? Tem que haver um esforço ou um “Best-Effort”! Porquê utilizar estes algoritmos? Porque são mais simples Revelam-se mais estáveis em condições de carga Baseiam-se na premissa de que os erros são raros Se estes acontecerem, é feito um esforço de recuperação Bimodal Multicast - Tolerância a Faltas Distribuída – Manuel Costa

10 O Protocolo Bimodal Multicast
Bimodal Multicast - Tolerância a Faltas Distribuída – Manuel Costa

11 O Protocolo Bimodal Multicast
Também chamado Pbcast Probabilistic broadcast É um protocolo “Best-Effort” Tem um comportamento muito previsível Mesmo em situações de carga, com 25% de perdas de pacotes e com 25% dos processos envolvidos a sofrerem atrasos (transcient performance failures) Não necessita de sincronismo Bimodal Multicast - Tolerância a Faltas Distribuída – Manuel Costa

12 O Protocolo Bimodal Multicast (cont...)
Então e como é que funciona? Imaginemos um conjunto de centenas ou milhares de processos Baseia-se em árvores de difusão Cada nó da árvore difunde para os vizinhos Se algum destes tiver filhos, difunde para o seu filho que irá difundir para os seus vizinhos e assim sucessivamente As mensagens de retorno funcionam em sentido inverso, subindo na árvore se for caso disso Se todos os processos partilharem do mesmo meio de difusão, melhor! Bimodal Multicast - Tolerância a Faltas Distribuída – Manuel Costa

13 O Protocolo Bimodal Multicast (cont...)
Ciclos de Processamento Um processo difunde para todos os processos da sua lista de destinos A gestão da lista de destinos não está contemplada directamente no algoritmo! Pode ser uma difusão para todos os vizinhos que partilhem o meio Exemplo: IP Multicast Outro protocolo de difusão sem garantia de entrega de mensagem Bimodal Multicast - Tolerância a Faltas Distribuída – Manuel Costa

14 O Protocolo Bimodal Multicast (cont...)
Algoritmo Anti-Entropia Operam numa série de rounds não sincronizados Cada round tem uma duração de pelo menos uma round-trip sobre o canal escolhido (100Ms para o caso do artigo) Divide-se em duas fases: A primeira fase detecta perdas de mensagens A segunda corrige essas perdas E como? A fazer “fofoca”! (Do inglês gossip) Bimodal Multicast - Tolerância a Faltas Distribuída – Manuel Costa

15 O Protocolo Bimodal Multicast (cont...)
Princípio da Fofoca Anti-Entropia Uma mensagem Mj é enviada por P a Q e S Assim que Q recebe Mj envia o historial de todas as mensagens recebidas a K membros escolhidos aleatoriamente Se estes, ao receberem este historial notarem que falta alguma mensagem, pedem a sua retransmissão ao emissor original Bimodal Multicast - Tolerância a Faltas Distribuída – Manuel Costa

16 O Protocolo Bimodal Multicast (cont...)
Relação entre a probabilidade de que todos os processos recebam a mensagem e o congestionamento da rede. Quanto maior for a probabilidade de retransmissão maior será a probabilidade de que todos os processos recebam a mensagem Maior será também o número de mensagens a circular na rede (maior a sobrecarga da mesma) Bimodal Multicast - Tolerância a Faltas Distribuída – Manuel Costa

17 O Protocolo Bimodal Multicast (cont...)
Optimizações possíveis (I) Só retransmitir se a solicitação para tal for no mesmo round da transmissão original Caso contrário, o processo poderá estar doente Evita respostas simultâneas a vários requisições diferentes Limitar o historial a retransmitir Evita sobrecarga do processo que irá tentar acompanhar os outros ao ter de o fazer de uma só vez Bimodal Multicast - Tolerância a Faltas Distribuída – Manuel Costa

18 O Protocolo Bimodal Multicast (cont...)
Optimizações possíveis (II) Evitar retransmissões desnecessárias Se um processo ao retransmitir detectar que já retransmitiu para outro algumas das mensagens, não o irá repetir Most-recent-first As mensagens são retransmitidas numa ordem LIFO para evitar que um processo esteja sempre atrasado em relação ao grupo Bimodal Multicast - Tolerância a Faltas Distribuída – Manuel Costa

19 O Protocolo Bimodal Multicast (cont...)
Optimizações possíveis (III) Numeração independente dos rounds A numeração dos rounds é independentemente feita por cada processo Cada mensagem da fofoca leva o ID da mensagem original A decisão de deitar fora mensagens antigas é estritamente local Bimodal Multicast - Tolerância a Faltas Distribuída – Manuel Costa

20 O Protocolo Bimodal Multicast (cont...)
Sobre a ordenação O protocolo não garante que as mensagens sejam entregues na mesma ordem em todos os processos. Birman, propôs uma alteração no protocolo que faz esta ordenação. Cada processo só poderá entregar a mensagem para a aplicação quando todos os processos a tiverem recebido. A dificuldade passou a ser determinar quando é que isso acontece! Bimodal Multicast - Tolerância a Faltas Distribuída – Manuel Costa

21 O Protocolo Bimodal Multicast (cont...)
Condições para garantir a operação do algoritmo PbCast como descrito O custo do envio de uma mensagem na rede é sempre o mesmo. Isto não acontece na realidade As falhas de processo são independentes e são sempre “Hard” As falhas de transmissão de mensagens são independentes e são sempre por omissão Bimodal Multicast - Tolerância a Faltas Distribuída – Manuel Costa

22 Aplicabilidade Bimodal Multicast - Tolerância a Faltas Distribuída – Manuel Costa

23 Aplicabilidade Um algoritmo como o PbCast garante
Carga de sistema previsível e estável Boa escalabilidade Tolerância a taxas elevadas de falhas de comunicação Um algoritmo como o PbCast não garante Atomicidade Entrega ordenada de mensagens Sincronismo Gestão de Memberships Bimodal Multicast - Tolerância a Faltas Distribuída – Manuel Costa

24 Aplicabilidade Um algoritmo como o PbCast aplica-se
A sistemas de difusão como video, audio ou outros tipos de streaming pela Internet Outros sistemas como o do NY Stock Exchange onde a informação do valor de acções tem de ser propagado para vários sistemas informáticos Sistema PHIDIAS para difusão de imagens de ecrã de radar em sistemas de controlo de tráfego aéreo Bimodal Multicast - Tolerância a Faltas Distribuída – Manuel Costa

25 Conclusão Bimodal Multicast - Tolerância a Faltas Distribuída – Manuel Costa

26 Conclusão Este algoritmo não é a solução completa para todos os problemas de difusão fiável Esta tipo de algoritmos complementa em muitos aspectos, algoritmos mais fortes do ponto de vista da sincronização e atomicidade Pode ser implementado com sucesso em sistemas existentes, pois baseia-se em premissas bastante reais Bimodal Multicast - Tolerância a Faltas Distribuída – Manuel Costa

27 Dúvidas? Questões? Comentários Obrigado
Bimodal Multicast - Tolerância a Faltas Distribuída – Manuel Costa


Carregar ppt "Bimodal Multicast Um protocolo de difusão fiável"

Apresentações semelhantes


Anúncios Google