Tolerância a Falhas. Reliable Broadcast e Atomic Commitment. June 2, 2010
|
|
- Débora Vilalobos Cabral
- 5 Há anos
- Visualizações:
Transcrição
1 Tolerância a Falhas Reliable Broadcast e Atomic Commitment June 2, 2010
2 Sumário Difusão/Multicast Fiável Multicast Fiável em Grupos Dinâmicos Multicast: Aplicação à Replicação Atomic Commitment Two-phase Commit Stable Storage Three-phase Commit Leitura Adicional
3 Sumário Difusão/Multicast Fiável Multicast Fiável em Grupos Dinâmicos Multicast: Aplicação à Replicação Atomic Commitment Two-phase Commit Stable Storage Three-phase Commit Leitura Adicional
4 Mais Histórias de Generais O exército vermelho está rodeado por n exércitos azuis, alguns dos quais comandados por traidores (desconhecidos). O major-general envia uma ordem a todos os generais. Todos os generais leais têm que acordar na ordem. A comunicação é fiável e atempada. A diferença em relação ao problema de acordo distribuído, conhecido por consensus, é subtil: Consensus Cada um dos generais envia uma proposta, e tem que chegar a acordo sobre uma decisão. Neste caso Cada um dos generais recebe uma mensagem e têm que chegar a acordo sobre o seu conteúdo. Este problema é conhecido sob várias designações. Reliable broadcast ou Interactive consistency
5 Difusão Fiável: Definição Formal Questão O que significa difundir uma mensagem de forma fiável para todos os processos do grupo? Propriedades Validity Se um processo correcto difunde a mensagem m, então todos os processos correctos do grupo entregam inevitavelmente m. Agreement Se um processo correcto entrega a mensagem m, então todos os processos correctos do grupo entregam inevitavelmente m Integrity Para qualquer mensagem m, cada processso correcto entrega m no máximo uma vez, e apenas se m tiver sido préviamente difundida por um processo.
6 Atomicidade e Consenso Note-se que entregar uma mensagem é diferente de a receber: Message is delivered to application Application Message is received by communication layer Comm. layer Message comes in from the network Local OS Network A implementação de fiabilidade implica consenso entre todos os processos correctos...
7 Sumário Difusão/Multicast Fiável Multicast Fiável em Grupos Dinâmicos Multicast: Aplicação à Replicação Atomic Commitment Two-phase Commit Stable Storage Three-phase Commit Leitura Adicional
8 Multicast Fiável em Grupos Dinâmicos Para aumentar a tolerância a falhas pode haver interesse em alterar a composição do grupo, i.e. usar grupos dinâmicos. Como adaptar as propriedades de difusão fiável neste contexto? Validity Se um processo correcto difunde a mensagem m, então todos os processos correctos do grupo entregam inevitavelmente m. Agreement Se um processo correcto entrega a mensagem m, então todos os processos correctos do grupo entregam inevitavelmente m. Integrity Para qualquer mensagem m, cada processso correcto entrega m no máximo uma vez, e apenas se m tiver sido préviamente difundida por um processo. Como conciliar as alterações da composição do grupo e a entrega das mensagens?
9 Virtual Synchronous Multicast (1/2) Ideia Cada processo do grupo mantém informação sobre a composição do grupo: a sua vista do grupo. Se um processo correcto tem uma vista, cada um dos restantes processos da vista acordaram na sua adopção em determinado ponto da sua execução. Os transmissores pertencem também ao grupo. Cada mensagem multicast está associada à vista do grupo que o seu transmissor tem no instante em que envia m. As propriedades de reliable broadcast têm que ser satisfeitas pelos processos que pertencem a essa vista. Uma mensagem não pode ser entregue no contexto duma vista diferente daquela em que foi enviada. Alterações de vista funcionam como barreiras de sincronização.
10 Virtual Synchronous Multicast (2/2) Uma mensagem enviada por um processo que falha pode não ser entregue, desde que se faça uma alteração da vista: O transmissor não pode fazer parte da vista seguinte. Reliable multicast by multiple P1 joins the group point-to-point messages P3 crashes P3 rejoins P1 P2 P3 P4 G = {P1,P2,P3,P4} G = {P1,P2,P4} G = {P1,P2,P3,P4} Partial multicast from P3 is discarded Time
11 Virtual Synchronous Multicast: Implementação (1/4) Pressupostos Canais ponto-a-ponto A comunicação é realizada através de canais ponto a ponto. Canais fiáveis I.e., se os processos na extremidade dum canal estão correctos, então a mensagem enviada por um será recebida pelo outro. Canais ordenados I.e., se um processo p recebe uma mensagem enviada por um processo q, então todas as mensagens previamente enviadas por q para p, foram previamente recebidas por p. Crash-failures Processos avariam por crash, i.e. quando avariam os processos param, deixando de executar qualquer instrução, incluindo receber e enviar mensagens.
12 Virtual Synchronous Multicast: Implementação (2/4) Problema O transmissor avaria a meio do multicast duma mensagem. Neste caso, alguns processos podem receber a mensagem enquanto outros não. Reliable multicast by multiple P1 joins the group point-to-point messages P3 crashes P3 rejoins P1 P2 P3 P4 G = {P1,P2,P3,P4} G = {P1,P2,P4} G = {P1,P2,P3,P4} Partial multicast from P3 is discarded Solução Duas alternativas: 1. Entregar a mensagem apenas se todos os processos não avariados a tiverem recebido 2. Entregar a mensagem desde que um processo avariado a tenha recebido Em ambos os casos é necessário acordo entre os processos sobre a acção a tomar Time
13 Virtual Synchronous Multicast: Implementação (3/4) Definição Uma mensagem m diz-se estável para um processo p, se p souber que m foi recebida por todos os processos operacionais duma vista. Ideia Manter uma cópia das mensagens entregues não estáveis Quando da alteração duma vista: 1. reenviar todas as mensagens não estáveis aos restantes processos; 2. aguardar a recepção de mensagens não estáveis doutros processos na vista e entregá-las se não forem duplicadas; 3. instalar a nova vista, i.e. mudar de vista Alternativa Um dos processos é eleito como coordenador: 1. cada processo envia as suas mensagens não estáveis ao coordenador 2. o processo coordenador difunde cada uma delas
14 Virtual Synchronous Multicast: Implementação (4/4) Problema Como se sabe que não há mais mensagens não estáveis por receber? Solução Cada processo, difunde uma mensagem especial, FLUSH, após ter difundido todas as mensagens não-estáveis, se alguma. Após receber uma mensagem FLUSH de cada um dos processos na nova vista, um processo pode instalar a nova vista Problema E se processos crasharem durante a execução do protocolo? Solução Iniciar a instalação duma nova vista sem o processo falhado Problema Como garantir terminação?
15 Ordem em Multicast No que respeita à ordem de entrega das mensagens há várias possibilidades, independentemente da fiabilidade: Sem Ordem a ordem pela qual as mensagens são entregues é arbitrária e pode diferir de processo para processo; FIFO mensagens com a mesma origem são entregues na ordem em que foram enviadas; Causal preserva a causalidade potencial entre mensagens (de acordo com a relação happened-before de Lamport): Basta Lamport timestamps ou é preciso usar os vector timestamps? Total as mensagens são entregues pela mesma ordem por todos os processos do grupo: É independente das outras ordens.
16 Sumário Difusão/Multicast Fiável Multicast Fiável em Grupos Dinâmicos Multicast: Aplicação à Replicação Atomic Commitment Two-phase Commit Stable Storage Three-phase Commit Leitura Adicional
17 Grupos e Replicação A ideia é que as réplicas formam um grupo. Replicação activa pode ser implementada facilmente usando: grupos estáticos; multicast fiável totalmente ordenado. Replicação passiva pode ser implementada facilmente usando: grupos dinâmicos; view synchronous multicast.
18 Replicação Activa O cliente pode retomar o processamento assim que receber a primeira resposta Assume-se, que a comunicação multicast garante ordem total e é fiável. Quando uma réplica recupera após uma avaria precisa de resincronizar com as restantes réplicas.
19 Replicação Passiva V i V i+1 No caso de falha duma réplica, as restantes precisam de instalar uma nova vista Se a réplica que falha é o primário, há que eleger um novo primário. Quando um servidor recupera após uma avaria precisa de resincronizar com as restantes réplicas antes de instalar uma nova vista.
20 Sumário Difusão/Multicast Fiável Multicast Fiável em Grupos Dinâmicos Multicast: Aplicação à Replicação Atomic Commitment Two-phase Commit Stable Storage Three-phase Commit Leitura Adicional
21 Atomic Commitment Problema: Garantir que um conjunto de operações em diferentes processos ou são todas executadas (commit) ou nenhuma é executada (abort). Este é um caso particular de consenso: a decisão tomada por processos que falham pode vincular outros processos. Admite-se que a avaria dos processos é transitória, i.e. que eventualmente os processos avariados são reparados. Pode ser útil mesmo quando processos não falham: por exemplo, se operações individuais podem falhar porque não se verificam determinadas condições.
22 Atomic Commitment: Formal Cada participante terá que decidir um de 2 resultados: commit/abort Cada participante deverá votar/propor um destes 2 resultados. AC1: Todos os participantes que decidem tomam a mesma decisão AC2: Se algum participante decide commit, então todos os participantes votaram nesse sentido. AC3: Se todos os participantes votarem a favor de commit e não houver falhas, então todos os participantes decidem commit. AC4: Cada participante decide no máximo uma vez, i.e. a sua decisão é irreversível.
23 Two-Phase Commit: Uma Solução (1/6) Este protocolo usa um processo especial, o coordenador. Os processos que deverão executar as acções são os participantes: O coordenador pode ou não ser participante. Se fôr, deverá executar quer o protocolo do coordenador quer o protocolo dos participantes. O protocolo envolve duas fases: Na primeira fase: O coordenador envia uma mensagem, VOTE-REQUEST, a cada um dos participantes, e espera pela resposta de todos os participantes. Cada um dos participantes emite um voto: ou VOTE-COMMIT ou VOTE-ABORT.
24 Two-Phase Commit(2/6) Na segunda fase: O coordenador decide COMMIT se tiver recebido VOTE-COMMIT de todos os participantes, senão decide ABORT. Quando recebem a decisão do coordenador, os participantes actuam de acordo executando ou não as operações, e enviam um ACK. Commit Vote-request Vote-abort Global-abort ABORT INIT WAIT (a) COMMIT Coordenador Vote-commit Global-commit Vote-request Vote-abort INIT Vote-request Vote-commit READY Global-abort ACK ABORT (b) Global-commit ACK COMMIT Participante
25 Two-Phase Commit(3/6) Possíveis Execuções P P P C P 1 P 2 P 3 C Vote-request Vote-request V-Abort V-Commit G-Commit V-Commit G-Abort ACK ACK Na ausência de avarias o protocolo é simples.
26 Two-Phase Commit(4/6) C P 1 P 2 P 3 C P 1 P 2 P 3 Vote-request Vote-request V-Commit G-Abort V-Commit G-Commit ACK ACK Avarias em processos podem ser detectadas por time-outs. Mesmo que o sistema não seja síncrono. O protocolo tem que prever as acções a executar na eventualidade de time-outs.
27 Two-Phase Commit(5/6): Timeout e Recuperação Acções por timeout Coordenador Só espera por mensagens no estado READY: Decide ABORT, e envia G_Abort a todos os participantes. Participante Pode bloquear em: INIT Decide ABORT e passa para o estado correspondente. READY Precisa contactar outros participantes para determinar o resultado. Poderá ter que bloquear à espera que o coordenador recupere, para tomar conhecimento da decisão. Acções de recuperação Se o processo ainda não decidiu então: Se num estado onde espera uma mensagem, pode usar as mesmas acções que no caso de timeout; Senão coordenador no estado INIT pode decidir
28 Two-Phase Commit(6/6): Recuperação Para permitir recuperação local, os processos deverão acrescentar um registo com o seu estado a um log em disco. A escrita no log deve ser feita antes ou depois de enviar as mensagens correspondentes? Além do estado do protocolo, poderá ser necessário gravar em disco estado da aplicação. O protocolo apresentado satisfaz as propriedades AC1 a AC4 em presença de: falhas de comunicação, incluindo partição da rede; falhas nos nós, desde que não sejam arbitrárias. O principal problema deste protocolo é a possibilidade dos participantes bloquearem quando o coordenador falha Este problema pode ser obviado: usando reliable multicast na comunicação; o protocolo three-phase commit.
29 Stable Storage (1/2) Problem Tal como 2PC, muitos protocolos tolerantes a falhas supõem que parte do estado dos processos sobrevive falhas de processos. Tipicamente, isso significa guardar esse estado no disco. Como garantir que o estado sobrevive falhas no disco? Solução: Stable Storage Usar 2 discos idênticos. Escrever um bloco implica escrever no disco 1 primeiro e no disco 2 depois. Na leitura, lêr do disco 1, a menos que a sua checksum seja inválida.
30 Stable Storage (2/2) Sector has different value a h b g c d e f a h b g c d e f a h b g c d e f a h b g c d e f a h b g c d e f a h b g c d e f Bad checksum (a) (b) (c) Recuperação após crash Se os sectores forem diferentes: actualizar o do 2 o disco com o valor do sector do 1 o. Se a checksum de um não for válida: usar o outro, e tentar actualizar o sector com erros. Se ambos tiverem checksums inválidas: falha catastrófica.
31 Three-Phase Commit (1/3) Evita bloqueio acrescentando uma fase entre as 2 do two-phase commit, na qual o coordenador dá a conhecer a sua intenção em decidir commit: Commit Vote-request Vote-abort Global-abort ABORT INIT WAIT PRECOMMIT COMMIT Vote-commit Prepare-commit Ready-commit Global-commit Vote-request Vote-abort INIT Vote-request Vote-commit READY Global-abort ACK ABORT Prepare-commit Ready-commit PRECOMMIT COMMIT Global-commit ACK (a) Coordenador (b) Participante
32 Three-Phase Commit (2/3) Os novos estados garantem que: 1. Não há qualquer estado com transições para o estado COMMIT e para o estado ABORT. 2. Não há qualquer estado onde: 2.1 não seja possível tomar a decisão, e 2.2 seja possível fazer uma transição para o estado COMMIT. Pode mostrar-se que estas condições são necessárias e suficientes para evitar bloqueio.
33 Three-Phase Commit (3/3) O algoritmo garante que não há bloqueio no caso do coordenador falhar, desde que haja uma maioria de participantes que acordem no resultado: 1. Se a maioria dos participantes estiver no estado READY pode decidir ABORT. 2. Se a maioria dos participantes estiver no estado PRECOMMIT pode decidir COMMIT. Como duas maiorias se sobrepõem, não é possível tomar decisões contraditórias. Note que um processo no estado PRECOMMIT pode ainda abortar, no caso de falhar. Note-se que este algoritmo não admite partições: doutro modo seria possível que a maioria dos participantes decidisse de forma distinta do coordenador.
34 Sumário Difusão/Multicast Fiável Multicast Fiável em Grupos Dinâmicos Multicast: Aplicação à Replicação Atomic Commitment Two-phase Commit Stable Storage Three-phase Commit Leitura Adicional
35 Leitura Adicional Capítulo 8 de Tanenbaum e van Steen, Distributed Systems, 2nd Ed. Secção 8.4: Reliable Group Communication (excepto subsecção 8.4.2) Secção 8.5: Distributed Commit Parágrafo Stable Storage da subsecção
Tolerância a Falhas. Sumário. Acordo Distribuído. December 18, Grupos de Processos
Tolerância a Falhas Acordo Distribuído December 18, 2009 Sumário Grupos de Processos Acordo Distribuído Com falha nas comunicações Modelos de Sincronismo Sistemas Assíncronos Sistemas Síncronos Grupos
Leia maisRelógios Lógicos. Sumário. November 27, Relação Happened-Before. Relógios de Lamport. Relógios Vectoriais
Relógios Lógicos November 27, 29 Sumário Relação Happened-Before Relógios de Lamport Relógios Vectoriais Eventos Nem sempre é necessário ter relógios sincronizados: Muitas vezes, é suficiente estabelecer
Leia mais(Broadcast - um emissor envia a mensagem para todos os nós do sistema) Multicast um emissor, um grupo de processos como receptores
Comunicação em Grupo (Broadcast - um emissor envia a mensagem para todos os nós do sistema) Multicast um emissor, um grupo de processos como receptores Exemplos de aplicação: - ferramentas de trabalho
Leia maisReplicação. Protocolos. June 2, 2010
Replicação. Protocolos. June 2, 2010 Sumário Arquitectura Protocolos baseados em Primário Protocolos de Escrita Replicada Protocolos para client-centric consistency Leitura Adicional Sumário Arquitectura
Leia maisfalhas em sistemas distribuídos
Tolerância a Falhas falhas em sistemas distribuídos Lamport: A distributed system is a system where I can t get any work done if a machine I ve never heard of crashes. sistemas distribuídos e falhas parciais
Leia maisTolerância a Falhas. June 2, 2010
Tolerância a Falhas June 2, 2010 Sumário Introdução e Terminologia Modelos Redundância Grupos de Processos Leitura Adicional Sumário Introdução e Terminologia Modelos Redundância Grupos de Processos Leitura
Leia maisConsistência. ncia. Sistemas Distribuídos e Tolerância a Falhas. Trabalho realizado por:
Sistemas Distribuídos e Tolerâ a Falhas Consistê Trabalho realizado por: Gonçalo Dias, Nº. 14638 João Tavares, Nº 14888 Rui Brás, Nº 14820 Consistê Índice Consistent Global States; Distributed Consensus;
Leia maisSISTEMAS DISTRIBUÍDOS
SISTEMAS DISTRIBUÍDOS Capítulo 8 Introdução à replicação e consistência Material de suporte às aulas de Sistemas Distribuídos Copyright DI FCT/ UNL / 1 NOTA PRÉVIA A apresentação utiliza algumas das figuras
Leia maisfalhas em sistemas distribuídos
Tolerância a Falhas falhas em sistemas distribuídos Lamport: A distributed system is a system where I can t get any work done if a machine I ve never heard of crashes. sistemas distribuídos e falhas parciais
Leia maisSistemas Distribuídos Capítulo 8 - Aula 15
Sistemas Distribuídos Capítulo 8 - Aula 15 Aula de hoje Aula Passada Comunicação Confiável Cliente-Servidor Comunicação Confiável de Grupo Comunicação Confiável de Grupo Multicast Atômico Sincronia Virtual
Leia maisAPLICAÇÕES EM SISTEMAS DISTRIBUÍDOS Prof. Ricardo Rodrigues Barcelar
- Aula 3-1. REVISÃO SOBRE CONCEITOS FUNDAMENTAIS DE SISTEMAS DISTRIBUÍDOS Na segunda parte abordamos o tema tolerância a falhas, assunto este muito relacionado a redes de computadores, mas que nos mostra
Leia maisSistemas Distribuídos Capítulo 8 - Aula 13
Sistemas Distribuídos Capítulo 8 - Aula 13 Aula de hoje Aula Passada Exclusão Mútua Algoritmos de Eleição Tolerância a Falhas Conceitos básicos Modelos de falha Redundância Resiliência de Processo 1 Tolerância
Leia maisSistemas Distribuídos. Professora: Ana Paula Couto DCC 064
Sistemas Distribuídos Professora: Ana Paula Couto DCC 064 Consistência e Replicação Capítulo 7 Agenda Distribuição de Conteúdo Estado versus operações Protocolos de recuperação de atualizações versus protocolos
Leia maisTolerância a Falhas com Máquinas de Estado
Sistemas Distribuídos junho de 2013 Histórico Lamport,1984: Using time instead of timeout for fault tolerance in distributed systems Schneider, 1990: Implementing Fault-Tolerant Services using the State
Leia maisAluísio Augusto Silva Gonçalves 17 de maio de 2018
CONSISTÊNCIA E CONSENSO CONSTRUINDO SISTEMAS DISTRIBUÍDOS TOLERANTES A FALHAS Aluísio Augusto Silva Gonçalves 17 de maio de 2018 CONTEÚDO Recapitulando Garantias de consistência Linearizabilidade Garantias
Leia maisTolerância a Falhas. Sumário. December 18, Introdução e Terminologia. Modelos de Falha
Tolerância a Falhas December 18, 2009 Sumário Introdução e Terminologia Modelos de Falha Tolerância a Falhas (Fault-tolerance) Sistemas distribuídos possuem modos de avaria parcial: Alguns componentes
Leia maisTransacções Atómicas Distribuídas
Transacções Atómicas Distribuídas Exemplo O Senhor Silva é possuidor de duas contas em bancos diferentes (A e B) e pretende fazer um movimento de 100.000$00 do banco A para o banco B. O procedimento para
Leia maisSistemas Distribuídos
Sistemas Distribuídos Comunicação em Grupo abril de 2017 Grupos em Aplicações Distribuídas Primitiva de comunicação em grupo um processo envia uma mensagem para um grupo de processos e todos os destinatários
Leia maisSistemas Distribuídos
Comunicação em Grupo Referência Sistemas operacionais modernos Andrew S. TANENBAUM Prentice-Hall, 1995 Seção 10.4 pág. 304-311 2 Comunicação em Grupo Suponha que se deseja um serviço de arquivos único
Leia maisSistemas Distribuídos Estados globais. Vinícius Fernandes Soares Mota
Sistemas Distribuídos Estados globais Vinícius Fernandes Soares Mota 1 2 Tópicos Tempo e relógio lógicos (revisão curta) Relógios vetoriais Estados Globais Snapshot distribuído 3 Antes... Por que a sincronização
Leia maisTransacções em Sistemas Distribuídos
Transacções em Sistemas Distribuídos Função transferir Primeira solução transferir(contaa, contab, Montante) { bancoa.lersaldo (contaa, SaldoA); bancob.lersaldo (contab, SaldoB); bancoa.actualizarsaldo
Leia maisMessage Oriented Middleware (MOM)
Message Oriented Middleware (MOM) November 1, 2009 Sumário Comunicação Assíncrona (MOM) Conceito Java Message Service Implementação Comunicação Assíncrona Problema: Nem sempre as entidades comunicantes
Leia maisEleição de leader e Exclusão Mútua
Eleição de leader e Exclusão Mútua November, 9 Sumário Leader Exclusão Mútua Leader O problema muitos algoritmos distribuídos pressupõem que um determinado processo desempenha um papel especial Por exemplo,
Leia mais1- Replicação de Dados - A replicação de dados permite lidar com falhas ao nível dos nós que impeçam o acesso
1- Replicação de Dados - A replicação de dados permite lidar com falhas ao nível dos nós que impeçam o acesso aos dados neles armazenados e com falhas ao nível da comunicação de dados. - Na replicação
Leia maisO que é? É uma aplicação que consiste em 2 ou mais processos que executam em diferentes processadores que não partilham memória.
Sumário: Introdução aos SD (Uma) Definição dum sistema distribuído (SD). Exemplos de SDs. Potenciais vantagens de SDs. Objectivos no desenvolvimento de SDs. Dificuldades/obstáculos no desenvolvimento de
Leia maisSistemas Distribuídos. Professora: Ana Paula Couto DCC 064
Sistemas Distribuídos Professora: Ana Paula Couto DCC 064 Consistência Causal(3) Neste exemplo temos uma sequência de eventos permitida quando o depósito é consistente por causalidade, mas proibida quando
Leia maisExclusão Mútua Distribuída. Algoritmos para eleição de um coordenador ou líder. UBI, DI, Paula Prata SDTF T04 1
Exclusão Mútua Distribuída Algoritmos para eleição de um coordenador ou líder 1 Há situações em que os processos de um sistema distribuído necessitam de coordenar as suas ações: - quando há recursos partilhados,
Leia maisSistemas Distribuídos. Professora: Ana Paula Couto DCC 064
Sistemas Distribuídos Professora: Ana Paula Couto DCC 064 Comunicação Confiável de Grupo Capítulo 8 Comunicação Confiável de Grupo Camadas de Transporte oferecem comunicação ponto-a-ponto confiável (TCP)
Leia maisSistemas Distribuídos: Conceitos e Projeto Resiliência de Processos
Sistemas Distribuídos: Conceitos e Projeto Resiliência de Processos Francisco José da Silva e Silva Laboratório de Sistemas Distribuídos (LSD) Departamento de Informática / UFMA http://www.lsd.ufma.br
Leia maisComunicação de Grupo: Disfusão Confiável e Atômica
WTF 2000: Computação mini-curso Distribuída LCMI/DAS/CTC/UFSC Comunicação de : Disfusão Confiável e Atômica Prof. Lau Cheuk Lung E-mail: lau.lung@inf.ufsc.br Departamento de Informática e Estatística stica
Leia maisComunicação Multicast
Comunicação Multicast November 1, 2009 Sumário Multicast Application-Level Multicast Algoritmos Epidémicos Comunicação Multicast Multicast designa o envio duma mensagem para múltiplos destinatários. Pode
Leia maisReplicação. Modelos de Consistência.
Replicação. Modelos de Consistência. December 1, 2009 Sumário Introdução Questões Centrais da Replicação Modelos de Consistência Replicação O que é? O uso de múltiplas cópias de dados ou serviços (e estado
Leia maisCanais de Comunicação
Canais de Comunicação February 24, 2010 Sumário Comunicação via Mensagens Propriedades dum Canal de Comunicação Protocolos da Internet UDP TCP Aplicação Distribuída O que é? É uma aplicação que consiste
Leia maisProtocolos Tolerantes a Intrusões com base num Modelo de Faltas Híbrido
Protocolos Tolerantes a Intrusões com base num Modelo de Faltas Híbrido Miguel P. Correia 12 de Dezembro de 2002 Sumário Modelo de faltas híbrido baseado numa componente inovadora a Protocolo de difusão
Leia maisSistemas Distribuídos Capítulo 8 - Aula 14
Sistemas Distribuídos Capítulo 8 - Aula 14 Aula Passada Tolerância a Falhas Conceitos básicos Modelos de falha Redundância Resiliência de Processo Aula de hoje Comunicação Confiável Cliente-Servidor Comunicação
Leia maisExclusão Mútua Distribuída. Algoritmos para eleição de um coordenador ou líder. UBI, DI, Paula Prata SDTF T04 1
Exclusão Mútua Distribuída Algoritmos para eleição de um coordenador ou líder 1 Suponhamos N processos, pi, i=1,2,,n que não partilham variáveis, mas que partilham algum recurso partilhado ao qual devem
Leia maisSistemas Distribuídos. Ricardo Ribeiro dos Santos
Sistemas Distribuídos Ricardo Ribeiro dos Santos ricrs@ec.ucdb.br Curso de Engenharia de Computação UCDB Setembro/2003 Tópicos Sincronização em Sistemas Distribuídos Sincronização de Relógio Estados Globais
Leia maisSistemas Distribuídos. Professora: Ana Paula Couto DCC 064
Sistemas Distribuídos Professora: Ana Paula Couto DCC 064 Recuperação Capítulo 8 Agenda Introdução Pontos de Verificação Registro de Mensagens Introdução Essência: Quando ocorre uma falha no sistema, é
Leia maisCoordenaçãoe consenso
Sistemas Distribuídos Coordenaçãoe consenso Nazareno Andrade Universidade Federal de Campina Grande 02/2008 Fundamentos Coordenando processos Construíndo sistemas Sistemas construídos 2 Fundamentos Coordenando
Leia maisConsenso Distribuído em Sistemas Assíncronos
Consenso Distribuído em Sistemas Assíncronos Uma Solução Probabilística Gerhard Tel: Introduction to Distributed Algorithms, Cambridge Press, sections 14.1 e 14.4 Revendo a Impossibilidade em Sistemas
Leia maisTempos e Estados Globais. ECO036 - Sistemas Paralelos e Distribuídos
Tempos e Estados Globais ECO036 - Sistemas Paralelos e Distribuídos Tópicos Abordados - Tempo - Relógios e Ordenação de eventos. - Relação Happened- Before - Relógios Lógicos - Vetor de Relógios - Relógios
Leia maisSistemas Distribuídos
Sistemas Distribuídos Comunicação em Grupo maio de 2017 Grupos em Aplicações Distribuídas grupos fortemente acoplados: replicação de serviços confiabilidade tempo de resposta clientes com estado compartilhado
Leia mais1- Replicação de Dados - A replicação de dados permite lidar com falhas ao nível dos nós que impeçam o acesso
1- Replicação de Dados - A replicação de dados permite lidar com falhas ao nível dos nós que impeçam o acesso aos dados neles armazenados e com falhas ao nível da comunicação de dados. - Na replicação
Leia maisLEIC/LERC 2007/08 Segundo Teste de Sistemas Distribuídos
LEIC/LERC 2007/08 Segundo Teste de Sistemas Distribuídos 27 de Junho de 2008 Responda no enunciado, apenas no espaço fornecido. Identifique todas as folhas. Duração: 1h30m Grupo I Um número de telefone
Leia maisDesenvolvimento de um Middleware Distribuído para Ordenação de Mensagens Segundo os Algoritmos FIFO, Causal e Total
Desenvolvimento de um Middleware Distribuído para Ordenação de Mensagens Segundo os Algoritmos FIFO, Causal e Total Rafael da Rosa Righi 1, Rodrigo da Rosa Righi 2 1 Laboratório de Redes e Gerência (LRG)
Leia maisOrdenação. Relógios lógicos
Ordenação Relógios lógicos 1 Índice Ordenação FIFO Ordenação Causal Ordenação Total Algoritmos Tempo Lógico Relógios Lógicos Relógios Vectoriais 2 Introdução Ordenação Objectivo Determinar à posteriori
Leia maistrabalho Heitor Oliveira,Rafael Aleixo,Alex Rodrigues September 2013
trabalho Heitor Oliveira,Rafael Aleixo,Alex Rodrigues September 2013 Sistemas Distribuídos ea Internet Aplicacao Distribuida// 1 Aplicacao Distribuida O que é? É uma aplicação que consiste em 2 ou mais
Leia maisSistemas Distribuídos
Sistemas Distribuídos Tolerância a faltas Prof. Emerson Ribeiro de Mello Instituto Federal de Santa Catarina IFSC campus São José mello@ifsc.edu.br http://docente.ifsc.edu.br/mello 3 de dezembro de 2015
Leia maisSistemas Distribuídos Aula 15
Sistemas Distribuídos Aula 15 Aula passada Relacionando eventos Relógios lógicos Algoritmo de Lamport Propriedades Aula de hoje Limitação de Lamport Relógio de vetores Propriedades Garantindo ordenação
Leia maisComunicação orientada a mensagens
Comunicação orientada a mensagens críticas a RPC sincronismo modelo um a um dificuldades de tratamento de falhas Þ volta ao modelo de troca de mensagens com diferentes níveis de abstração Sistemas de mensagens
Leia maisPROVIDING DEPENDABILITY FOR WEB SERVICES
PROVIDING DEPENDABILITY FOR WEB SERVICES Dário Lima Pedro Venâncio a16435 m2610 Sistemas Distribuídos e Tolerância a Falhas 1 Esta tecnologia tem como finalidade proporcionar interoperabilidade para aplicações
Leia maisSistemas Distribuídos
Sistemas Distribuídos Sincronização de relógios lógicos Prof. Emerson Ribeiro de Mello Instituto Federal de Santa Catarina IFSC campus São José mello@ifsc.edu.br http://docente.ifsc.edu.br/mello 26 de
Leia maisEleição de Líder. Alysson Neves Bessani Departamento de Informática Faculdade de Ciências da Universidade de Lisboa
Eleição de Líder Alysson Neves Bessani Departamento de Informática Faculdade de Ciências da Universidade de Lisboa Algoritmos de Eleição Muitos algoritmos distribuídos necessitam de seleccionar um processo
Leia maisSumário. Message Oriented Middleware (MOM) Sincronização na Comunicação. Comunicação Assíncrona
Sumário Message Oriented Middleware (MOM) October 16, 2008 Comunicação Assíncrona (MOM) Conceito Java Message Service Implementação Comunicação Assíncrona Problema: Nem sempre as entidades comunicantes
Leia maisTolerância a Faltas. Page. Sistema Computacional. Sistema Computacional. Sistema Computacional
Sistema Computacional Tolerância a Faltas Sistema computacional: Formado por um conjunto de componentes internas Contém um estado interno Está sujeito a um conjunto de entradas, ou estímulos externos Tem
Leia maisAlgoritmos Distribuídos Modelo Computacional
Algoritmos Distribuídos Modelo Computacional Antonio Alfredo Ferreira Loureiro loureiro@dcc.ufmg.br http://www.dcc.ufmg.br/~loureiro UFMG/ICEx/DCC 1 Modelo Computacional Modelo: Esquema que possibilita
Leia maisArquitecturas Tolerantes a faltas em Sistemas Distribuídos
Arquitecturas Tolerantes a faltas em Sistemas Distribuídos Replicação de Servidores Transacções Atómicas Protocolos de Replicação Replicação passiva vs. activa Replicação de máquinas de estados vs. Replicação
Leia maisSincronização em Sistemas Distribuídos
Sincronização em Sistemas Distribuídos problemas clássicos ordenação de mensagens exclusão mútua distribuída eleição de líder... transações ordenação de acontecimentos relógio físico dificuldades relógio
Leia maisSistemas Distribuídos
Sistemas Distribuídos Transações atômicas Conteúdo O modelo transacional Armazenamento estável Primitivas transacionais Propriedades das transações Transações aninhadas Implementação Área de trabalho privada
Leia maisDepartamento de Informática Faculdade de Ciências e Tecnologia UNIVERSIDADE NOVA DE LISBOA
Departamento de Informática Faculdade de Ciências e Tecnologia UNIVERSIDADE NOVA DE LISBOA Licenciatura em Engenharia Informática Sistemas Distribuídos I 1ª chamada, 26 de Junho de 2006 2º Semestre, 2005/2006
Leia maisSistemas Distribuídos Aula 16
Sistemas Distribuídos Aula 16 Aula passada Relacionando eventos Relógios lógicos Algoritmo de Lamport Propriedades Aula de hoje Limitação de Lamport Relógio de vetores Propriedades Garantindo ordenação
Leia maisTécnicas de Recuperação em Banco de Dados
Técnicas de Recuperação em Banco de Dados Daniela Barreiro Claro MAT A60 Aula 14 Recuperação em Banco de Dados 2 Falhas podem ocorrer em qualquer Sistema Catastroficas e não-catastroficas SGBD deve garantir
Leia maisDepartamento de Engenharia Informática. Tolerância a Faltas. 8/28/2003 José Alves Marques
Tolerância a Faltas Índice Terminologia Falta, erro, falha Fiabilidade, disponibilidade Replicação Modelo Transaccional Transacções distribuídas Sistema Computacional Sistema computacional: Formado por
Leia maisProtocolo de transporte em tempo-real (Real- Time Transport Protocol) Definido na RFC 3350 Normalmente usado sobre o UDP Serviços
RTP Protocolo de transporte em tempo-real (Real- Time Transport Protocol) Definido na RFC 3350 Normalmente usado sobre o UDP Serviços Identificação do tipo de carga útil (mídia) Números de sequência Estampa
Leia maisReplicação de Máquinas de Estado Baseada em Prioridade com PRaft
Replicação de Máquinas de Estado Baseada em Prioridade com PRaft Paulo Rogério de Pinho Filho*, Luciana de Oliveira Rech*, Lau Cheuk Lung*, Miguel Correia**, Lásaro Camargos*** *Departamento de Informática
Leia maisModelos Fundamentais. Introdução. Interação. Falhas. Segurança. Prof. Adriano Fiorese
Modelos Fundamentais Introdução Interação Falhas Segurança 1 Introdução Como entender/classificar o comportamento de um sistema: Quais são as principais entidades do sistema? Como elas interagem? Quais
Leia maisUm Algoritmo Probabilista de Recuperação de Erros para Difusão Fiável
Um Algoritmo Probabilista de Recuperação de Erros para Difusão Fiável Zhen Xiao, Kennneth P. Birman Apresentação: Henrique Moniz Sumário Introdução: multicast e o contexto do problema Tipos de multicast
Leia maisModelos Fundamentais de um SD. Modelo de Interação ou Sincronismo
Modelos Fundamentais de um SD Modelo de Falhas Modelo de Interação ou Sincronismo Modelo de Segurança 1 Modelo de Avarias: Caracteriza o sistema em termos das falhas/avarias, i.e., dos desvios em relação
Leia maisConsistência e Replicação
Consistência e Replicação Fernando Silva DCC-FCUP Fernando Silva (DCC-FCUP) Consistência e Replicação 1 / 33 Agenda Slides baseados nos slides de Maarten van Steen e no cap. 7 do seu livro com Andrew Tanenbaum.
Leia maisSISTEMAS DISTRIBUÍDOS
SISTEMAS DISTRIBUÍDOS Capítulo 8 Introdução à replicação e consistência Material de suporte às aulas de Sistemas Distribuídos Copyright DI FCT/ UNL / 1 NOTA PRÉVIA A apresentação utiliza algumas das figuras
Leia maisSistemas Distribuídos. Enunciado da Segunda Parte do Projecto
LEIC-A, LEIC-T, LETI, MEIC-T, MEIC-A Sistemas Distribuídos 2 o Semestre 2013/2014 Enunciado da Segunda Parte do Projecto Este enunciado apresenta os requisitos relativos à segunda parte do projeto de Sistemas
Leia maisSincronização e Concorrência
Tópicos da Aula Sincronização e Concorrência Sincronização sincronização interna sincronização externa sincronização de relógio métodos de sincronização Cristian Berkeley tempo lógico Controle de Concorrência
Leia maisVamos fazer um pequeno experimento
1 Vamos fazer um pequeno experimento Dividam-se em dois grupos: Mestre Escravo Projeto de Sistemas Distribuídos Comunicação entre Processos Prof. Msc. Marcelo Iury de Sousa Oliveira marceloiury@gmail.com
Leia maisSistemas de Arquivos Distribuídos. Bruno M. Carvalho Sala: 3F2 Horário: 35M34
Sistemas de Arquivos Distribuídos Bruno M. Carvalho Sala: 3F2 Horário: 35M34 Introdução Serviço de arquivos descreve os serviços oferecidos pelo sistema de arquivos aos clientes Servidor de arquivos processo
Leia maisSistemas Distribuídos. abril de simbolopuc
Sistemas Distribuídos abril de 2019 Motivação tolerância a falhas disponibilidade desempenho proximidade divisão da carga de trabalho: escalabilidade Consistência Se várias cópias de um serviço estão disponíveis,
Leia maisSistemas Distribuídos
Sistemas Distribuídos Deadlocks Referência Sistemas operacionais modernos Andrew S. TANENBAUM Prentice-Hall, 1995 Seção 11.5 pág. 340-344 2 Conteúdo Detecção de deadlock distribuído Detecção centralizada
Leia maisConsistência e Replicação
Consistência e Replicação - Razões para a replicação - Replicação para obter escalabilidade - Modelos de consistência centrados nos dados 1 Razões para a replicação Fiabilidade - Enquanto pelo menos um
Leia maisLEIC/LERC 2008/09 2º Teste de Sistemas Distribuídos
Número: Nome: LEIC/LERC 2008/09 2º Teste de Sistemas Distribuídos 11 de Julho de 2009 Responda no enunciado, apenas no espaço fornecido. Identifique todas as folhas. Duração: 1h30m - 7 Páginas Grupo I
Leia maisAULA ANTERIOR: MODELOS FUNDAMENTAIS
AULA ANTERIOR: MODELOS FUNDAMENTAIS Modelos fundamentais de um sistema distribuído Permitem estabelecer quais as premissas existentes a respeito de aspetos chave. Permitem avaliar de forma objetiva as
Leia maisDados em programas são estruturados, enquanto que mensagens carregam informação seqüencial: Linearização x Restauração de dados Requisição
6LVWHPDV'LVWULEXtGV 0GHO&OLHQWH6HUYLGU &PXQLFDom 6XPiUL Introdução Elementos Básicos de Comunicação Comunicação Cliente-Servidor Comunicação em Grupo Chamada emota de Procedimento (PC) Prof a. Cristina
Leia maisAbordagem, Instalação e Realização de benchmarks para LibPaxos2 e RingPaxos
Abordagem, Instalação e Realização de benchmarks para LibPaxos2 e RingPaxos Cristian Cleder Machado Disciplina de Programação com Objetos Distribuídos TF Professor: Cláudio Fernando Resin Geyer cristian@cristian.com.br
Leia maisAlgoritmos Distribuídos (deadlock) ALGORITMOS DISTRIBUÍDOS Deadlock. Algoritmos Distribuídos (deadlock) Algoritmos Distribuídos (deadlock)
Um deadlock é causado pela situação onde um conjunto de processos está bloqueado permanentemente, i.e., não conseguem prosseguir a execução, esperando um evento que somente outro processo do conjunto pode
Leia maisTCP. Bibliografia FEUP/MRSC/AMSR MPR. » Aula preparada com base nos seguintes documentos
1 FEUP/MRSC/AMSR MPR 2 Bibliografia» Aula preparada com base nos seguintes documentos L. Peterson, B. Davie, Computer Networks A Systems Approach, Morgan Kaufamnn, 2000 (Sec. 5.1 e 5,2) Acetatos do autor
Leia maisTHE PROCESS GROUP APPROACH TO RELIABLE DISTRIBUTED COMPUTING KennethP. Birman
THE PROCESS GROUP APPROACH TO RELIABLE DISTRIBUTED COMPUTING KennethP. Birman A abordagem de Grupos de Processos para a Computação Distribuída Confiável Trabalho realizado por: João Cardoso Vasco Santos
Leia maisNome: Nº de aluno: 3ª Ficha de Avaliação 20/5/2014
Instituto Superior de Engenharia de Lisboa Departamento de Engenharia de Electrónica e Telecomunicações e de Computadores Redes de Computadores (LEIC/LEETC/LERCM) Nome: Nº de aluno: 3ª Ficha de Avaliação
Leia maisProtocolo Request-Reply
n n n n Protocolo Request-Reply Modelo de Objeto Remoto Semânticas de Invocação Remota Arquitetura de Invocação Remota Prof a Ana Cristina B. Kochem Vendramin DAINF / UTFPR Introdução Características de
Leia maisAPLICAÇÕES EM SISTEMAS DISTRIBUÍDOS Prof. Ricardo Rodrigues Barcelar
- Aula 2-1. REVISÃO SOBRE CONCEITOS FUNDAMENTAIS DE SISTEMAS DISTRIBUÍDOS Na primeira parte abordamos conceitos básicos sobre sistemas distribuídos, os quais são imprescindíveis na implementação de sistemas
Leia maisUm esquema de otimização do protocolo RLSMP usando broadcast atômico na atualização de células líderes
Um esquema de otimização do protocolo RLSMP usando broadcast atômico na atualização de células líderes A scheme for optimizing the protocol RLSMP using atomic broadcast in updating cell leaders Cristiane
Leia maisTolerância a Falhas. especialmente em grades
Tolerância a Falhas especialmente em grades tolerância a falhas em geral falhas em SD crash omissão retardo em respostas respostas erradas respostas arbitrárias simplificadamente: falhas bizantinas falhas
Leia maisTransmissão Multicast Confiável e Experimentos na Internet
Transmissão Multicast Confiável e Experimentos na Internet Jorge Allyson Azevedo Milena Scanferla, Daniel Sadoc Menasché Edmundo A. de Souza e Silva LAND - UFRJ Maio 00 Roteiro Introdução RML: uma biblioteca
Leia maisOrdenação. Sistemas Distribuídos e Tolerância a Falhas. Universidade da Beira Interior 07/08
Ordenação Sistemas Distribuídos e Tolerância a Falhas Universidade da Beira Interior 07/08 Benjamim Marques M1440 Daniel Félix M1441 João Duarte a14951 Índice Introdução Problema FIFO Ordenação Causal
Leia maisProtocolo de transporte em tempo-real (Real- Time Transport Protocol) Definido na RFC 3350 Normalmente usado sobre o UDP Serviços
RTP Protocolo de transporte em tempo-real (Real- Time Transport Protocol) Definido na RFC 3350 Normalmente usado sobre o UDP Serviços Identificação do tipo de carga útil (mídia) Números de sequência Estampa
Leia maisSistemas Distribuídos. 7 Coordenação e Acordo. Coordenação e Acordo. Prof a Ana Cristina B. Kochem Vendramin DAINF / UTFPR
Sistemas Distribuídos 7 Coordenação e Acordo n Coordenação e Acordo Prof a Ana Cristina B. Kochem Vendramin DAINF / UTFPR Exclusão Mútua Evitar interferência entre um conjunto de processos e garantir a
Leia maisGrupo I [8v] b. [0,8v] Apresente o pseudo-código do algoritmo que U executa para validar a assinatura que recebe.
Número: Nome: Página 1 de 6 LEIC/LETI 2013/14, 2º Teste de Sistemas Distribuídos, 17 de Junho de 2014 Responda no enunciado, apenas no espaço fornecido. Identifique todas as folhas. Duração: 1h30m Grupo
Leia maisNomes. Sumário. November 2, O Problema. Conceitos Fundamentais. Espaço de Nomes. Rsolução de Nomes
Nomes November 2, 2009 Sumário O Problema Conceitos Fundamentais Espaço de Nomes Rsolução de Nomes Localização do Servidor/Objectos Problema: Como é que um cliente sabe onde se encontra o servidor? Solução:
Leia maisAula 03. Evandro Deliberal
Aula 03 Evandro Deliberal evandro@deljoe.com.br https://www.linkedin.com/in/evandrodeliberal Concorrência Método Sincronização Problemas: Perda de consistência Acesso a dados inconsistentes Perda de atualizações
Leia maisSincronização. Tempo e Relógios. Sincronização de Relógios - Algoritmo de Cristian - Algoritmo de Berkeley - Network Time Protocol
Sincronização Tempo e Relógios Sincronização de Relógios - Algoritmo de Cristian - Algoritmo de Berkeley - Network Time Protocol 1 Caso mais simples: Sincronização interna entre dois processos num sistema
Leia maisArquitetura de Sistemas Operativos
Arquitetura de Sistemas Operativos Sistemas Operativos 2011/2012 1 Um processo é uma instância em execução de um programa. No sistema operativo Unix a única forma de se criar um novo processo (processo-filho)
Leia mais