Sistemas Distribuídos Replicação. Vinícius Fernandes Soares Mota

Tamanho: px
Começar a partir da página:

Download "Sistemas Distribuídos Replicação. Vinícius Fernandes Soares Mota"

Transcrição

1 Sistemas Distribuídos Replicação Vinícius Fernandes Soares Mota 1

2 2 O Papel da replicação

3 Melhorando serviços com dados replicados 3 Balanceamento de carga carga de trabalho é compartilhada entre servidores amarrando-se vários IPs a um único nome de DNS. Endereços IP são retornados utilizando uma política tipo round-robin.

4 Melhorando serviços com dados replicados 4 Balanceamento de carga carga de trabalho é compartilhada entre servidores amarrando-se vários IPs a um único nome de DNS.

5 Melhorando serviços com dados replicados 5 Tolerância à falha se f de f + 1 servidores falham, pelo menos um mantémse ativo e provendo o serviço Aumento da disponibilidade serviço pode não estar disponível quando servidores falham ou quando a rede é particionada

6 Melhorando serviços com dados replicados 6 Aumento da disponibilidade P: probabilidade de falha de um servidor 1 P: disponibilidade do serviço Por exemplo, se P = 5% Serviço está disponível 95% do tempo. P n : probabilidade de n servidores falharem 1 P n : disponibilidade do serviço por exemplo, se P = 5%, n = 3 => serviço está disponível % do tempo

7 7 Detectando falhas - Exercício Três computadores juntos fornecem um serviço replicado. Os fabricantes dizem que cada computador tem um tempo médio entre falhas de cinco dias; normalmente, uma falha demora quatro horas para ser corrigida. Qual é a disponibilidade do serviço replicado?

8 8 Detectando falhas - Exercício Três computadores juntos fornecem um serviço replicado. Os fabricantes dizem que cada computador tem um tempo médio entre falhas de cinco dias; normalmente, uma falha demora quatro horas para ser corrigida. Qual é a disponibilidade do serviço replicado? Probabilidade Falha individual = 4/(5*24 ) ~ Disponibilidade do serviço: =

9 Modelo arquitetural básico para o gerenciamento de dados replicados 9 Requisições e respostas C FE RM RM Clientes Front ends Serviço C FE RM Replica managers Transparência de replicação usuário/cliente não precisa saber que existem diversas cópias do recurso Consistência de replicação os dados são consistentes entre todas as réplicas, ou estão no processo de se tornarem consistentes

10 10 Gerenciamento de replicação 5 Fases que afetam o desempenho de acesso a objetos replicados Requisição Coordenação Execução Acordo Resposta

11 11 Gerenciamento de replicação Requisições - requisições podem ser feitas a um RM - Via multicast a múltiplos RM Coordenação: os RM devem decidir: - se a requisição será aplicada - a ordem em que as requisições serão aplicadas ordem FIFO: se um FE envia uma requisição r e então uma requisição r, então toda RM deve tratar r e depois r ordem causal: se a requisição r happens-before r, então toda RM deve tratar r e depois r ordem total: se uma RM trata r e depois r, então todas as RM devem tratar r e depois r Execução: Tentativas de executar a requisição

12 12 Gerenciamento de replicação Acordo/Consenso: as RMs tentam alcançar o consenso sobre o efeito da requisição exemplo: Two-phase commit através de um coordenador se bem sucedido, a requisição se torna permanente Resposta: uma ou mais RM respondem ao FE o FE retorna a primeira resposta obtida

13 13 Comunicação de grupos Grupos estáticos: membros são pré-definidos Grupos dinâmicos: membros podem entrar (join) e sair (leave) do grupo Um serviço de gerenciamento de membros em um grupo mantém visões de grupo (views): listas dos membros atuais do grupo não é uma lista mantida por um membro, mas cada membro possui sua view local

14 14 Modo de visualização - Views Uma view V p (g) é o entendimento do processo p de seu grupo (lista de membros) Exemplo: V p.0 (g) = {p}, V p.1 (g) = {p, q}, V p.2 (g) = {p, q, r}, V p.3 (g) = {p,r} Uma nova view é disseminada através do grupo sempre que um membro entra ou sai do grupo membros que detectarem uma falha de um outro membro, envia um multicast confiável notificando a mudança da view (requer ordem total para multicasts) Mensagens enviadas em uma view devem ser enviada a todos os membros do grupo

15 15 Views Requisitos para entrega de uma view Ordem: se p entrega uma v i (g), e então uma v i+1 (g), então nenhum outro processo q envia v i+1 (g) antes de v i (g) Garantia de consistência Integridade: se p envia v i (g), então p está na view v i (g) Garantia de sanidade Não trivialidade: se o processo q entra em uma view e se torna alcançável pelo processo p, então, eventualmente, q estará sempre presente nas views entregues a p Previne soluções triviais

16 Comunicação síncrona em uma view 16 Usa serviço de comunicação de grupo + multicast confiável Garantias providas pelo protocolo multicast confiável: Integridade: se p enviou a mensagem m, p não irá enviar m novamente, e p grupo(m). Validade: processos corretos sempre entregam todas as suas mensagens Acordo/Consenso: processos corretos entregam o mesmo conjunto de mensagens em uma view

17 17 Grupos de comunicação Considere um grupo com três processos p, q e r. Suponha que p envie uma mensagem m enquanto está no modo de visualização (p, q, r); P falha após o envio Instructor s Guide for Coulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5 Pearson Education 2012

18 18 Grupos de comunicação Considere um grupo com três processos p, q e r. Suponha que p envie uma mensagem m enquanto está no modo de visualização (p, q, r); P falha após o envio a (Permitido). p p crashes b (Permitido). p p crashes q q r r view (p, q, r) view (q, r) view (p, q, r) view (q, r) Instructor s Guide for Coulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5 Pearson Education 2012

19 19 Grupos de comunicação a (Permitido). p p crashes b (Permitido). p p crashes q q r r view (p, q, r) view (q, r) view (p, q, r) view (q, r) c (Proibido). p p crashes d (Proibido). p p crashes q q r r view (p, q, r) view (q, r) view (p, q, r) view (q, r) Instructor s Guide for Coulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5 Pearson Education 2012

20 20 Serviços Tolerantes a Falhas como fornecer um serviço correto quando ocorrer falhas? Supõe-se que cada gerenciador de réplica se comporta de acordo com os objetos que gerencia Exemplo: contas bancárias incluiria a garantia de que os fundos transferidos entre as contas nunca poderia desaparecer

21 21 Serviços Tolerantes a Falhas como fornecer um serviço correto quando ocorrer falhas? Supõe-se que cada gerenciador de réplica se comporta de acordo com os objetos que gerencia Exemplo: contas bancárias incluiria a garantia de que os fundos transferidos entre as contas nunca poderia desaparecer Podem surgir anomalias quando houver vários gerenciadores de réplicas

22 22 Serviços Tolerantes a Falhas Inicialmente, x = y = 0 Cliente 1 atualiza objeto x em uma réplica B Réplica B falha

23 23 Serviços Tolerantes a Falhas Inicialmente, x = y = 0 Cliente 1 atualiza objeto x em uma réplica B Réplica B falha X não foi atualizado no servidor A Houve atualização de X no servidor B

24 24 Serviços Tolerantes a Falhas Entender o que é um comportamento correto em um sistema replicado Como serializar as operações? Critérios de correção para objetos replicados: Capacidade de linearização Interposição das operações para todos os clientes, para qualquer operação. Consistência sequencial Interposição das operações

25 25 Capacidade de linearização Um serviço de compartilhamento de objetos replicado é dito linearizável se Obedecem à especificação de uma única cópia do objeto É consistente com os tempos reais com que cada operação ocorreu durante a execução

26 26 Capacidade de linearização A capacidade de linearização diz respeito à interposição de operações individuais e não se destina a ser transacional. Uma execução que pode ser linearizada pode violar as noções de consistência específicas da aplicação, caso não seja aplicado controle de concorrência.

27 27 Capacidade de linearização O exemplo anterior não pode ser linearizado Não há interposições das operações que leve ao resultado correto

28 28 Capacidade de linearização Linearização é difícil (ou quase impossível) de ser alcançada em sistemas reais Um critério menos restritivo é o de consistência sequencial

29 29 Consistência sequencial Um serviço de compartilhamento de objetos replicado é sequencialmente consistente se, para qualquer execução (real) existe alguma intercalação de operações do cliente (virtual) que: Obedecem à especificação de uma única cópia do objeto É consistente com ordem individual em que cada cliente executou a operação

30 30 Consistência sequencial Não exige ordenação total ou tempo absoluto. Para cada cliente, a ordem de execução da sua sequencia de operações deve ser consistente com a ordem do programa (~FIFO) Linearização implica em consistência sequencial, mas não vice versa Como garantir consistência sequencial: garantindo que todas as réplicas de um objeto sejam consistentes.

31 31 Consistência sequencial O critério do tempo real para a capacidade de linearização não é satisfeito, pois getbalancea(x) 0 ocorre depois de setbalanceb(x,1); A interposição das operações do Cliente 2 serem executadas antes do cliente 1 satisfaz os dois critérios da consistência sequencial: getbalancea(y) 0, getbalancea(x) 0 setbalanceb(x, 1), setbalancea(y, 2).

32 Modelo de tolerância à falhas baseado em replicação passiva (backup primário) 32 Primary C FE RM RM Backup C FE RM Backup

33 Replicação passiva (backup primário) 33 Comunicação: a requisição é encaminhada para o RM primário e possui um único identificador de requisição Coordenação: o RM primário recebe todas as requisições atomicamente, em ordem, checa o id (reenvia resposta se não é novo identificador) Execução: RM primário executa e armazena as requisições Acordo/Consenso: se é atualização, RM primário envia estado atualizado/resultado do objeto, identificador de requisição e resposta para todos os RM de backups (1-phase commit). Resposta: RM primário envia resposta ao front end

34 Tolerância à falhas na replicação passiva 34 Implementa linearização Se RM primário falha, um backup se torna o líder por eleição e as RM que sobreviveram concordam sobre o conjunto de operações que foram realizados até o ponto em que o novo líder assume requisito é alcançado se as RM estão organizadas como um grupo e a réplica primária utiliza visão síncrona de grupo para comunicar updates O sistema permanece linearizável após a queda do servidor primário

35 35 Replicação ativa RM C FE RM FE C RM Instructor s Guide for Coulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5 Pearson Education 2012

36 36 Replicação ativa 1. Comunicação: a requisição contém um identificador único e é enviada por multicast confiável ordenado a todos os RM 2. Coordenação: comunicação de grupo garante que as requisições são entregues a cada RM na mesma ordem (pode ser em instantes físicos diferentes) 3. Execução: cada réplica executa a requisição (réplicas corretas retornam a mesma resposta) 4. Acordo/consenso: não é necessário acordo, devido às primitivas semânticas do multicast 5. Resposta: cada réplica envia a resposta diretamente para o front end

37 Tolerância à falhas na replicação ativa 37 RM exercem papeis equivalente -> respondem a uma sequencia de requisições da mesma forma Se alguma RM cai, o estado é mantido pelas demais RMs corretas Implementa consistência sequencial Ordenação total de requisições garante que todas as réplicas executem a mesma sequencia de requisições Cada requisição do front end é executada na ordem FIFO, porque o FE espera pela resposta para fazer nova requisição

38 38 Serviços de alta Disponibilidade Sistemas que oferecem serviços de alta disponibilidade Gossip Bayou Coda

39 39 Arquitetura Gossip (Fofoca) Desenvolvida para implementar serviços de alta disponibilidade por meio da replicação de dados próximos aos pontos onde os grupos de clientes precisam deles Os gerenciadores de réplicas trocam mensagens periodicamente para transmitir as atualizações que cada um recebeu dos clientes Oferece dois tipos básicos de operação: somente de leitura atualizações que modificam mais não leem o estado.

40 40 Arquitetura Gossip (Fofoca) Vantagem Clientes podem continuar a obter um serviço mesmo quando são separados do resto da rede Desde que pelo menos um gerenciador de réplica continue a funcionar na partição. Desvantagem Escalabilidade de seu sistema a medida que o número de gerenciadores de réplica aumenta, também aumenta o número de mensagens de fofoca.

41 Operações de consulta (query) e updates no serviço gossip 41 RM RM gossip RM Query, prev Val, new Update, prev Update id FE FE Query Val Update Clients

42 Operações de consulta (query) e updates no serviço gossip Requisição 2. Resposta de atualização RM 3. Coordenação 4. Execução RM gossip RM 5. Resposta de Consulta Query, prev Val, new Update, prev Update id 6. Acordo FE FE Query Val Update Clients

43 43 Carimbo de tempo Service RM Front ends propagam seus timestamps sempre que um cliente se comunica diretamente RM FE gossip Vector timestamps RM FE Clients Instructor s Guide for Coulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5 Pearson Education 2012

44 Os componentes principais do estado de uma RM gossip 44 Gossip messages Other replica managers Replica timestamp Replica log Replica manager Timestamp table Replica timestamp Update log Stable updates Value timestamp Value Executed operation table FE Updates FE OperationID Update Prev

45 45 Processamento das operações Front-end envia a requisição RM verifica se já não processou baseado na tabela de operações realizadas Se não processou, incrementa seu relógio Atribui um carimbo de tempo da operação Armazena a operação no log Verifica se a atualização é estável (ao receber as msg gossip de outros RMs) Realiza as atualizações

46 Ao receber uma mensagem Gossip 46 Integrar o log recebido com o seu próprio Aplicar as atualizações que se tornaram estáveis e não foram executadas antes Eliminar registros do log e entradas na tabela de operações executadas Quando for conhecido que as atualizações foram aplicadas por toda parte e para as quais não há perigo de repetições Entradas redundantes

47 Os componentes principais do 47 estado de uma RM gossip Gossip messages Other replica managers Replica timestamp Update log Replica timestamp Timestamp table Stable updates Replica log Value timestamp Value Replica manager Executed operation table mantém as atualizações em um log Realiza apenas atualizações consistentes com suas garantias de ordenação Mantem no log até que outras réplicas também tenham recebido a atualização FE Updates FE OperationID Update Prev

48 Os componentes principais do 48 estado de uma RM gossip Gossip messages Other replica managers Replica timestamp Replica log Carimbo de tempo vetorial Atualizações que foram aceitas pelo gerenciador de réplica Replica manager Timestamp table Replica timestamp Update log Stable updates Value timestamp Value Executed operation table FE Updates FE OperationID Update Prev

49 Os componentes principais do estado de uma RM gossip 49 Gossip messages Other replica managers Replica timestamp Replica log valor do estado da aplicação Replica manager Timestamp table Replica timestamp Update log Stable updates Value timestamp Value Executed operation table FE Updates FE OperationID Update Prev

50 Os componentes principais do 50 estado de uma RM gossip Gossip messages Other replica managers Replica timestamp Replica log carimbo de tempo vetorial que representa as atualizações refletidas no valor Replica manager Timestamp table Replica timestamp Update log Stable updates Value timestamp Value Executed operation table FE Updates FE OperationID Update Prev

51 Os componentes principais do 51 estado de uma RM gossip Gossip messages Other replica managers Replica timestamp Update log Replica timestamp Timestamp table Stable updates Replica log Value timestamp Value Contém um carimbo de tempo vetorial de todos os outros gerenciadores de réplica Replica manager Preenchido com carimbos de tempo que chegam deles em mensagens de fofoca Executed operation table FE Updates FE OperationID Update Prev

52 Os componentes principais do 52 estado de uma RM gossip Gossip messages Other replica managers Replica timestamp Timestamp table Replica log impede que uma atualização seja aplicada duas vezes contendo os identificadores únicos, Replica manager fornecidos pelo frontend Replica timestamp Update log Stable updates Value timestamp Value Executed operation table FE Updates FE OperationID Update Prev

53 53 Considerações sobre o Gossip Depende do tempo entre as mensagens gossip Muito alto: Inunda a rede Muito baixo: Pode inviabilizar sistemas de tempo real Escalabilidade R gerenciadores de réplica normalmente reúne G atualizações em uma mensagem de fofoca, então o número de mensagens trocadas é de 2 + (R 1)/G.

54 54 Bayou Garantia de disponibilidade menor que Gossip Suporta conectividade variável Permite a detecção/solução de conflitos

55 55 Bayou Mantido na forma de um banco de dados consultas e atualizações Desfaz e refaz as atualizações no banco de dados cada gerenciador de réplica receberá o mesmo conjunto de atualizações e aplicará essas atualizações de maneira tal que os bancos de dados dos gerenciadores de réplica sejam idênticos

56 Committed updates e tentative updates no Bayou 56 Atualizações são marcadas como de tentativa quando são aplicadas a um banco de dados pela primeira vez o sistema pode desfazê-las e reaplicá-las Atualizações de tentativa são colocadas em uma ordem canônica, e após aplicadas são confirmadas permanecem aplicadas em sua ordem definida.

57 Committed updates e tentative updates no Bayou 57 Committed Tentative c 0 c 1 c 2 c N t 0 t 1 t 2 t i t i+1 Tentative update t i se torna o próximo committed update E é inserido após o último committed update c N.

58 58 Considerações Bayou Voltado para aplicações de co-working Focar que o que foi feito por um usuário, não conflite com outro Maior complexidade para o desenvolvedor precisa fornecer verificações de dependência e procedimentos de integração Maior complexidade para o usuário Usuário pode lidar com dados que ainda não foram confirmados

59 59 Sistema de arquivos Coda Um sistema de arquivo distribuído com réplicas Desenvolvido na Universidade de Carnegie Melon

60 60 Arquitetura CODA Venus Cliente Vice Servidores

61 61 Estratégia de replicação do CODA Permite que a modificação dos arquivos prossiga quando a rede é particionada ou durante a operação desconectada Mantém histórico de atualização de cada réplica de arquivo Histórico baseado em carimbo de tempo Permite que conflitos em potencial possam ser detectados e submetidos à intervenção manual

62 62 Estratégias de replicação Gossip Focado em manter todos os servidores atualizados Bayou Focado em resolver conflitos Permite que usuários operem offline CODA Sistema de arquivo distribuído

63 63 Transações em dados replicados Uma transação sobre objetos replicados deve ser idêntica à dos objetos não replicados. capacidade de serialização de uma cópia Principais problemas se a requisição de um cliente pode ser tratada em qualquer um dos gerenciadores de réplica; se o gerenciador de réplica contatado por um cliente pode adiar o encaminhamento das requisições até que uma transação seja confirmada como executar um protocolo de confirmação de duas fases.

64 Arquitetura para Transações replicadas 64 Client + front end Client + front end T U deposit(b,3); getbalance(a) Replica managers B Replica managers A A A B B B Um lê/todos Escrevem Read-one/write all

65 Arquitetura para Transações replicadas 65 Estratégia preguiçosa de atualização gerenciador de réplica adia o encaminhamento das requisições de atualização para outros gerenciadores de réplica do grupo, até que uma transação seja confirmada Estratégia ávida de atualização encaminha cada requisição de atualização para todos os gerenciadores de réplica necessários dentro da transação e antes de confirmar

66 Arquitetura para Transações replicadas 66 Protocolo de confirmação de duas fases Primeira fase: coordenador envia a requisição de cancommit? para os operários, os quais a passam para os outros gerenciadores de réplica e reúnem suas respostas, antes de responder para o coordenador. Segunda fase: o coordenador envia a requisição de docommit ou doabort, a qual é passada para os membros dos grupos de gerenciadores de réplica.

67 67 Replicação Cópias disponíveis Client + front end T U Client + front end getbalance(a) deposit(b,3); B getbalance(b) deposit(a,3); Replica managers Replica managers M X A Y A P B N B O que acontece se um servidor falhar antes de replicar?

68 68 Replicação Cópias disponíveis Client + front end T U Client + front end getbalance(a) deposit(b,3); B getbalance(b) deposit(a,3); Replica managers Replica managers M X A Y A P B N B X e N falham após a operação getbalance

69 69 Replicação Cópias disponíveis Client + front end T U Client + front end getbalance(a) deposit(b,3); B getbalance(b) deposit(a,3); Replica managers Replica managers M X A Y A P B N B O controle de concorrência de A no gerenciador de réplica X não impede que a transação U atualize A no gerenciador de réplica Y. O controle de concorrência de B no gerenciador de réplica N impede que a transação T atualize B nos gerenciadores de réplica M e P

70 70 Partição de rede Client + front end withdraw(b, 4) T Network partition Client + front end deposit(b,3); U B Replica managers B B B

71 71 Partição de rede Estratégia otimista permitem atualizações em todas as partições Pode levar a inconsistências entre as partições, as quais deverão ser resolvidas quando o particionamento for reparado Estratégia pessimista limita a disponibilidade mas impede a ocorrência de inconsistências durante o particionamento

72 72 Partição de rede Em caso de partição deve-se estabelecer regras que as operações só sejam executadas em uma partição Protocolo de consenso de Quórum Um quorum é um subgrupo degerenciadores de réplica cujo tamanho proporciona a ele o direito de executar operações.

73 Protocolo Quorum Consensus Sistema de Quóruns: Conjunto de subconjuntos das réplicas, tal que quaisquer dois subconjuntos se intersectam. N réplicas -> Quórum: qualquer maioria: Q >N/2 Cada réplica guarda: valor do objeto (registo) Timestamp e versão A cópia mais atualizada mantém a versão corrente 73

74 Protocolo Quorum Consensus Operação de Leitura Envia pedido de leitura para todas as réplicas (retransmitindo-o até concluir a operação, para superar falhas temporárias na rede) Ao receber pedido, réplica responde ao cliente comvalor atual de <val,ts> Cliente aguarda resposta de um quórum Escolhe valor associado ao maior timestamp 74

75 Protocolo Quorum Consensus Operação de Escrita (2 fases leitura e escrita) Efetua pedido de leitura a todas as réplicas (ler timestamp atual) Aguarda resposta de um quórum Escolha o maior timestamp, t, e incrementa Efetua um novo pedido a todas as réplicas para escrever <novo-val, t+1> Servidores respondem ack, e apenas guardam novo-val se o timestamp for maior do que o atual Cliente aguarda acknowledge de um quórum 75

76 Protocolo Quorum Consensus Problema: Duas escritas concorrentes podem escolher o mesmo timestamp Solução: timestamp = <Nº seq., client-id> 76

77 Cenários para o protocolo Quorum concensus de Gifford 77 Example 1 Example 2 Example 3 Latency Replica (milliseconds) Replica Replica Voting Replica configuration Replica Replica Quorum R sizes W Derived performance of file suite: Read Latency Blocking probability Write Latency Blocking probability

78 Protocolo Quorum Consensus de Gifford 78 Vantagens: Primeiro protocolo que tolera falhas silenciosas em sistemas assíncronos Réplica que falhe temporariamente e recupera está imediatamente pronta para participar Ficará naturalmente atualizada quando receber próximo pedido de escrita Desvantagens: À medida que os nós falham, há uma degradação da disponibilidade. Quoruns são grandes

79 79 Concluindo Replicação visa aumentar a disponibilidade do sistema As réplicas devem manter consistência entre si A replicação pode ser passiva ou ativa Transações com dados replicados podem usar replicação passiva Em caso de partição, protocolo consensus permite as operações nas cópias disponíveis

80 80 Questões Replicação Vinícius Fernandes Soares Mota

falhas em sistemas distribuídos

falhas 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 mais

falhas em sistemas distribuídos

falhas 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 mais

SISTEMAS DISTRIBUÍDOS

SISTEMAS 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 mais

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064

Sistemas 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 mais

APLICAÇÕES EM SISTEMAS DISTRIBUÍDOS Prof. Ricardo Rodrigues Barcelar

APLICAÇÕ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 mais

Sistemas Distribuídos Capítulo 8 - Aula 15

Sistemas 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 mais

Aluísio Augusto Silva Gonçalves 17 de maio de 2018

Aluí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 mais

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064

Sistemas 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 mais

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064

Sistemas 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 mais

Replicação. Protocolos. June 2, 2010

Replicaçã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 mais

Sincronização e Concorrência

Sincronizaçã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 mais

Universidade Federal do Maranhão

Universidade Federal do Maranhão Universidade Federal do Maranhão Banco de Dados II Banco de Dados Distribuídos Carlos Eduardo Portela Serra de Castro * Sumário Introdução Vantagens Projeto de Bases de Dados Distribuídas Classificação

Leia mais

Arquiteturas Tolerantes a faltas em Sistemas Distribuídos Sistemas Distribuídos

Arquiteturas Tolerantes a faltas em Sistemas Distribuídos Sistemas Distribuídos Arquiteturas Tolerantes a faltas em Sistemas Distribuídos Replicação Replicação Conceito simples: manter cópias dos dados em múltiplos computadores Exemplos do nosso dia a dia? Page 1 1 Replicação: que

Leia mais

Sistemas Distribuídos. Capítulo 7 - Aula 16

Sistemas Distribuídos. Capítulo 7 - Aula 16 Sistemas Distribuídos Aula Passada Capítulo 7 - Aula 16 Comunicação Confiável de Grupo Multicast Atômico Sincronia Virtual Ordenação de Mensagens Recuperação Aula de hoje Modelos de Consistência Protocolos

Leia mais

Sistemas Distribuídos Capítulo 8 - Aula 14

Sistemas 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 mais

Bancos de Dados Distribuídos. Gabriel Resende Gonçalves 4 de fevereiro de 2014

Bancos de Dados Distribuídos. Gabriel Resende Gonçalves 4 de fevereiro de 2014 Bancos de Dados Distribuídos Gabriel Resende Gonçalves 4 de fevereiro de 2014 Sumário Introdução; Vantagens e Desvantagens; Regras Básicas; Tipos de BDDs; Processamento de Transações; Recuperação de Falhas;

Leia mais

Sistemas de arquivos distribuídos. ECO036 - Sistemas Paralelos e Distribuídos

Sistemas de arquivos distribuídos. ECO036 - Sistemas Paralelos e Distribuídos Sistemas de arquivos distribuídos ECO036 - Sistemas Paralelos e Distribuídos Sistemas de arquivos distribuídos - Daniel Nogueira 20938 - Felipe Castro Simões 21525 Sumário 1. Introdução 2. Sistemas de

Leia mais

Arquitetura Cliente-Servidor Generalizada com identificação de tiers. Arquitetura Cliente-Servidor Generalizada com identificação de tiers

Arquitetura Cliente-Servidor Generalizada com identificação de tiers. Arquitetura Cliente-Servidor Generalizada com identificação de tiers Projeto de Sistemas Distribuídos Prof João Paulo A Almeida (@infufesbr) Projeto de Sistemas Distribuídos Até agora consideramos apenas a infraestrutura para a construção de aplicações distribuídas (middleware)

Leia mais

AULA ANTERIOR: MODELOS FUNDAMENTAIS

AULA 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 mais

Replicação. Cleide Luzia Bonfim Possamai 03/05/2018

Replicação. Cleide Luzia Bonfim Possamai 03/05/2018 Replicação Cleide Luzia Bonfim Possamai 03/05/2018 Agenda Conceito Motivação Principais abordagens Replicação single-leader Replicação multi-leader Replicação leaderless Modelos de consistência Conclusão

Leia mais

Arquiteturas Tolerantes a faltas em Sistemas Distribuídos Sistemas Distribuídos

Arquiteturas Tolerantes a faltas em Sistemas Distribuídos Sistemas Distribuídos Arquiteturas Tolerantes a faltas em Sistemas Distribuídos Replicação Replicação Conceito simples: manter cópias dos dados em múltiplos computadores Exemplos do nosso dia a dia? Page 1 1 Replicação: que

Leia mais

Sistemas Distribuídos Aspectos de Projeto de SD. Aspectos de Projeto em SD. Transparência 14/03/12. ! Transparência; ! Abertura; !

Sistemas Distribuídos Aspectos de Projeto de SD. Aspectos de Projeto em SD. Transparência 14/03/12. ! Transparência; ! Abertura; ! Sistemas Distribuídos Aspectos de Projeto de SD Prof. Msc. André Luiz Nasserala Pires nassserala@gmail.com Aspectos de Projeto em SD! Transparência;! Abertura;! ;! Heterogeneidade;! Segurança;! Tratamento

Leia mais

SISTEMAS DISTRIBUÍDOS E TOLERÂNCIA A FALHAS MESTRADO DE ENGENHARIA INFORMÁTICA 2013/2014 DOCENTE: PROF. DRª. PAULA PRATA

SISTEMAS DISTRIBUÍDOS E TOLERÂNCIA A FALHAS MESTRADO DE ENGENHARIA INFORMÁTICA 2013/2014 DOCENTE: PROF. DRª. PAULA PRATA SISTEMAS DISTRIBUÍDOS E TOLERÂNCIA A FALHAS MESTRADO DE ENGENHARIA INFORMÁTICA 2013/2014 DOCENTE: PROF. DRª. PAULA PRATA A DISTRIBUTED PROTOCOL FOR ENSURING REPLICATED DATABASE CONSISTENCY IN MOBILE COMPUTING

Leia mais

(Broadcast - um emissor envia a mensagem para todos os nós do sistema) Multicast um emissor, um grupo de processos como receptores

(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 mais

Sistemas Distribuídos. maio de simbolopuc

Sistemas Distribuídos. maio de simbolopuc Sistemas Distribuídos maio de 2017 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 mais

Sistemas Distribuídos Estados globais. Vinícius Fernandes Soares Mota

Sistemas 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 mais

SISTEMAS DISTRIBUÍDOS

SISTEMAS DISTRIBUÍDOS SISTEMAS DISTRIBUÍDOS Sincronização Slide 7 Nielsen C. Damasceno Introdução Utilizando Sistemas Distribuídos, uma grande dificuldade que temos é como garantir o acesso exclusivo a um recurso compartilhado,

Leia mais

Sistemas Distribuídos. abril de simbolopuc

Sistemas 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 mais

Aula 04. Evandro Deliberal

Aula 04. Evandro Deliberal Aula 04 Evandro Deliberal evandro@deljoe.com.br https://www.linkedin.com/in/evandrodeliberal O que é Replicação repetir ou repetir-se por produção ou multiplicação = reproduzir Definição Mecanismo que

Leia mais

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064

Sistemas 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 mais

Sistemas 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 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 mais

Seminário apresentado em 29/06/2017 Disciplina: Sistemas Distribuídos Professora: Noemi Rodriguez Aluno: Ricardo Dias

Seminário apresentado em 29/06/2017 Disciplina: Sistemas Distribuídos Professora: Noemi Rodriguez Aluno: Ricardo Dias Seminário apresentado em 29/06/2017 Disciplina: Sistemas Distribuídos Professora: Noemi Rodriguez Aluno: Ricardo Dias Visão Geral Alta disponibilidade & tolerante a falhas Banco de dados distribuído de

Leia mais

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

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 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 mais

Sistemas Distribuídos. abril de 2015

Sistemas Distribuídos. abril de 2015 Sistemas Distribuídos abril de 2015 Motivação tolerância a falhas disponibilidade desempenho proximidade divisão da carga de trabalho: escalabilidade Consistência Se várias copias de um serviço estão disponíveis,

Leia mais

Tolerância a Falhas com Máquinas de Estado

Tolerâ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 mais

Transacções Atómicas Distribuídas

Transacçõ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 mais

Sumário. 1 Caracterização de Sistemas Distribuídos 1. 2 Modelos de Sistema Redes de Computadores e Interligação em Rede 81

Sumário. 1 Caracterização de Sistemas Distribuídos 1. 2 Modelos de Sistema Redes de Computadores e Interligação em Rede 81 Sumário 1 Caracterização de Sistemas Distribuídos 1 1.1 Introdução 2 1.2 Exemplos de sistemas distribuídos 3 1.3 Tendências em sistemas distribuídos 8 1.4 Enfoque no compartilhamento de recursos 14 1.5

Leia mais

Sistemas Distribuídos Aula 15

Sistemas 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 mais

Sistemas Distribuídos

Sistemas 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 mais

Projeto de Sistemas Distribuídos. Considerações

Projeto de Sistemas Distribuídos. Considerações Projeto de Sistemas Distribuídos Considerações Projeto de Sistemas Distribuídos Problemas Objetivos Requisitos de usuário Como são estruturados? 2 Problemas-chave Nomeação Alocação de carga Manutenção

Leia mais

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

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 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 mais

Bancos de Dados Distribuídos. Lucas Henrique Samuel Queiroz

Bancos de Dados Distribuídos. Lucas Henrique Samuel Queiroz Bancos de Dados Distribuídos Lucas Henrique Samuel Queiroz O que é Uma coleção de nós interconectados via rede. Cada nó da rede possui um banco de dados local. Em conjunto atuam como um único sistema de

Leia mais

Sistemas 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. 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 mais

Sistemas Distribuídos. 13 Transações Distribuídas. Transações Distribuídas. Prof a Ana Cristina B. Kochem Vendramin DAINF / UTFPR

Sistemas Distribuídos. 13 Transações Distribuídas. Transações Distribuídas. Prof a Ana Cristina B. Kochem Vendramin DAINF / UTFPR Sistemas Distribuídos 13 Transações Distribuídas n Transações Distribuídas Prof a Ana Cristina B. Kochem Vendramin DAINF / UTFPR Introdução Uma transação define uma sequência de operações. Objetivo: permitir

Leia mais

Aula 03. Evandro Deliberal

Aula 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 mais

Sumário. Recuperação de Falhas

Sumário. Recuperação de Falhas Sumário 1 Introdução ao Processamento de Consultas 2 Otimização de Consultas 3 Plano de Execução de Consultas 4 Introdução a Transações 5 Recuperação de Falhas 6 Controle de Concorrência 7 Fundamentos

Leia mais

Arquitecturas Tolerantes a faltas em Sistemas Distribuídos

Arquitecturas 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 mais

Sistemas Distribuídos Aula 16

Sistemas 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 mais

Sincronização em Sistemas Distribuídos

Sincronizaçã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 mais

Tolerância a Falhas. Reliable Broadcast e Atomic Commitment. June 2, 2010

Tolerância a Falhas. Reliable Broadcast e Atomic Commitment. June 2, 2010 Tolerância a Falhas Reliable Broadcast e Atomic Commitment June 2, 2010 Sumário Difusão/Multicast Fiável Multicast Fiável em Grupos Dinâmicos Multicast: Aplicação à Replicação Atomic Commitment Two-phase

Leia mais

Sistemas Distribuídos Capítulo 8 - Aula 13

Sistemas 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 mais

Computação Distribuída

Computação Distribuída Aula 1 Introdução aos Sistemas Distribuídos Anos 50 - Sistemas Operacionais tipo Lote Aumentar a capacidade de processamento de programas Usuário ia ao computador Processamento Seqüencial Leitoras de cartões

Leia mais

SISTEMAS DISTRIBUÍDOS

SISTEMAS DISTRIBUÍDOS SISTEMAS DISTRIBUÍDOS Capítulo 7 - Tempo e ordenação de eventos Material de suporte às aulas de Sistemas Distribuídos Copyright DI FCT/ UNL / 1 NOTA PRÉVIA A estrutura da apresentação é semelhante e utiliza

Leia mais

Tempos e Estados Globais. ECO036 - Sistemas Paralelos e Distribuídos

Tempos 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 mais

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos Motivação Aplicações Motivam Possibilita Engenharia Motivação! Aplicações cada vez mais complexas! Qual a técnica mais comum para redução de complexidade? " Modularização Dividir

Leia mais

Consistência e replicação. capítulo

Consistência e replicação. capítulo Consistência e replicação capítulo 7 (i) Razões para replicação Confiança: Se um sistema de arquivos foi replicado, caso uma replica deixe de funcionar, é esperado que ele continue trabalhando normalmente

Leia mais

Departamento 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 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 mais

Sincronização em Sistemas Distribuídos

Sincronização em Sistemas Distribuídos Sincronização em Sistemas Distribuídos Universidade Federal do ABC Turma: Ciência da Computação Prof. Dr. Francisco Isidro Massetto Sincronização Como as regiões críticas são implementadas em um SD? Como

Leia mais

Transações e Controle de Concorrência Replicação de Arquivos e Tolerância a Falhas Grupo 15

Transações e Controle de Concorrência Replicação de Arquivos e Tolerância a Falhas Grupo 15 Transações e Controle de Concorrência Replicação de Arquivos e Tolerância a Falhas Grupo 15 Cláudia Macedo Amorim Tamer Albuquerque Pereira Sumário: Parte I Transações e Controle de Concorrência 1. Introdução

Leia mais

Grupo I [7,5v] {H(M)}K1, {K2}K3, {M}K4

Grupo I [7,5v] {H(M)}K1, {K2}K3, {M}K4 Número: Nome: Página 1 de 7 LEIC/LETI, 2014/15, Repescagem do 2º Teste de Sistemas Distribuídos 30 de Junho de 2015 Responda no enunciado, apenas no espaço fornecido. Identifique todas as folhas. Duração:

Leia mais

Projeto de Sistemas Distribuídos. Considerações

Projeto de Sistemas Distribuídos. Considerações Projeto de Sistemas Distribuídos Considerações Projeto de TI em Camadas Infraestrutura Gestão Integração Colaboração Hardware Software: sistemas operacionais, SGBDs, middleware (serviços), middleware (integração

Leia mais

Sistemas entre Pares e Redes Sobrepostas

Sistemas entre Pares e Redes Sobrepostas Redes estruturadas: CAN 1 ricardo.pereira@inesc-id.pt IST 21-10-2009 1 Imagens retiradas de A Scalable Content Addressable Network por Sylvia Ratnasamy, Paul Francis, Mark Handley, Richard Karp, Scott

Leia mais

Exclusã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. 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 mais

Características de Sistemas Distribuídos

Características de Sistemas Distribuídos Características de Sistemas Distribuídos Carlos Ferraz cagf@cin.ufpe.br 2002-2003 Carlos A. G. Ferraz 2 Tópicos O conceito de Sistemas Distribuídos Infra-estrutura básica Exemplos Vantagens e desvantagens

Leia mais

Exclusã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. 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 mais

Consistência. ncia. Sistemas Distribuídos e Tolerância a Falhas. Trabalho realizado por:

Consistê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 mais

Grupo I [8v] b. [0,8v] Apresente o pseudo-código do algoritmo que U executa para validar a assinatura que recebe.

Grupo 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 mais

Tolerância a Faltas. Page. Sistema Computacional. Sistema Computacional. Sistema Computacional

Tolerâ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 mais

Departamento de Engenharia Informática. Tolerância a Faltas. 8/28/2003 José Alves Marques

Departamento 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 mais

Sistemas Distribuídos

Sistemas 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 mais

Barramento. Prof. Leonardo Barreto Campos 1

Barramento. Prof. Leonardo Barreto Campos 1 Barramento Prof. Leonardo Barreto Campos 1 Sumário Introdução; Componentes do Computador; Funções dos Computadores; Estrutura de Interconexão; Interconexão de Barramentos Elementos de projeto de barramento;

Leia mais

Consistência e Replicação

Consistê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 mais

Redes P2P. Apresentadora: Luciana Pereira Oliveira. Duração: 40 minutos Data: 20/07/

Redes P2P. Apresentadora: Luciana Pereira Oliveira. Duração: 40 minutos Data: 20/07/ Redes P2P Apresentadora: Luciana Pereira Oliveira lpo@cin.ufpe.br www.cin.ufpe.br/~lpo Duração: 40 minutos Data: 20/07/2004 Roteiro Introdução Características Arquiteturas Estudo de caso (CHORD) Aplicações

Leia mais

Bruno Antunes da Silva UFSCar - Sorocaba

Bruno Antunes da Silva UFSCar - Sorocaba Bruno Antunes da Silva UFSCar - Sorocaba Introdução HDFS Arquitetura Leitura e escrita Distribuição de nós Controle de réplicas Balancer MapReduce Conclusão Aplicações web com grandes quantidades de dados

Leia mais

Transacções em Sistemas Distribuídos

Transacçõ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 mais

Banco de Dados I 6 Transações e Controle de Concorrência

Banco de Dados I 6 Transações e Controle de Concorrência Banco de Dados I 6 Transações e Controle de Concorrência Grinaldo Lopes de Oliveira (grinaldo( grinaldo@gmail.com) Curso Superior de Tecnologia em Análise e Desenvolvimento de Sistemas * Material com créditos

Leia mais

PROGRAMA DE DISCIPLINA

PROGRAMA DE DISCIPLINA DIVISÃO DE ASSUNTOS ACADÊMICOS Secretaria Geral de Cursos PROGRAMA DE DISCIPLINA DEPARTAMENTO DE CIÊNCIAS EXATAS CÓDIGO: EXA832 DISCIPLINA: SISTEMAS DISTRIBUÍDOS CARGA HORÁRIA: 60h EMENTA: Conceitos e

Leia mais

Banco de Dados I. Aula 18 - Prof. Bruno Moreno 22/11/2011

Banco de Dados I. Aula 18 - Prof. Bruno Moreno 22/11/2011 Banco de Dados I Aula 18 - Prof. Bruno Moreno 22/11/2011 Plano de Aula Introdução SPT Sistemas monousuários e multiusuários Sistemas multiprogramados Transação - Definição Concorrência de Transações Log

Leia mais

Desenvolvimento de Aplicações Distribuídas

Desenvolvimento de Aplicações Distribuídas Desafios e Características Pontifícia Universidade Católica de Minas Gerais Instituto de Ciências Exatas e Informática DAD (2019/01) Tópicos Apresentação da disciplina Introdução Desafios e características

Leia mais

Replicação em sistemas web

Replicação em sistemas web Sistemas Distribuídos maio de 2015 Servidores Web tolerância a falhas desempenho/escalabilidade desempenho: uso de servidores mais potentes (scale-up x scale-out) caching Servidores Web tolerância a falhas

Leia mais

Sistema de Software Distribuído

Sistema de Software Distribuído Sistema de Software Distribuído É composto por uma sequência de instruções, que é interpretada e executada por um processador É composto por instruções concorrentes ou paralelas, que são interpretadas

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos Unitri Prof: Carlos Eduardo de Carvalho Dantas Conceitos Sistema Distribuído é um conjunto de computadores independentes que se apresenta a seus usuários como um sistema único e coerente.

Leia mais

Sistemas de Gerência de Bancos de Dados

Sistemas de Gerência de Bancos de Dados Sistemas de Gerência de Bancos de Dados 4 - Consultas e Transações 4.4 - Gerência de Transações 1 Conceito de Transação Transação: seqüência de ações elementares que deverão ser executadas como se fossem

Leia mais

Concorrência. Sistemas Distribuídos e Tolerância a Falhas. Lia Ribeiro 1

Concorrência. Sistemas Distribuídos e Tolerância a Falhas. Lia Ribeiro 1 Concorrência Sistemas Distribuídos e Tolerância a Falhas Lia Ribeiro 1 Índice Consistência Atómica e sequencial Serializability Controle de concorrência One copy Serializability 2 Exclusão Mútua Técnica

Leia mais

Sistemas Distribuídos. Ricardo Ribeiro dos Santos

Sistemas 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 Exclusão Mútua Transações Distribuídas

Leia mais

Formação de DBAs SQL Server 2008

Formação de DBAs SQL Server 2008 Formação de DBAs SQL Server 2008 Parte 8: Banco de Dados Distribuído Computação Distribuída Um grupo de elementos autônomos de processamento (não necessariamente homogêneos) que estão interconectados por

Leia mais

BD II (SI 587) Técnicas de Recuperação. Josenildo Silva.

BD II (SI 587) Técnicas de Recuperação. Josenildo Silva. BD II (SI 587) Técnicas de Recuperação Josenildo Silva jcsilva@ifma.edu.br Nota Estes slides são baseados nos slides disponibilizados pelos autores ELMASRI e NAVATHE, para o livro Sistemas de Banco de

Leia mais

Departamento de Informática

Departamento de Informática Departamento de Informática Licenciatura em Engenharia Informática Sistemas Distribuídos 1ª chamada, 19 de Janeiro de 2011 1º Semestre, 2011/2012 NOTAS: Leia com atenção cada questão antes de responder.

Leia mais

Sistemas Distribuídos Transações

Sistemas Distribuídos Transações Sistemas Distribuídos Transações Vinícius Fernandes Soares Mota 1 2 Transações Transação: Unidade lógica de trabalho abrange um conjunto de operações de manipulação de dados que executam uma única tarefa

Leia mais

Visão do Usuário da DSM

Visão do Usuário da DSM Memória Compartilhada Distribuída Visão Geral Mecanismos tradicionais de comunicação via RPC/RMI ou mensagens deixam explícitas as interações entre processos Processos interagem para trocar dados de modo

Leia mais

Replicação de servidores

Replicação de servidores Arquiteturas Tolerantes a faltas em Sistemas Distribuídos Replicação de servidores Replicação: que benefícios nos dá? 1) Melhor desempenho e escalabilidade Replicar serviços permite que algumas operações

Leia mais

Características de Sistemas Distribuídos

Características de Sistemas Distribuídos Tópicos O conceito de Características de Carlos Ferraz cagf@cin.ufpe.br Infra-estrutura básica Exemplos Vantagens e desvantagens Convergência digital Características 2002-2003 Carlos A. G. Ferraz 2 O Conceito

Leia mais

SISTEMAS DISTRIBUÍDOS

SISTEMAS DISTRIBUÍDOS SISTEMAS DISTRIBUÍDOS Capítulo 7 - Tempo e ordenação de eventos Material de suporte às aulas de Sistemas Distribuídos Copyright DI FCT/ UNL / 1 NOTA PRÉVIA A estrutura da apresentação é semelhante e utiliza

Leia mais

Abordagem, Instalação e Realização de benchmarks para LibPaxos2 e RingPaxos

Abordagem, 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 mais

Arquiteturas para SGBD. Laboratório de Bases de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri

Arquiteturas para SGBD. Laboratório de Bases de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri Arquiteturas para SGBD Laboratório de Bases de Dados Arquitetura Centralizada Terminal responsável pela exibição dos resultados sem capacidade de processamento Computador central (mainframe) responsável

Leia mais

Protocolo Request-Reply

Protocolo 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 mais

Data Warehouse ETL. Rodrigo Leite Durães.

Data Warehouse ETL. Rodrigo Leite Durães. Data Warehouse ETL Rodrigo Leite Durães rodrigo_l_d@yahoo.com.br Introdução Um dos desafios da implantação de um DW é a integração dos dados de fontes heterogêneas e complexas, padronizando informações,

Leia mais