Download - SISTEMA SD

Transcript

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

Como???

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 !!

Técnicas de escalabilidade

◦ Comunicação assíncrona: oculta a latência decomunicação

◦ Distribuição: particiona um componente em partesmenores e espalha essas partes pelo sistema

◦ Replicação: aumenta a disponibilidade e permitebalanceamento de carga (pode gerar problema deConsistência)