Arquiteturas Tolerantes a faltas em Sistemas Distribuídos Sistemas Distribuídos
|
|
- Heitor Lombardi Batista
- 6 Há anos
- Visualizações:
Transcrição
1 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
2 Replicação: que benefícios? Melhor disponibilidade O sistema mantém-se disponível mesmo quando: Alguns nós falham A rede falha, tornando alguns nós indisponíveis Melhor desempenho e escalabilidade Clientes podem aceder às cópias mais próximas de si Melhor desemepnho Caso extremo: cópia na própria máquina do cliente (cache) Algumas operações podem ser executadas apenas sobre algumas das cópias Distribui-se carga, logo maior escalabilidade Quantas falhas consegue um sistema replicado tolerar? Se as falhas forem silenciosas? Esperaríamos que f+1 réplicas tolerassem f nós em falha Basta que uma réplica correcta responda para termos o valor correcto E se os nós puderem falhar de forma bizantina? Aí pode acontecer que, entre as respostas que recebermos, até a um máximo de f podem ser erradas Logo a única alternativa é recebermos respostas iguais de pelo menos f+1 réplicas correctas Logo esperaríamos que 2f+1réplicas tolerassem fnós com falhas bizantinas Mas a realidade é mais complicada e normalmente precisamos de mais réplicas Page 2 2
3 Replicação: requisitos Transparência de replicação Utilizador deve ter a ilusão de estar a aceder a um objeto lógico Objeto lógico implementado sobre diferentes cópias físicas, mas sem que o utilizador se aperceba disso Replicação: requisitos Consistência Operações efetuadas sobre os objetos lógicos devem satisfazer a especificação de correção desses objetos Page 3 3
4 Consistência: exemplo Cópias de contas bancárias x e y mantidas em réplicas A e B Clientes invocam operações sobre uma réplica Operação executada sobre a cópia local e retorna Alteração é depois propagada à outra réplica Problema? Consistência Como definir? Page 4 4
5 Antes de começarmos... Múltiplas cópias dos dados (réplicas), dois clientes Cliente i invoca operaçõeso i0, o i1, o i2,... Operações síncronas: cliente espera pelo retorno antes de invocar próxima operação Cada réplica executa em série as operações de ambos os clientes Exemplo: o 10, o 11, o 20,o 12, o 21, o 22,o 13, o 23, o 14 As réplicas não executam necessariamente as operações na mesma ordem Linearizabilidade Captura uma execução possível caso o sistema não fosse replicado Um sistema replicado diz-se linearizável sse: Existe uma serialização virtual que: É correta segundo a especificação dos objetos, e Respeitao tempo realemqueas operaçõesforam invocadas A execuçãoobservada porcadacliente é consistente com essaserializaçãovirtual (para todos os clientes) Istoé, osvaloresretornados nasleiturassãoos mesmos Page 5 5
6 Este exemplo é linearizável? Para responder, procurar uma serialização virtual que cumpra as condições anteriores Este exemplo é linearizável? Page 6 6
7 Consistência sequencial Condição mais fraca, porquê? Um sistema replicado diz-se sequencialmente consistente sse: Existe uma serialização virtual que: É correta segundo a especificação dos objetos, e Respeitao tempo reala ordemdo programade cada cliente A execuçãoobservada porcadacliente é consistente com essaserializaçãovirtual (para todos os clientes) Consistência sequencial Permite implementações mais realistas que linearizabilidade Para a maioria das aplicações, consistência sequencial é suficiente Daqui para a frente tentaremos construir soluções que ofereçam esta garantia Page 7 7
8 Este exemplo é sequencialmente consistente? Sistemas replicados Page 8 8
9 Model arquitetural base Requests and replies C FE RM RM Clients Front ends Service C FE RM Replica managers As cinco fases de uma invocação num sistema replicado Pedido O front end enviao pedidoa um oumaisgestoresde réplica Coordenação Osgestoresde réplicascoordenam-se para executaremo pedido consistentemente Execução Cadagestorde réplicaexecutao pedido Acordo Osgestoresde réplicasacordamqualo efeitodo pedido Resposta Um oumaisgestoresde réplicarespondemaocliente Diferentes soluções podem omitir ou reordenar algumas fases. Page 9 9
10 Pressupostos nos slides seguintes Processos podem falhar silenciosamente Ou seja, não há falhas arbitrárias de processos Operações executadas em cada gestor de réplica não deixam resultados incoerentes caso falhem a meio Replicação total Cada gestor de réplica mantém cópia de todos os objetos lógicos Conjunto de gestores de réplica é estático e conhecido a priori Replicação Passiva vs. Activa Replicação Passiva ( primarybackup ) Os clientes interatuam com um servidor principal. Os restantes servidores estão de reserva (backups), quando detetam que o servidorprimário falhou, um deles torna-se o primário; Politica de Recuperação da falta Replicação Ativa Todos os servidores recebem pela mesma ordem os pedidos dos clientes, efetuam a operação, determinam qual o resultado corretopor votação, e respondem ao cliente. Política de Compensação da falta 2014 Sistemas Distribuídos Page 10 10
11 Replicação Passiva Replicação passiva: arquitectura C Serviço de Nomes FE Primary RM RM Backup C FE RM Backup Page 11 11
12 Um Protocolo Simples de Replicação Passiva Resposta Acordo Exec. Coordenação Pedido FE envia pedido aoprimário Usando semântica no-máximo-1-vez Primário ordenaospedidos porordemde chegada Se pedido repetido, devolve resposta já guardada Primário executa pedido e guarda resposta Primário enviaaossecundários: (novo estado, resposta, id.pedido) Primário responde aofront end, queretorna ao cliente Que simplificações possíveis com operações determinísticas? Deteção da falha do primário Solução com 1 secundário apenas Primário enviamensagens I m alive cadap unidades de tempo Se o secundário nãorecebermensagem I m alive apósexpirar um temporizador, torna-se o primário: Avisaosfront endse/ouo registode nomes Começa a processar os pedidos Se front end fez pedido e nãorecebeuresposta, reenvia o pedido para o novo primário Page 12 12
13 FE Exemplo P 1 3 P 1 4 P 2 Mensagens de Prova de vida t max 2 1 Mensagem do cliente 2 Mensagem de update do secundário 3 Resposta ao cliente Em que instante P 2 pode assumir que é o primário? Pressupostos O que pode acontecer se falharem estes pressupostos? A comunicação é fiável o transporte recupera de faltas temporárias de comunicação e não há faltas permanentes; Sistema síncrono; em particular, são conhecidos os limites máximos para: Tempo de transmissão de uma mensagem na rede (tmax) Tempo de processamento de pedido; Taxa de desvio dos relógios locais A rede assegura uma ordem FIFO na comunicação Nós só têm faltas por paragem silenciosa A semântica de invocação dos RPC é no-máx-1-vez Page 13 13
14 Solução garante consistência sequencial? Numa situação sem falhas do primário? Sim, pois clientes interagem apenas com uma réplica (do primário) E caso o primário falhe e seja substituído por secundário? Mais complicado de analisar Cenários de Falha do primário (I) FE P S 1 /P O S 2 tem de ser colocado em funcionamento com a base de dados consistente a partir de S 1 2 New S 2 Sequencialmente consistente Page 14 14
15 Cenários de Falha do primário (II) FE P S 1 /P FE New S 2 Sequencialmente consistente Cenários de Falha do primário (III) FE P S 1 /P New S Necessário que o FE reenvie o pedido com semântica nomáx-1-vez e receberá a resposta do secundário, que foi actualizado correctamente Sequencialmente consistente Page 15 15
16 Cenários de Falha do primário (IV) FE P S 1 /P O sistema ficou consistente O news tem de ser colocado em funcionamento com a base de dados consistente a partir de S1 New S 2 Sequencialmente consistente E se houver múltiplos secundários simultâneos? Após deteção da falha do primário, secundários disponíveis elegem o novo primário Mais complicado Necessário assegurar que todos os secundários elegem o mesmo primário Matéria fora do âmbito das teóricas de SD Page 16 16
17 Como medir os custos da replicação? Grau de replicação: número de servidores usados para implementar o serviço Tempo de resposta (blocking time): tempo máximo entre um pedido e a sua resposta, no período sem falhas Tempo de recuperação (failover time): Tempo desde falha do primário até clientesernotificadodo novo primário Objectivo: assumindo que f componentes podem falhar, minimizar as métricas acima Custos da nossa solução? Pensar em casa! 2014 Sistemas Distribuídos Page 17 17
18 Custos da nossa solução Custos Grau de replicação: óptimo f+1 réplicas toleram f faltas Tempo de resposta: 2*t max ignorando tempo de processamento Tempo de recuperação: P+3*t max Desde falha até cliente ser notificado Assumindo situação mínima em que o secundário avisa o cliente; com um servidor de nomes é mais demorado Assumindo taxa de desvio dos relógios é nula 2014 Sistemas Distribuídos 2º Projeto de SD Aplicar replicação passiva ao RegistoFatura Detalhes sairão na próxima semana Que alterações implica sobre o projeto? Page 18 18
19 Replicação Ativa Replicação Activa RM C FE RM FE C RM Page 19 19
20 Protocolos de replicação ativa As réplicas são todas idênticas e executam em paralelo o mesmo serviço como máquinas de estado determinísticas FE do cliente envia mensagem aos gestores de réplica Cada gestor executa a mensagem e envia a resposta O FE espera por um conjunto de respostas e retorna uma delas Por quantas respostas precisa o FE esperar? Se chegarem respostas diferentes, qual escolher? Tentemos construir um protocolo de replicação ativa Page 20 20
21 Modelo de interação/faltas que assumiremos Sistema assíncrono em que: Mensagens não se perdem mas podem chegar arbitrariamente atrasadas Não há garantia de recepção FIFO Réplicas podem falhar silenciosamente Simplificação: Interface leitura/escrita de registo Sistema replica apenas um registo Por exemplo, um inteiro Suporta apenas duas operações Leitura do registo replicado val = read( ); Escrita no registo replicado ack = write(new_val); Queremos garantir consistência sequencial Page 21 21
22 Uma solução hipotética: Protocolo write-all-avaliable Protocolo write-all-avaliable Para escrever, o FE: Envia pedido de escrita para todas as réplicas Cada réplica que recebe o pedido, escreve o novo valor sobre o seu registo local e responde ack Quando receber ack de pelo menos uma réplica, FE dá a escrita como terminada Para ler, o FE: Envia pedido de leitura para todas as réplicas Cada réplica que recebe o pedido responde com o valor actual do registo local Cliente espera pela primeira resposta e retorna-a Page 22 22
23 Write-all-available: vantagens aparentes Grau de replicação óptimo: f+1 réplicas toleram f falhas Tanto para efectuar escritas como leituras Operações muito rápidas Basta receber a primeira resposta e FE retorna Tipicamente, a primeira resposta chega da réplica mais próxima do cliente e/ou menos sobrecarregada Um caso particularmente interessante é quando existe uma réplica na mesma máquina do cliente Write-all-avaliable parece ter grau de replicação óptimo mas O que pode acontecer caso uma réplica não receba um pedido de escrita e depois responda a leitura? Em caso de mensagem perdida, atrasada ou falha temporária da réplica Réplica pode levar FE a retornar leitura inconsistente! Mesmo quando não há falhas, o que pode correr mal? Se houver múltiplos pedidos de escrita concorrentes, réplicas podem ficar inconsistentes e leituras posteriores retornarem 2013 valores diferentes! Sistemas Distribuídos Page 23 23
24 Uma solução hipotética: Protocolo write-all-avaliable Uma melhor solução: Protocolo Quorum Consensus Page 24 24
25 Protocolo Quorum Consensus Sistema de Quóruns: conjunto de sub-conjuntos das réplicas, tal que quaisquer dois sub-conjuntos se intersetam Por exemplo: Quórum ser qualquer maioria, Q >N/2 Cada réplica guarda: valor do objecto(registo) respectivo timestamp, ts Protocolo Quorum Consensus Operação de Leitura FE enviapedidode leiturapara todasas réplicas No-máximo-1-vez Ao receber pedido, réplica responde ao cliente com valor actual de <val,ts> Cliente aguarda resposta de um quórum Escolhe valor associado ao maior timestamp Page 25 25
26 Pedido Coord. Respost + exec. a Quorum Consensus Escrita assumindo escritor único FE do escritormantém número de sequência, seq Operação de Escrita: ts= ++seq FE envia write(novo-val, ts) a todas as réplicas (Servidores respondem ack, e apenas guardam novo-valse o timestamp for maiordo queo actual) FE escritor aguarda acknowledge de um quórum Assim que tiver acknowledge de um quórum retorna ao cliente Garante consistência sequencial? Exemplo c c calcula t 1 = <t 0.seq#+1, cid> r1 x r1 r2 r3 x r2 r3 Fase de Leitura Lê <v 0,t 0 > Fase de Escrita Escreve <v 1,t 1, > Oper. de Leitura Lê <v 1,t 1 > Oper. de Escrita do valor v 1 Sequencialmente consistente Page 26 26
27 Quorum Consensus Versão múltiplos escritores/leitores Timestamp passa a ser <Nº seq., client-id> Assume-se quecadafe tem um client-id único Aocompararde timestamps, comparamoso nºseq.; em caso de empate, client-id desempata Quorum Consensus Versão múltiplos escritores/leitores Operaçãode Escrita(2 fases leitura e escrita): FE efectuapedidode leituraa todasas réplicas(ler timestamp actual) Aguarda resposta de um quórum Escolha o nºseq. do maior timestamp Efectuaum umnovo pedidoa todasas réplicas para escrever <novo-val, <nºseq+1, client-id>> (Servidores respondem ack, e apenas guardam novo-valse o timestamp for maiordo queo actual) FE aguardaacknowledge de um quórum antes de retornar ao cliente Page 27 27
28 Variantes ao protolo: pesos variáveis Cada réplica tem um peso não negativo Soma total de pesos é conhecida a priori Um quórum passa a ser qualquer conjunto de réplicas tal que a soma do peso do quórum é superior a (peso total do sistema)/2 Interessante porque permite dar maior peso a réplicas mais fiáveis, com melhor conectividade ou maior poder computacional Variantes ao protocolo: Quóruns de leitura e escrita O peso exigido para cada tipo de operação passa a ser distinto: read threshold (RT) para leituras write threshold(wt) para escritas Estes parâmetros têm de assegurar que: 2WT > peso total do sistema, e RT + WT > peso total do sistema Interessante porque permite optimizar uma operação, à custa da outra Por exemplo, em sistemas em que as leituras são mais frequentes, podemos ter RT << WT Page 28 28
29 Quorum Consensus: Vantagens? Primeiro protocolo que aprendemos que tolera falhas silenciosas em sistemas assíncronos Réplica que falhe temporariamente e recupera está imediatamente pronta para participar Ficará naturalmente actualizada quando receber próximo pedido de escrita Quorum Consensus: Desvantagens? Protocolo caro : exige muitas réplicas para tolerar número curto de falhas Com quóruns de maioria, precisamos de 2*f+1 réplicas para tolerar f falhas de réplicas Leituras implicam respostas de múltiplas réplicas Em muitos sistemas, leituras são predominantes, logo o ideal seria permitir que leitura retornasse após resposta de uma réplica apenas Uma hipótese para conseguir isso seria definir WT máximo, mas aí deixaríamos de tolerar qualquer falha em escritas Page 29 29
30 Para além do Quorum Consensus Suporte a interfaces genéricas Uso de transações distribuídas Veremos mais à frente no semestre Tolerância a f gestores de réplica bizantinos Várias soluções disponíveis, normalmente baseadas em replicação ativa Quóruns maiores, pois é necessário acautelar o pior caso: mesmo que o quórum contenha as f réplicas bizantinas, há também réplicas corretas em número suficiente no quórum Mensagens autenticadas, para evitar que réplicas bizantinas enviem mensagens em nome de réplicas corretas Para além do Quorum Consensus Melhor eficiência nos acessos de leitura Combinar técnicas de protocolos anteriores Exemplo: protocolos de virtual partition Na operação normal, usa-se write-all dentro do conjunto de gestores de réplica Quorum consensus usado apenas quando há suspeita de falha de gestor de réplica Usado para que restantes gestores acordem em retirar o gestor suspeito de falha do grupo Grupo chama-se view e este caso chama-se view change Page 30 30
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 maisReplicaçã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 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 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 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 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 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 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 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 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 maisReplicaçã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 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 maisSistemas 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 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 maisSistemas 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 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 Replicação. Vinícius Fernandes Soares Mota
Sistemas Distribuídos Replicação Vinícius Fernandes Soares Mota 1 2 O Papel da replicação Melhorando serviços com dados replicados 3 Balanceamento de carga carga de trabalho é compartilhada entre servidores
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 maisProjecto hipotético para resolvermos hoje
Projecto hipotético para resolvermos hoje 12/13 Sistemas Distribuídos 1 Projecto hipotético para resolvermos hoje Implementar servidor de contagem que mantém contador e oferece estas operações aos clientes:
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 maisTécnicas para obtenção de Tolerância a Falhas
Técnicas para obtenção de Tolerância a Falhas Tolerância a falhas / defeitos Bibliografia H. Kopetz, Design Principles for Distributed Embedded Applications, Kluwer Academic Publishers, 1997. 1 Tolerância
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 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 maisTolerância a Faltas. Departamento de Engenharia Informática
Tolerância a Faltas Departamento de Engenharia Informática Índice Terminologia Falta, erro, falha Fiabilidade, disponibilidade Replicação Sistema Computacional Sistema computacional: Formado por um conjunto
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 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 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 maisBancos 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 maisSistemas 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 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 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 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 maisAula 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 maisSistemas 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 maisSistemas Distribuídos
Sistemas Distribuídos LICENCIATURA EM COMPUTAÇÃO Prof. Adriano Avelar Site: www.adrianoavelar.com Email: eam.avelar@gmail.com 1. Que são sistemas abertos? É um sistema que oferece serviços de acordo com
Leia maisDepartamento 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 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 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 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 maisSISTEMAS 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 maisSISTEMAS DISTRIBUÍDOS
SISTEMAS DISTRIBUÍDOS Capítulo 7 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 maisGrupo 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 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 maisSistemas Distribuídos
Introdução: Comunicação, e Coordenação março de 2015 Comunicação entre Processos troca de mensagens é sempre a primitiva básica sobre essa primitiva podemos construir outras visões da comunicação Mensagens
Leia maisProcessamento Paralelo
Processamento Paralelo por Helcio Wagner da Silva Introdução Tradicionalmente, o computador tem sido visto como uma máquina seqüencial Esta visão nunca foi completamente verdadeira No nível das µo, vários
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 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 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 maisNúmero: Nome: Página 1 de 8
Número: Nome: Página 1 de 8 LETI/LEIC 2017/18, Repescagem do 2º Teste de Sistemas Distribuídos 3 de julho de 2018 Responda no enunciado, usando apenas o espaço fornecido. Identifique todas as folhas. Uma
Leia maisEvandro Deliberal Aula 04
Evandro Deliberal evandro@deljoe.com.br https://www.linkedin.com/in/evandrodeliberal http://www.deljoe.com.br/professor Aula 04 Agenda PARTE III Continuidade de Negócios Introdução à Continuidade de Negócios
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 maisProjeto 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 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 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 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 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 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 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 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. 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 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 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 maisSistemas 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 maisTolerâ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 maisSSC546 -Avaliação de Desempenho de Sistemas
Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Sistemas de Computação SSC546 -Avaliação de Desempenho de Sistemas Parte 1 -Aula 2 Sarita Mazzini Bruschi Material
Leia maisConcorrê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 maisRede de computadores Cliente- servidor. Professor Carlos Muniz
Rede de computadores Professor Carlos Muniz Definição Cliente-servidor é um modelo computacional que separa clientes e servidores, sendo interligados entre si geralmente utilizando-se uma rede de computadores.
Leia maisModelo de Programação Paralela
Modelo de Programação Paralela As arquiteturas paralelas e distribuídas possuem muitos detalhes Como especificar uma solução paralela pensando em todos esses detalhes? O que queremos? Eecutar a solução
Leia maisDesenvolvimento 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 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 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 maisSistemas Distribuídos e Redes de Sensores. abril de 2013
Aula 4: Comunicação: Coordenação e Sincronização abril de 2013 Comunicação entre Processos Distribuídos troca de mensagens exige coordenação receive?!?...... send............ Coordenação passos para execução
Leia maisSistemas de Ficheiros Distribuídos. Pedro Ferreira DI - FCUL
Sistemas de Ficheiros Distribuídos Pedro Ferreira DI - FCUL Serviços do Sistema de Ficheiros Revisão de alguns aspectos do serviço de ficheiros O que é um ficheiro? uma sequência não interpretada de bytes
Leia maisSistemas 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 maisSmart Proxies para Invocação de Serviços Web Replicados
Smart Proxies para Invocação de Serviços Web Replicados José Geraldo Ribeiro Júnior (CEFET-MG / PUC Minas) Orientador: Prof. Marco Túlio Valente (PUC Minas) Fevereiro 2007 Apresentação Motivação Proposta
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 maisNúmero: Nome: Página 1 de 8. Grupo I [8 valores]
Número: Nome: Página 1 de 8 LETI/LEIC 2016/17, Repescagem do 2º Teste de Sistemas Distribuídos 4 de julho de 2017 Responda no enunciado, usando apenas o espaço fornecido. Identifique todas as folhas. Uma
Leia maisBancos 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 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 maisTrabalho do Curso de Redes de Computadores COS765/MAB /1
Trabalho do Curso de Redes de Computadores COS765/MAB731 2015/1 Universidade Federal do Rio de Janeiro Rosa M.M. Leão e Daniel Sadoc Menasché Primeiro Período de 2015 1 Introdução O objetivo deste trabalho
Leia maisSistemas de Bases de Dados 2.º teste (com consulta limitada: 2 folhas identificadas) - Duração: 2 horas
DI-FCT/UNL 6 de junho de 2018 Sistemas de Bases de Dados 2.º teste (com consulta limitada: 2 folhas identificadas) - Duração: 2 horas N. º : Nome: Grupo 1 (7 valores) 1 a) Quais são as 4 propriedades ACID
Leia maisNotas da Aula 10 - Fundamentos de Sistemas Operacionais
Notas da Aula 10 - Fundamentos de Sistemas Operacionais 1. Escalonadores preemptivos Escalonadores preemptivos são aqueles que têm a capacidade de interromper a execução de um processo para realizar alterações
Leia maisSistemas Distribuídos
Sistemas Distribuídos SAD Sistemas de Arquivos Distribuídos Capítulo 16 de Silberschatz, A. e Galvin, P, Fundamentos de sistemas operacionais, 8 ª Edição, LTC, 2010. Fonte: Tadeu F. Oliveira e Cássio H.
Leia maisSistemas Distribuídos baseados em Coordenação. Pedro Ferreira DI - FCUL
Sistemas Distribuídos baseados em Coordenação Pedro Ferreira DI - FCUL Introdução Uma visão diferente sobre os sistemas distribuídos: Consideramos sistemas inerentemente distribuídos que se modificam com
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 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 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 maisLEIC/LERC 2008/09 Repescagem do 2º Teste de Sistemas Distribuídos
Número: Nome: LEIC/LERC 2008/09 Repescagem do 2º Teste de Sistemas Distribuídos 25 de Julho de 2008 Responda no enunciado, apenas no espaço fornecido. Identifique todas as folhas. Duração: 1h30m Grupo
Leia maisArquitecturas Paralelas I Computação Paralela em Larga Escala LESI - 4º Ano. Desenvolvimento de Aplicações Paralelas
Arquitecturas Paralelas I Computação Paralela em Larga Escala LESI - 4º Ano Desenvolvimento de Aplicações Paralelas (gec.di.uminho.pt/lesi/ap10203/aula06aplicaçõespar.pdf) João Luís Ferreira Sobral Departamento
Leia maisSistemas Distribuídos
Faculdades SENAC Análise e Desenvolvimento de Sistemas 1 de agosto de 2009 Introdução Instructor's Guide for Colouris et al. SDs de diferentes tipos compartilham importantes propriedades fundamentais e
Leia maisFormaçã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 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 maisELECTRÓNICA DE COMPUTADORES. Sumário
ELTRÓNICA DE COMPUTADORES Aulas nº14 e15 Memórias tampão (s) 12.1 Sumário Princípio da localidade espacial e temporal Organização das caches s de dados: políticas de escrita e estratégias de alocação Interligação
Leia maisSistema Distribuído. Sistema Distribuído. Aplicações Distribuídas. Conceitos Básicos
Sistema Distribuído Conjunto de máquinas (CPU + memória) interligadas em rede. Sistema Distribuído Sistema operacional distribuído trata este conjunto como um único sistema computacional. Estação 1 Estação
Leia maisTecnologias de Distribuição e Integração. Quais as preocupações a ter com um sistema distribuído?
network link: Tecnologias de Distribuição e Integração ISP intranet backbone desktop computer: server: satellite link no interior de uma organização (intranet) clientes externos entre organizações 2 Quais
Leia maisUniversidade Estadual de Mato Grosso do Sul UEMS Curso de Ciência da Computação Disciplina de Algoritmos Paralelos e Distribuídos
Universidade Estadual de Mato Grosso do Sul UEMS Curso de Ciência da Computação Disciplina de Algoritmos Paralelos e Distribuídos Pensando em Paralelo Pensar em paralelo é uma tarefa que exige disciplina
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 maisSSC643 -Avaliação de Desempenho de Sistemas Computacionais -
Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Sistemas de Computação SSC643 -Avaliação de Desempenho de Sistemas Computacionais - Aula 2 Sarita Mazzini Bruschi
Leia maisUm sistema de difusão de informação a nível da aplicação
Um sistema de difusão de informação a nível da aplicação Projecto de Redes de Computadores I - 2008/2009 LEIC IST, Tagus Park 21 de Setembro de 2008 1. Sumário O projecto pretende desenvolver um sistema
Leia mais