• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Sistemas Distribuídos - Aspectos de Projeto
 

Sistemas Distribuídos - Aspectos de Projeto

on

  • 2,812 views

 

Statistics

Views

Total Views
2,812
Views on SlideShare
2,812
Embed Views
0

Actions

Likes
0
Downloads
133
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Sistemas Distribuídos - Aspectos de Projeto Sistemas Distribuídos - Aspectos de Projeto Presentation Transcript

    • Aspectos de ProjetoProf. Adriano Teixeira de Souza
    • Prof. Adriano Teixeira de Souza
    • Prof. Adriano Teixeira de Souza
    •  Este aspecto faz com que um conjunto de máquinas seja visto por seus usuários como se fossem simplesmente um único sistema de tempo compartilhado. Tipos distintos de transparência em um sistema distribuído: ◦ Localização ◦ Migração ◦ Replicação ◦ Concorrência ◦ Paralelismo ◦ Escala Prof. Adriano Teixeira de Souza
    •  Localização: ◦ Usuários não têm que saber a localização dos recursos remotos Migração: ◦ Potencial para realocar recursos dinamicamente sem que os usuários estejam cientes do movimento de recursos ◦ Os recursos podem mudar de lugar sem ter que mudar seus nomes. Replicação: ◦ Múltiplas instâncias de recursos são usados, mas Sistemas Distribuídos ocultam qualquer diferença entre recursos replicados, ou não replicados. ◦ Os usuários não devem saber quantas cópias existem. Prof. Adriano Teixeira de Souza
    •  Concorrência: ◦ Usuário não está ciente da existência de acesso simultâneo à recursos remotos. ◦ Vários usuários podem compartilhar automaticamente os recursos. Paralelismo: ◦ Podem ocorrer atividades paralelas sem que os usuários venham a saber. Escala: ◦ Oculta a expansão sem mudar a estrutura do sistema Prof. Adriano Teixeira de Souza
    •  Capacidade de suportar mudanças em sua estrutura depois de ser desenvolvido, sem comprometimento da execução das aplicações. É muito importante que o sistema seja flexível ás decisões do projeto. Situações que hoje parecem bem razoáveis poderão revelar-se erradas mais tarde. A melhor maneira de se evitar problemas é mantendo várias opções em aberto (flexibilidade). Prof. Adriano Teixeira de Souza
    •  Um sistema deve ser capaz de interagir com largo número de outros sistemas e serviços. A inserção de novos módulos no sistema deve ser uma tarefa simples Prof. Adriano Teixeira de Souza
    • Como??? Prof. Adriano Teixeira de Souza
    • Prof. Adriano Teixeira de Souza
    •  Disponibilidade ◦ Propriedade de um sistema poder funcionar continuamente sem falha ◦ Para ser confiável, um sistema deve possuir alta disponibilidade e segurança ◦ Sistemas distribuídos podem ser potencialmente mais confiáveis devido à multiplicidade e a um certo grau de autonomia de suas partes. ◦ É notório que a distribuição física não é tão importante quanto a distribuição lógica. Esta última pode ser implementada tanto a um único processador quanto a vários processadores localizados num mesmo ambiente ou em ambiente distintos . Prof. Adriano Teixeira de Souza
    • Prof. Adriano Teixeira de Souza
    •  Tolerância a falha (Resiliência) ◦ Física: Propriedade de um material de recuperar a sua forma ou posição original após sofrer choque ou deformação; elasticidade; ◦ A resiliência de processos preocupa-se em criar mecanismos de proteção a processos, tentando fazer com que os mesmos sobrevivam a eventuais falhas em um sistema; ◦ Uma forma de tornar um processo resiliente é a utilização de processos redundantes (redundância física); ◦ Um aspecto chave para contornar falhas de processos é organizar vários processos idênticos em um grupo no qual todos os processos possam recebar mensagens enviadas ao grupo. Prof. Adriano Teixeira de Souza
    •  Segurança ◦ Os dados confiados à guarda dos sistemas não podem de maneira nenhuma, sofrer qualquer tipo de adulteração ou perder-se . ◦ O aspecto da confiabilidade global é a segurança. Os arquivos e demais recursos devem ser protegidos contra uso-não autorizado. Isso se torna crítico no caso dos sistemas distribuídos. ◦ Em geral, um Sistema Distribuído pode ser projetado para “mascarar” falhas ocorridas, esconder dos seus usuários. Prof. Adriano Teixeira de Souza
    • Prof. Adriano Teixeira de Souza
    •  O problema da performance é muito influenciada pela comunicação. O envio de uma mensagem e a obtenção da resposta correspondente demora em torno de um milissegundo, e a maior parte desse tempo é gasto no tratamento do protocolo, quando deveria ser gasto na transmissão dos bits propriamente ditos. Prof. Adriano Teixeira de Souza
    •  Balanceamento de carga ◦ Visa distribuir a carga de acesso a recursos e/ou serviços para promover um aumento da capacidade da rede e melhoria da performance ◦ O balanceamento de carga é mais que um simples redirecionamento do tráfego dos clientes para outros servidores. É preciso que haja constante verificação da comunicação, checagem dos servidores e redundância. ◦ A dificuldade dessa técnica é que para ganhar performance é preciso ter várias atividades rodando em paralelo em diferentes processadores, mas para isso é necessário a transmissão de muitas mensagens. Prof. Adriano Teixeira de Souza
    •  Processamento distribuído (ou paralelo) ◦ Uma grande tarefa computacional é dividida em partes menores, pequenas tarefas que são distribuídas ao redor das estações (nodos), como se parecesse um supercomputador. ◦ Este tipo de cluster é usado em tarefas de computação científica ou análises financeiras, tarefas que exigem um alto poder de processamento. Prof. Adriano Teixeira de Souza
    • Prof. Adriano Teixeira de Souza
    •  Um sistema é descrito com escalável se permanece eficiente quando há um aumento significativo no número de recursos utilizados e no número de usuários. O projeto de sistemas distribuídos escaláveis apresenta os seguintes desafios: ◦ Controlar os custos dos recursos físicos. ◦ Controlar a perda de desempenho. ◦ Evitar gargalos de desempenho. Prof. Adriano Teixeira de Souza
    •  A escalabilidade de um sistema pode ser medida segundo três dimensões diferentes: ◦ Um sistema pode ser escalável em relação a seu tamanho, o que significa que é fácil adicionar mais usuários e recursos ao sistema; ◦ Um sistema escalável em termos geográficos é um sistema no qual usuários e recursos podem estar longe uns dos outros; ◦ Um sistema pode ser escalável em termos administrativos, o que significa que ele ainda pode ser fácil de gerenciar, mesmo que abranja muitas organizações administrativas diferentes. Prof. Adriano Teixeira de Souza
    •  Quando é necessário ampliar um sistema, é preciso resolver problemas de tipos muito diferentes; O servidor pode se transformar em um gargalo à medida que o número de usuários e aplicações cresce. Prof. Adriano Teixeira de Souza
    •  A escalabilidade geográfica tem seus próprios problemas. Uma das principais razões por que hoje é difícil ampliar SD existentes que foram originalmente projetados para LANs é que eles são baseados em comunicação síncrona; ◦ Na comunicação síncrona, uma parte que requisita um serviço (cliente), fica bloqueada até que uma mensagem seja enviada de volta: ◦ Isso funciona bem em LANs, onde a comunicação entre máquinas demora centenas de microsegundos, mas numa WAN, onde a comunicação demora centenas de microsegundos – isto requer cuidados !! Prof. Adriano Teixeira de Souza
    •  Técnicas de escalabilidade ◦ Comunicação assíncrona: oculta a latência de comunicação ◦ Distribuição: particiona um componente em partes menores e espalha essas partes pelo sistema ◦ Replicação: aumenta a disponibilidade e permite balanceamento de carga (pode gerar problema de Consistência) Prof. Adriano Teixeira de Souza