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

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

Apr 17, 2015

Download

Documents

Internet User
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Bimodal Multicast - Tolerância a Faltas Distribuída – Manuel Costa - 20815 Bimodal Multicast Um protocolo de difusão fiável Manuel Costa 20815.

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

Bimodal MulticastUm protocolo de difusão fiável

Manuel Costa20815

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

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

Resumo

• Motivação

• Algoritmos Probabilísticos

• O Protocolo Bimodal Multicast (PbCast)

• Aplicabilidade

• Conclusão

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

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

Motivação

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

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

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!

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

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

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

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

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

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?

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

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

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

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

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

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.

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

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

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

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

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

O Protocolo Bimodal Multicast

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

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

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

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

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

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!

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

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

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

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

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

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)

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

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

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

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

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

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)

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

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

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

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

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

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

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

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

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

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

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

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!

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

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

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

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

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

Aplicabilidade

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

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

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

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

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

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

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

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

Conclusão

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

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

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

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

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

• Dúvidas?

• Questões?

• Comentários

Obrigado