Bimodal Multicast Um protocolo de difusão fiável

Slides:



Advertisements
Apresentações semelhantes
Bruno M. Carvalho Sala: 3B2 Horário: 35T34
Advertisements

Sistemas distribuídos Metas de Projeto Prof. Diovani Milhorim
Requisitos dos SGBD Recuperação/Tolerância a Falhas
Sistemas distribuídos
Bruno Rafael de Oliveira Rodrigues
Redes I Os Protocolos Prof. Dr. Amine BERQIA
Modelos de Comunicação em Sistemas Distribuídos
Arquiteturas de Sistemas Distribuídos: Modelos de Comunicação
TCP Serviço de Transporte Confiável
Sistemas Distribuídos
Sistemas Distribuídos
Sistemas Distribuídos
Sistemas Distribuídos Walfredo Cirne & Fubica Brasileiro Aula 3:Conceitos Básicos As figuras que.
Sistemas Distribuídos Walfredo Cirne & Fubica Brasileiro Aula 5: Modelos de Sistemas Distribuídos.
1a. Prova: Soluções Teleprocessamento e Redes
Uma Introdução a Detectores de Defeitos para Sistemas Assíncronos
Carolina Fonseca Neumar Ribeiro
Tolerância a Falhas em redes Intra-Chip
Modelos Fundamentais -> Segurança
Distribuição de Mídia Contínua Voz sobre IP Jussara M. Almeida Junho 2005.
Questões Resolvidas - A.C.-10/08/05
ESTRUTURA DE COMUNICAÇÃO DE DADOS
Comutação Comutação ou chaveamento em uma rede de comunicação refere-se a alocação de recursos da rede (meios de transmissão e equipamentos) para a envio.
Arquitectura TCP/IP Camada de rede.
CONSENSO O grande mal-entendido
24/05/1999Non-Blocking Atomic Commitment1 in Distributed Systems Faculdade de Ciências da Universidade de Lisboa Mestrado 98/99 Tolerância a Faltas em.
QoS - Qualidade de Serviço
Universidade do Vale do Rio dos Sinos - São Leopoldo -
Redes de computadores Prof. António dos Anjos
Escola Secundária Filipa de Vilhena Ano Lectivo 2010/ Turma IGR1
REDES DE COMPUTADORES II
Redes – Unidade 1 Aula 4 Professor: Marcelo Maia.
Modelo de referência OSI
Tópicos em redes e sistemas distribuídos B Carlos Oberdan Rolim Ciência da Computação.
Sistemas Distribuídos
Tópicos em redes e sistemas distribuídos Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação.
Difusão de Mensagens Broadcast confiável, atômico e causal
CCNA 1 – Comutação Ethernet
Data Replication and Resiliency Trabalho realizado por: Rui Ferreira Nº Eng. Informática.
O Problema Do Acordo Distribuído (Acordo Bizantino)
Camada de Transporte prof. Eduardo.
Universidade da Beira Interior Processadores Fail-Stop Trabalho realizado por: Rui ferreira Nº Eng. Informática.
Universidade da Beira Interior Fiabilidade de Sistemas Informáticos Nuno Magarreiro n.º
Comunicação de dados Protocolos básicos de enlace de dados.
ARQUITECTURA TCP/IP.
Prof. Cristiano Forte Aula 4
Vanet´s – Vehicular Adhoc Networks
Técnicas de Replicação
Testes de Software AULA 02 Eduardo Silvestri
Topologia Comunicação de dados Escola Secundaria Sebastião da Gama
Escola Secundaria Sebastião da Gama Trabalho realizado por: André Santos 12ºL nº:2 Prof: Carlos Pereira.
MODELO DE REFERÊNCIA TCP/IP
Protocolo TCP e UDP Ricardo Costa Nº 10 12ºL.
PTC 2550 – Redes de Comunicação De Dados e
Disciplina: Comunicação de Dados Ricardo Bento 12ºL.
Arquitectura tcp. Camada tcp Ao contrário do protocolo UDP, o TCP representa um grande incremento de qualidade relativamente ao protocolo IP que lhe serve.
Modelos de Comunicação em Sistemas Distribuídos
Modelos de Comunicação em Sistemas Distribuídos
Redes de computadores: SubCamada de Access ao Meio (3) Prof. Dr. Amine BERQIA
Redes de computadores: Camada de Transporte Prof. Dr. Amine BERQIA
Arquitetura TCP/IP Aplicação Transporte Rede Enlace Física.
Modelo OSI.
TCP È um dos protocolos sob os quais assenta o núcleo da Internet nos dias de hoje. A versatilidade e robustez deste protocolo tornaram adequado para.
Trabalho elaborado por: -Daniel Nº26 -André Nº3. * A camada de rede do modelo OSI é responsável por controlar a operação da rede de um modo geral. As.
SrcRR Rafael Lopes Bezerra Universidade Federal do Rio de Janeiro COPPE - UFRJ CPE Roteamento em Redes de Computadores.
Serviço de tempo, Exclusão Mútua, Eleição e Acordo Prof. Dr. Norian Marranghello Grupo 5 Anuar Mamede Neto Eduardo Hitoshi Aoki.
Segurança em Redes Multicast Equipe: Antônio Marques de Oliveira Júnior Klaus Mendes Hempel Renato Cordeiro L. Farias.
Prof. Ivair Teixeira Redes de Computadores.
Lucas R. Costa Rodrigo R. Bezerra Kaio A. da silva
Transcrição da apresentação:

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 Bimodal Multicast - Tolerância a Faltas Distribuída – Manuel Costa - 20815

Motivação 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! 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 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? 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 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. 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 Bimodal Multicast - Tolerância a Faltas Distribuída – Manuel Costa - 20815

O Protocolo Bimodal Multicast 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 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! 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 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) 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 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) 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 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 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 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! 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 Bimodal Multicast - Tolerância a Faltas Distribuída – Manuel Costa - 20815

Aplicabilidade 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 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 Bimodal Multicast - Tolerância a Faltas Distribuída – Manuel Costa - 20815

Conclusão 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 Bimodal Multicast - Tolerância a Faltas Distribuída – Manuel Costa - 20815

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