sistemas distribuidos
definição
Computação paralela e descentralizada, realizada por dois ou mais computadores conectados através de uma rede, cujo objetivo é concluir uma tarefa em comum
Escalabilidade
Capacidade de aumentar o desempenho de um sistema sob carga
Mainframe
Computadores de grande porte, dedicado normalmente ao processamento de um volume grande de informações. São capazes de oferecer serviços de processamento a milhares de usuários através de milhares de terminais conectados diretamente ou através de uma rede.
sistemas distribuidos vs mainframes
-
Economia: Os microprocessadores conectados a rede que forma o sistema distribuído apresentam uma relação custo/benefício melhor a oferecida pelos mainframes.
- Velocidade: Um sistema distribuído pode apresentar um poder de processamento agregado muito maior do que qualquer mainframe.
- Confiabilidade (tolerância a falhas): Se um computador da rede falhar, não significa que todo o sistema irá falhar.
- Crescimento Incremental: o poder computacional do sistema pode crescer em doses homeopáticas.
- Acomodação: pode ser impossível instalar e executar um programa de grande porte em apenas uma máquina, portanto dividir as funções em várias máquinas.
Características
- Coleção de computadores independentes
- Se apresenta ao usuário como um sistema único
- Executado em múltiplas CPUs independentes
- Transparência
TRANSPARÊNCIA
- Localização: esconde onde o recurso está localizado
- Acesso: operações idênticas (ou muito similares) para acesso local e remoto
- Falha: esconde a falha e recuperação de um recurso
- Replicação: esconde de usuários ou programadores de aplicação a existência de réplicas de recursos
- Migração: esconde que um recurso pode se mover para outra localização
- Temporal: comunicação não necessariamente sincronizada
-
Concorrência: compartilhamento de recursos sem interferência entre processos concorrentes
Modelo p2p (peer-to-peer)
Arquitetura caracterizada pela descentralização das funções na rede, onde cada nó realiza tanto funções de servidor quanto de cliente
sistema distribuído
Semelhante ao peer-to-peer, mas com um Middleware intermediando o processo de comunicação, dividindo as tarefas com um único fim
Middleware
Como suportar computadores e redes heterogêneos, oferecendo uma visão de sistema único?
Exemplo - clusters
EXEMPLO - grid computing
EXEMPLO - ubiquitous computing
Cloud computing
SaaS / PaaS / IaaS
homogeneos vs heterogeneos
Homogêneos: são aqueles onde todas as plataformas, hardware e sistema operacional, ligadas à rede são iguais. Nos sistemas distribuídos heterogêneos podem haver diferentes plataformas conectadas à rede
Desvantagens?
- Software: Até o presente momento não há muita disponibilidade de softwares para sistemas distribuídos, não há ainda uma metodologia de desenvolvimento amadurecida e o conhecimento prático obtido no desenvolvimentos desses softwares ainda é reduzido.
- Rede: A rede pode tornar-se o gargalo do sistema.
-
Segurança: Os dados podem ser violados ou danificados facilmente devido a comunicação constante.
Internet
- Os protocolos permitem que um programas em execução em qualquer lugar envie mensagens para programas em qualquer outro lugar
- Conjunto de serviços aberto, ou seja, pode ser ampliado com a adição de novos computadores e servidores e novos tipos de serviço
Intranet
- Parte da Internet administrada separadamente
- Composta por várias redes locais interligadas por backbones
- Tamanho pode variar desde um único site a múltiplos sites
Curiosidade
La pela década de 60, os EUA já tinham intenção de dividir as informações em vários computadores. Na época da guerra fria, foi investido por parte do governo americano nessa nova forma de proteger partes das suas informações em vários locais diferentes, e quando requisitada fosse juntada em um outro lugar.
Sistemas distribuídos
By Joel Corrêa
Sistemas distribuídos
- 1,448