Sistemas Distribuídos - Aspectos de Projeto

4.159 visualizações

Publicada em

Publicada em: Tecnologia
0 comentários
2 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
4.159
No SlideShare
0
A partir de incorporações
0
Número de incorporações
3
Ações
Compartilhamentos
0
Downloads
203
Comentários
0
Gostaram
2
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Sistemas Distribuídos - Aspectos de Projeto

  1. 1. Aspectos de ProjetoProf. Adriano Teixeira de Souza
  2. 2. Prof. Adriano Teixeira de Souza
  3. 3. Prof. Adriano Teixeira de Souza
  4. 4.  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
  5. 5.  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
  6. 6.  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
  7. 7.  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
  8. 8.  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
  9. 9. Como??? Prof. Adriano Teixeira de Souza
  10. 10. Prof. Adriano Teixeira de Souza
  11. 11.  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
  12. 12. Prof. Adriano Teixeira de Souza
  13. 13.  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
  14. 14.  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
  15. 15. Prof. Adriano Teixeira de Souza
  16. 16.  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
  17. 17.  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
  18. 18.  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
  19. 19. Prof. Adriano Teixeira de Souza
  20. 20.  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
  21. 21.  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
  22. 22.  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
  23. 23.  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
  24. 24.  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

×