Este aspecto faz com que um conjunto de máquinasseja visto por seus usuários como se fossemsimplesmente um único sistema de tempocompartilhado.
Tipos distintos de transparência em um sistemadistribuído:
◦ Localização◦ Migração◦ Replicação◦ Concorrência◦ Paralelismo◦ Escala
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.
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
Capacidade de suportar mudanças em sua estruturadepois de ser desenvolvido, sem comprometimentoda execução das aplicações.
É muito importante que o sistema seja flexível ásdecisões do projeto. Situações que hoje parecembem razoáveis poderão revelar-se erradas maistarde.
A melhor maneira de se evitar problemas émantendo várias opções em aberto (flexibilidade).
Um sistema deve ser capaz de interagir com largonúmero de outros sistemas e serviços.
A inserção de novos módulos no sistema deve seruma tarefa simples
Disponibilidade
◦ Propriedade de um sistema poder funcionar continuamente semfalha
◦ Para ser confiável, um sistema deve possuir alta disponibilidade esegurança
◦ Sistemas distribuídos podem ser potencialmente mais confiáveisdevido à multiplicidade e a um certo grau de autonomia de suaspartes.
◦ É notório que a distribuição física não é tão importante quanto adistribuição lógica. Esta última pode ser implementada tanto a umúnico processador quanto a vários processadores localizados nummesmo ambiente ou em ambiente distintos .
Tolerância a falha (Resiliência)
◦ Física: Propriedade de um material de recuperar a sua forma ouposição original após sofrer choque ou deformação; elasticidade;
◦ A resiliência de processos preocupa-se em criar mecanismos deproteção a processos, tentando fazer com que os mesmossobrevivam a eventuais falhas em um sistema;
◦ Uma forma de tornar um processo resiliente é a utilização deprocessos redundantes (redundância física);
◦ Um aspecto chave para contornar falhas de processos é organizarvários processos idênticos em um grupo no qual todos os processospossam recebar mensagens enviadas ao grupo.
Segurança
◦ Os dados confiados à guarda dos sistemas não podem demaneira nenhuma, sofrer qualquer tipo de adulteração ouperder-se .
◦ O aspecto da confiabilidade global é a segurança. Osarquivos e demais recursos devem ser protegidos contrauso-não autorizado. Isso se torna crítico no caso dossistemas distribuídos.
◦ Em geral, um Sistema Distribuído pode ser projetado para“mascarar” falhas ocorridas, esconder dos seus usuários.
O problema da performance é muitoinfluenciada pela comunicação.
O envio de uma mensagem e a obtenção daresposta correspondente demora em tornode um milissegundo, e a maior parte dessetempo é gasto no tratamento do protocolo,quando deveria ser gasto na transmissão dosbits propriamente ditos.
Balanceamento de carga
◦ Visa distribuir a carga de acesso a recursos e/ou serviçospara promover um aumento da capacidade da rede emelhoria da performance
◦ O balanceamento de carga é mais que um simplesredirecionamento do tráfego dos clientes para outrosservidores. É preciso que haja constante verificação dacomunicação, checagem dos servidores e redundância.
◦ A dificuldade dessa técnica é que para ganhar performance épreciso ter várias atividades rodando em paralelo emdiferentes processadores, mas para isso é necessário atransmissão de muitas mensagens.
Processamento distribuído (ou paralelo)
◦ Uma grande tarefa computacional é dividida em partesmenores, pequenas tarefas que são distribuídas ao redor dasestações (nodos), como se parecesse um supercomputador.
◦ Este tipo de cluster é usado em tarefas de computaçãocientífica ou análises financeiras, tarefas que exigem um altopoder de processamento.
Um sistema é descrito com escalável sepermanece eficiente quando há um aumentosignificativo no número de recursosutilizados e no número de usuários.
O projeto de sistemas distribuídos escaláveisapresenta os seguintes desafios:
◦ Controlar os custos dos recursos físicos.◦ Controlar a perda de desempenho.◦ Evitar gargalos de desempenho.
A escalabilidade de um sistema pode ser medidasegundo três dimensões diferentes:
◦ Um sistema pode ser escalável em relação a seu tamanho, oque significa que é fácil adicionar mais usuários e recursosao sistema;
◦ Um sistema escalável em termos geográficos é um sistemano qual usuários e recursos podem estar longe uns dosoutros;
◦ Um sistema pode ser escalável em termos administrativos, oque significa que ele ainda pode ser fácil de gerenciar,mesmo que abranja muitas organizações administrativasdiferentes.
Quando é necessário ampliar um sistema, épreciso resolver problemas de tipos muitodiferentes;
O servidor pode se transformar em umgargalo à medida que o número de usuáriose aplicações cresce.
A escalabilidade geográfica tem seus própriosproblemas. Uma das principais razões por que hojeé difícil ampliar SD existentes que foramoriginalmente projetados para LANs é que eles sãobaseados em comunicação síncrona;
◦ Na comunicação síncrona, uma parte que requisita umserviço (cliente), fica bloqueada até que uma mensagem sejaenviada de volta:
◦ Isso funciona bem em LANs, onde a comunicação entremáquinas demora centenas de microsegundos, mas numaWAN, onde a comunicação demora centenas demicrosegundos – isto requer cuidados !!
Top Related