Sistemas Distribuídos. maio de simbolopuc

Documentos relacionados
Consistência: modelos baseados em dados Consistência: modelos baseados do cliente. Sistemas Distribuídos. junho de 2013

Consistência e Replicação

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

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

Sistemas Distribuídos

Replicação. Modelos de Consistência.

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

Banco de Dados. Controle de Concorrência e Recuperação de Transação. Prof. João Eduardo Ferreira Prof. Osvaldo Kotaro Takai

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

Processamento de Transações. Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri

Tolerância a Falhas com Máquinas de Estado

TM X SM. Replicação de Variáveis Compartilhadas. Protocolo de Atualização Síncrono ORCA

Arquitetura de sistemas distribuídos

SISTEMAS DISTRIBUÍDOS

SIST706 Sistemas Distribuídos

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

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

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

MEMÓRIA COMPARTILHADA DISTRIBUÍDA

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

SISTEMAS DISTRIBUÍDOS

PROCESSAMENTO DE TRANSAÇÕES

Processamento de Transações II

LanUn1vers1ty 6421: CONFIGURANDO E SOLUCIONANDO PROBLEMAS EM UMA INFRAESTRUTURA DE REDES WINDOWS SERVER 2008

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

Sistemas Distribuídos

Processamento Paralelo

SISTEMAS DISTRIBUÍDOS

Sistemas Operacionais: O quê? Por quê? Quando?

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

PROGRAMA DE DISCIPLINA

Bancos de Dados Distribuídos. Bancos de Dados Distribuídos. Conteúdo. Motivação. Motivação. Introdução aos BDs Distribuídos.

trabalho Heitor Oliveira,Rafael Aleixo,Alex Rodrigues September 2013

SSC510 Arquitetura de Computadores. 8ª aula

Linguagem de Programação II

Dados em programas são estruturados, enquanto que mensagens carregam informação seqüencial: Linearização x Restauração de dados Requisição

ChironFS. Nível: Intermediário. Escopo: Apresentação de sistema de arquivos tolerante a falhas com replicação de dados

Memória Compartilhada e Distribuída. _ Notas de Aula _ Prof. Tiago Garcia de Senna Carneiro DECOM/UFOP

Carlos Eduardo Batista Centro de Informática - UFPB

Modelos de Consistência e Replicação de Dados

Sistema de arquivos Distribuidos

Sistemas Distribuídos

Capítulo 8. Sistemas com Múltiplos Processadores. 8.1 Multiprocessadores 8.2 Multicomputadores 8.3 Sistemas distribuídos

SISTEMAS DISTRIBUÍDOS

PADI Plataformas para Aplicações Distribuídas na Internet

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

Sistemas Distribuídos. Ricardo Ribeiro dos Santos

Bancos de Dados NoSQL

Visão do Usuário da DSM

Ordenação. Sistemas Distribuídos e Tolerância a Falhas. Universidade da Beira Interior 07/08

Sistemas Distribuídos Capítulo 8 - Aula 15

Processamento de Transações

Modelos de Arquiteturas. Prof. Andrêza Leite

Sistemas de Ficheiros Distribuídos. Pedro Ferreira DI - FCUL

Arquitetura de Software para Computação Móvel

Programação Distribuída. Metas de um Sistema Distribuído

Scheduler Baseado em Timestamp

NoSQL Apache Cassandra para DBAs. Conceitos básicos que todo DBA deve conhecer sobre Apache Cassandra.

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

UNIVERSIDADE ESTADUAL DE PONTA GROSSA SETOR DE CIÊNCIAS AGRÁRIAS E DE TECNOLOGIA DEPARTAMENTO DE INFORMÁTICA

Sistemas distribuídos. Prof. Emiliano Monteiro

Replicação de servidores

TÓPICOS EM COMPUTAÇÃO APLICADA

Sistemas Distribuídos baseados em Coordenação. Pedro Ferreira DI - FCUL

Sincronização em Sistemas Distribuídos

Sistemas Distribuídos. Enunciado da Segunda Parte do Projecto

Paradigmas de Computação Paralela (UCE Computação Paralela Distribuída)

Arquitecturas Tolerantes a faltas em Sistemas Distribuídos

Bruno Antunes da Silva UFSCar - Sorocaba

Sistemas Distribuídos

RAID: Conceito e Tipos

SSC0611 Arquitetura de Computadores

Sistemas Distribuídos e Redes de Sensores. abril de 2013

UNIVERSIDADE ESTADUAL DE PONTA GROSSA SETOR DE CIÊNCIAS AGRÁRIAS E DE TECNOLOGIA DEPARTAMENTO DE INFORMÁTICA

Memória Cache. Walter Fetter Lages.

Sistemas Distribuídos. Ricardo Ribeiro dos Santos

Protocolos de Coerência de Memória Cache

Sistemas de Objetos Distribuídos

Sistemas Distribuídos

Alta Disponibilidade para pequenos, médios e grandes ambientes

Sistema Distribuído. Sistema Distribuído. Aplicações Distribuídas. Conceitos Básicos

Consistência Eventual - Sistemas Distribuidos e Tolerância a Falhas

Arquitetura de Computadores

Técnica UNDO/REDO. Checkpoint

TRANTEK do BRASIL Ltda. Seu Parceiro em Soluções

AULA ANTERIOR: MODELOS FUNDAMENTAIS

Introdução (hardware) INTRODUÇÃO Hardware. Introdução (hardware) Introdução (hardware) Introdução (hardware) Introdução (hardware)

Distributed Systems Principles and Paradigms

Introdução. Definição de um Sistema Distribuído (1) Definição de um Sistema Distribuído(2) Metas de Sistemas Distribuídos (2)

Arquitetura de sistemas distribuídos

3 Sistemas distribuídos em arquiteturas P2P

Formação de DBAs SQL Server 2008

Um esquema de otimização do protocolo RLSMP usando broadcast atômico na atualização de células líderes

Organização e Arquitetura de computadores. Memórias

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

Transcrição:

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, como ficam seus dados? intuitivamente, gostaríamos que o resultado de uma operação fosse independente da réplica utilizada... grau de acoplamento muito forte: custo alto! clientes com caches replicação de servidores uso de modelos de consistência menos rígidos

Modelos centrados em dados modelos de consistência tradicionalmente discutem resultado de leituras e escritas podemos pensar em termos de serviços de armazenamento de dados um cliente trabalha sobre uma réplica dos dados réplica réplica réplica cópia local armazenamento distribuído

Consistência Estrita definição: qualquer leitura de item de dado x retorna o valor correspondente à escrita mais recente em x dificuldades até na definição de mais recente dependência em tempo global

Consistência Sequencial definição: O resultado de qualquer execução é compatível com alguma execução sequencial (intercalada) das operações (de leitura e escrita) realizadas pelos processos do grupo. P1: W(x) a P2: P3: P4: W(x) b R(x) a R(x) b R(x) b R(x) a P1: W(x) a P2: P3: P4: W(x) b R(x) b R(x) b R(x) a R(x) a

Consistência Causal garantia de que operações são observadas na ordem de possível precedência causal P1: P2: P3: P4: W(x) a W(x) b R(x) a R(x) b R(x) b R(x) a

Consistência Causal preocupação apenas com consistência de leituras e escritas causalmente relacionadas causalmente inconsistente: P1: W(x) a P2: P3: P4: R(x) a W(x) b R(x) a R(x) b R(x) b R(x) a

Consistência FIFO as operações de escrita feitas por um processo devem ser vistas na ordem correta por todos os demais, mas não há imposições sobre a ordenação das escritas realizadas por diferentes processos P1: P2: P3: P4: W(x) a R(x) a W(x) b W(x) c R(x) b R(x) a R(x) a R(x) b R(x) c R(x) c

Modelos centrados no cliente garantias do ponto de vista de um cliente alterações no modelo cliente não está amarrado a uma réplica específica

Discussão CAP ênfase em consistência: cliente precisa saber lidar com indisponibilidade para escritas ênfase em disponibilidade: aplicações que podem conviver com dados um pouco desatualizados consistência fraca e janelas de inconsistência DNS LDAP

Consistência Eventual exemplos de aplicações Web DNS LDAP servidores de jogos cenário bastante comum em diversas aplicações janela de inconsistência P1: P2: P3: P4: W(x) a W(y) b R(x) nil R(x) a R(y) b R(y) nil R(x) nil R(x) a

Consistência read-your-write um determinado processo sempre enxerga as atualizações já feitas por ele mesmo

Consistência Monotônica Leitura monotônicas leitura nunca retorna valores anteriores aos já vistos pelo mesmo processo

Consistência Monotônica Escritas monotônicas sistema garante serialização das escritas de um mesmo processo R1: R2: WS(x1) WS(x1;x2) R1: R2: WS(x1) WS(!x1;x2) escritas feitas por um mesmo cliente em réplicas diferentes

Teorema CAP tradeoffs consistência disponibilidade particionamento da rede Eric Brewer. Towards robust distributed systems (abstract). in Proc. 19th ACM Symposium on Principles of Distributed Computing. 2000.

Servidores: Arquiteturas de cópia primária replicação ativa

baseada em cópias primárias cada item de dados (ou todos) estão associados a um servidor primário leituras ocorrem em todas as cópias escritas: 1 sempre no servidor primário atualização em réplicas dispara atualização remota em servidor primário atualização em servidor primário pode ou não bloquear até atualiação ser propagada a todas as cópias 2 local-write: cópia do dado primário transferido para local da atualização

, consistência e disponibilidade grupo de servidores N réplicas W réplicas precisam confirmar atualizações para completá-las R réplicas contactadas na leitura se W + R > N temos consistência forte replicação com cópia primária e modo síncrono: W = N replicação com cópia primária e modo assíncrono: W = 1, R = 1

, consistência e disponibilidade foco de sistema e trade-offs: disponibilidade, tolerância a falhas, consistência, tempo de acesso,... foco em tolerância a falhas com consistência: N = 3, R = 2, W = 2 foco em tolerância a falhas sem consistência: N = MUITOGRANDE, R = 1, W = 1 otimizaçoes de leituras (W = N e R = 1) ou de escritas (W = 1 e R = N)?

Ativa todas as réplicas realizam escritas simultaneamente necessidade de um protocolo que garanta uma determinada ordem na realização das operações broadcast total ou causal ou consenso sobre estado/atualizações algoritmo de consenso

Localização de réplicas clusters replicação sem distribuição geográfica cração de réplicas em resposta a padrões de acesso modelos de previsão de acessos dinamismo: sistemas p2p

de processos: mascaramento de falhas modelo mais comum: tolerância a falhas fail-stop com uso de uma réplica primária e n secundárias

de processos com cópia primária Primary! C! FE! RM! RM! Backup! C! FE! RM! Backup!

de processos com cópia primária RM! C! FE! RM! FE! C! RM!

tolerância a falhas e checkpoints

Referências W. Vogels. Eventually Consistent. Communications of the ACM. 52(1). 2009. E. Brewer. CAP twelve years later: How the rules have changed. Computer. 45(2). 2012.