A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

SSC-150 Sistemas Computacionais Distribuídos Prof. Responsável: Marcos José Santana Estagiário: Luis Nakamura Fernando Soares de Paiva 5889690 André Toshio.

Apresentações semelhantes


Apresentação em tema: "SSC-150 Sistemas Computacionais Distribuídos Prof. Responsável: Marcos José Santana Estagiário: Luis Nakamura Fernando Soares de Paiva 5889690 André Toshio."— Transcrição da apresentação:

1 SSC-150 Sistemas Computacionais Distribuídos Prof. Responsável: Marcos José Santana Estagiário: Luis Nakamura Fernando Soares de Paiva André Toshio N. Nishitani Lucio Caceres Trazzi

2 Replicação em Sistemas Distribuídos Vantagens Modelos de Consistência Replicação e Posicionamento de Conteúdo Técnicas de Replicação

3 Diferentes tipos de redundância: Redundância Temporal: repetir uma mesma tarefa até que um resultado válido seja obtido. Redundância de Valores: replicar um dado armazenado ou enviado pela rede. Redundância Espacial: usar várias réplicas de um componente de hardware ou software.

4 Desempenho Disponibilidade Transparência Tolerância a falhas Balanceamento de cargas Consistência

5 Desempenho A replicação aumenta o paralelismo, compartilhando a carga de trabalho entre servidores. A replicação também pode melhorar os tempos de resposta ao permitir ter processamento concorrente de pedidos por vários servidores simultâneamente.

6 Disponibilidade Os usuários em geral exigem serviços de alta disponibilidade, e a replicação garante uma maior disponibilidade, mesmo com a falha de servidores. Exemplo: Se um servidor fica indisponível durante 8 horas a cada ano (disponibilidade de 0,999), se criarmos 3 réplicas teremos uma parada total de 3,15 segundos em um século (disponibilidade de 1-0,001³= 0, )

7 Transparência o Cliente não percebe a existência de replicações. o Cliente espera receber um único valor de resposta, independente da quantidade e da organização das replicas. o Front End: Comunica-se com os servidores de réplicas e clientes, tornando o processo transparente ao cliente.

8 Tolerância a Falhas Evita a utilização de arquivos desatualizados e/ou danificados, pois o sistema possui várias cópias do mesmo arquivo. No caso de uma sabotagem, a própria redundância do sistema é uma proteção, pois sabotar um servidor não será suficiente.

9 Balanceamento de cargas Proporciona um melhor tempo de resposta. Diminuiu as chances de se ter um servidor sobrecarregado com várias requisições.

10 Consistência As operações realizadas sobre as réplicas dos dados devem produzir resultados semelhantes. Utiliza-se modelos de consistência para especificar o resultado das operações que são suportadas.

11 Consistência Usuários devem seguir regras determinadas pelo modelo para manter a consistência do sistema Visão de Dados o Objetivo de fornecer cópias idênticas para todos os cliente Visão do Cliente o Cada cliente vê as cópias como vistas por ele pela última vez

12 Consistência Estrita o Qualquer leitura de qualquer replica retorna o valor da escrita mais recente no dado. Consistência Causal o P1 escreve X, P2 lê X e escreve Y. A leitura de X e escrita de Y potencialmente relacionadas. o Escritas potencialmente relacionadas devem ser realizadas na mesma ordem.

13 Consistência Linear o As operações realizadas sobre um dado devem ser vistas nas réplicas na mesma ordem respeitando a linha de tempo. Consistência Sequêncial o As operações realizadas sobre um dado devem ser vistas nas réplicas na mesma ordem. o Não precisa respeitar a linha de tempo. Consistência FIFO o Escritas realizadas por um mesmo processo devem ser vistas na mesma ordem,porém escritas de processos diferentes podem ser vistas em ordem diferentes.

14 Consistência Fraca o Utiliza variável de sincronização. o Nenhum acesso à variável de sincronização é permitido até que todas as escritas terminem. o Nenhum acesso aos dados é permitido até que todos acessos à variável de sincronização tenha terminado. Consistência Liberal o Operações "release" e "acquire" o Antes de escrita ou leitura na região compartilhada é realizada uma operação "acquire" e depois da realização do processo é realizada a operação de "release"

15 Consistência de Entrada o Utiliza também as operações "release" e "acquire" o Cada região compartilhada é associada a uma variável de sincronização Consistência Eventual o Garante que o mesmo cliente verá sempre dados consistentes Leitura Monotônica o Realizada uma leitura, leituras subsequentes receberão o mesmo valor ou um valor mais atual Gravação Monotônica o A escrita é completada antes que se possa realizar outra

16 Leitura da Própria Escrita o Leitura realizadas depois da própria escrita deve obter o mesmo resultado da escrita. o Atualização de senha Escrita Após Leitura o Antes de ser escrito, o dado é atualizado para o valor mais recente.

17 Estática o Os arquivos não são atualizados nem sofrem modificações. o A implementação é simples. Dinâmica o Os arquivos sofrem modificações com o decorrer do tempo.

18 Três tipos diferentes de réplicas organizadas logicamente – Réplicas permanentes – Réplicas iniciadas por servidor – Réplicas iniciadas por cliente

19

20 Conjunto inicial de réplicas que constituem um depósito de dados distribuído Número de réplicas permanentes é pequeno Exemplo: Site Web – Arquivos são replicados para um número limitado de servidores que estão em uma única localização – Espelhamento: site Web é copiado para um número limitado de servidores, sites espelhados, que estão geograficamente espalhados pela Internet.

21 Cópias de um depósito de dados que existem para aprimorar desempenho e que são criadas por iniciativa do (proprietário do) depósito de dados Exemplo: o Considere um servidor em SP. Pode acontecer uma rajada de requisições que vêm de uma localização inesperada,longe do servidor. Neste caso, talvez valha a pena instalar uma quantidade de réplicas TEMPORÁRIAS nas regiões de onde estão vindo as requisições

22 São mais conhecidas como caches de cliente, pode estar no próprio cliente ou em alguma outra máquina da mesma rede Recurso de armazenamento temporário e local Gerenciamento cabe inteiramente ao cliente Aumento de desempenho em operações envolvendo muita leitura Exemplo: Páginas Web armazenadas em cache podem ser acessadas imediatamente pelo browser, caso o cliente deseje uma versão mais atual da página ele deve requisitá-la novamente.

23 Principais técnicas: Replicação Passiva (Primário-Backup) Replicação Ativa Replicação Semi-Ativa (Líder-Seguidores)

24 São criados um ou mais backups de um componente (primário) com o objetivo de substituí-lo em caso de falha Funcionamento com propagação de estado instantânea: o Primário recebe requisições, as executa, atualiza o estado dos backups e retorna o resultado ao cliente

25 Um grupo de réplicas de um componente recebe uma requisição de um cliente Todas as réplicas processam a requisição concorrentemente e enviam as suas respostas ao cliente Não é preciso sincronizar o estado das réplicas, pois todas executam os mesmos procedimentos

26 Um componente (líder) possui uma ou mais réplicas (seguidores) Cada requisição é enviada a todos, que as executam na ordem defidenida pelo líder Apenas o líder responde ao cliente que efetuou a requisição Não é preciso sincronizar o estado das réplicas, pois todas executam os mesmos procedimentos

27 [Couloris et al., 2005] Couloris, G. F., Dollimore, J., and Kindberg, T. (2005). Distributed Systems: concepts and design. Pearson Education. APRESENTAÇÕES PÓS


Carregar ppt "SSC-150 Sistemas Computacionais Distribuídos Prof. Responsável: Marcos José Santana Estagiário: Luis Nakamura Fernando Soares de Paiva 5889690 André Toshio."

Apresentações semelhantes


Anúncios Google