 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
 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 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).
 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
Como???
 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 .
 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.
 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.
 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.
 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.
 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.
 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.
 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.
 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.
 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 !!
 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)

SISTEMA SD

  • 4.
     Este aspectofaz 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
  • 5.
     Localização: ◦ Usuáriosnã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.
  • 6.
     Concorrência: ◦ Usuárionã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
  • 7.
     Capacidade desuportar 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).
  • 8.
     Um sistemadeve 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
  • 9.
  • 11.
     Disponibilidade ◦ Propriedadede 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 .
  • 13.
     Tolerância afalha (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.
  • 14.
     Segurança ◦ Osdados 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.
  • 16.
     O problemada 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.
  • 17.
     Balanceamento decarga ◦ 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.
  • 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.
  • 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.
  • 21.
     A escalabilidadede 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.
  • 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.
  • 23.
     A escalabilidadegeográ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 !!
  • 24.
     Técnicas deescalabilidade ◦ 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)