SlideShare una empresa de Scribd logo
1 de 47
Introdução a Sistemas Distribuídos
Introdução a Sistemas 
Distribuídos
Eduardo de Lucena Falcão
Motivação
●
Crescente dependência dos usuários aos sistemas:
– necessidade de partilhar dados e recursos entre utilizadores;
– porque os recursos estão naturalmente em máquinas diferentes.
● Demanda computacional se torna maior do que os avanços de software e
hardware combinados;
● Algumas características inexistentes em sistemas centralizados como:
– tolerância a falhas;
– capacidade de escalabilidade;
– separação física;
– vantagens financeiras.
O que são Sistemas Distribuídos?
● “Um sistema distribuído é um conjunto de
computadores independentes entre si que se
apresenta a seus usuários como um sistema
único e coerente.” Tanembaum, A.
● “Coleção de computadores autônomos
interligados através de uma rede de
computadores e equipados com software que
permita o compartilhamento dos recursos do
sistema: hardware, software e dados.”
Coulouris, G.
O que são Sistemas Distribuídos?
● “Você sabe que tem um sistema distribuído
quando a falha de um computador do
qual você nunca ouviu falar faz com que
você pare completamente de trabalhar.”
Lamport, L.
Avanços tecnológicos
● Invenção de redes de computadores de alta velocidade
(anos 70):
– Rede local (Local Area Network – LAN)
– Rede global (Wide Area Network – WAN)
● Desenvolvimento de microprocessadores potentes (anos
80)
Estado da Arte
● É relativamente fácil agrupar um grande número de
CPUs, conectando-as por uma rede de alta velocidade;
● O software para sistemas distribuídos é completamente
diferente do software para sistemas centralizados
– Grandes desafios no desenvolvimento de sistemas
distribuídos
Sistemas Distribuídos vs Redes
de Computadores
● Rede: um meio para interconectar computadores e trocar
mensagens através de protocolos bem definidos. Entidades da rede
são visíveis e endereçadas explicitamente.
● Sistema distribuído: a existência de múltiplos computadores
autônomos, de forma transparente.
● Muitos problemas (e.g., abertura, confiabilidade) são comuns a
ambos, mas tratados em diferentes níveis:
– As redes tratam no nível de pacotes, roteamento, etc., enquanto
os sistemas distribuídos tratam no nível das aplicações;
– Todo sistema distribuído depende dos serviços oferecidos por
uma ou mais redes de computadores.
Exemplo: Internet
Exemplo: Intranet
Vantagens de Sistemas Distribuídos
● Melhor relação custo/benefício;
● Maior capacidade de processamento;
● Maior confiabilidade e disponibilidade;
● Crescimento gradativo de capacidade;
● Compartilhamento de recursos:
– Hardware, software e dados.
Desvantagens de Sistemas Distribuídos
● Desenvolvimento de software adequado;
● Falhas e saturação da rede de comunicação:
– Podem eliminar as vantagens destes sistemas;
● Segurança pode ser comprometida:
– Acesso a dados e recursos reservados.
Características Básicas de
Sistemas Distribuídos
● Compartilhamento de recursos
● Heterogeneidade
● Escalabilidade
● Transparência
● Concorrência
● Tolerância a falhas
● Segurança
Compartilhamento de Recursos
● Recurso:
– Termo abstrato e compreende tanto objetos de hardware, como
discos e impressoras, quanto entidades de software como
arquivos e banco de dados;
● Motivações:
– Economia: compartilhamento de impressoras,
supercomputadores, sistemas de armazenamento, etc...
– Colaboração e troca de informações: arquivos, correio
eletrônico, documentos, áudio e vídeo, teleconferência, etc...
Heterogeneidade
● Variedade e diferença em termos de:
– Hardware;
– Sistemas operacional;
– Rede;
– Linguagem de programação;
– Implementações de diferentes desenvolvedores.
● Exemplos de heterogeneidade na Internet:
– Diferentes implementações do mesmo conjunto de protocolos para diferentes tipos
de rede: IP, TCP, UDP, SMTP;
– Diferentes padrões de representação de dados: IDL, XML;
– Diferentes padrões de bibliotecas: POSIX, DLL;
– Diferentes padrões de invocação de serviços: COM, CORBA,RMI, SOAP;
– Diferentes plataformas de execução: JVM (Java), CLR (.NET).
Escalabilidade
● Capacidade do sistema permanecer operando de forma
efetiva mesmo diante de um aumento significativo do
número de usuários e/ou dos recursos disponíveis;
● Principais desafios:
– Controlar o custo dos recursos físicos;
– Controlar perdas de desempenho;
– Evitar “gargalos” de desempenho na rede ou nos
próprios servidores.
Escalabilidade
● Se uma quantidade maior de usuários ou recursos
devem ser considerados deve-se tomar cuidado com
serviços, dados centralizados:
● Eles se tornam gargalos, pontos únicos de falhas e
saturam a rede onde residem.
Conceito Exemplo
Serviços Centralizados Um único servidor para todos os
usuários
Dados Centralizados Uma única lista telefônica online
Algoritmos Centralizados Multiplicação de cadeias de
Matrizes de maneira sequencial
Escalabilidade: Algoritmos Distribuídos
● Algoritmos distribuídos possuem as seguintes diferenças
com relação aos centralizados:
– Nenhum nó possui informação completa do estado do
sistema;
– Cada nó toma decisões baseado somente em
informações locais;
– A falha de um nó não inviabiliza a execução do
algoritmo;
– Não se pressupõe a existência de um relógio global.
Escalabilidade: Algoritmos
Distribuídos
● Método de comunicação entre processos:
– Memória compartilhada;
– Mensagens ponto-a-ponto;
– Difusão de mensagens (broadcast);
– Chamadas remotas a procedimentos (RPC).
Tolerância a falhas
● Falhas são inevitáveis em sistemas computacionais:
– Resultados incorretos;
– Interrupção não planejada do serviço antes de sua
conclusão;
● Falhas em sistemas distribuídos são parciais;
● Técnicas de tratamento de falhas mais comuns:
– Detecção: bits de paridade, somas de verificação;
– Ocultamento: retransmissão de mensagens;
– Tolerância: informar o usuário do problema.
Transparência
● Abstração/Ocultação para os usuários e programadores
de aplicação:
– Sistema percebido como um “todo” coerente ao invés
de uma coleção de partes independentes;
● Uma medida de sucesso de um sistema distribuído é
dada pela sua transparência:
– Em que medida é indistinguível de um sistema
centralizado com a mesma funcionalidade?
Transparência
● Transparência de acesso:
– Permite o acesso a componentes remotos e locais
através das mesmas operações;
– Ex: Google Drive.
● Transparência de localização:
– Permite o acesso a componentes sem conhecimento da
sua localização física;
– Existência de um mecanismo que determina a localização
baseada em um nome;
– Ex: URL.
Transparência
● Transparência de concorrência:
– Permite a execução concorrente de múltipla operações sobre o
mesmo conjunto de recursos sem causar interferência entre elas;
– Ex: Impressoras compartilhadas, leilão virtual.
● Transparência de escala:
– Permite a expansão do sistema e de suas aplicações sem exigir
mudanças significativas na infraestrutura existente;
● O sistema não possui gargalos
● Transparência de mobilidade (migração):
– Permite a realocação de recursos e aplicações sem afetar o seu uso.
Transparência
● Transparência de Replicação:
– O usuário desconhece a existência de várias cópias
do recurso;
– Fundamental para desempenho e tolerância a falhas.
Transparência
● Transparência de falhas:
– A presença de falhas no sistema não é percebida
pelos usuários;
– Implica na ausência de um ponto único de falha.
Transparência
● Transparência de desempenho:
– Recurso adicionais são adicionados para suprir a
nova demanda;
– Serviços oferecidos pela Amazon (elasticidade).
Concorrência
● Suporte para múltiplos acessos simultâneos a um ou mais
recursos compartilhados:
– Possibilidade de inconsistências quando os recursos são
alterados
● Serviços devem garantir que as operações de acesso os
mantenham em um estado consistente
– Válido para servidores e objetos de aplicações
● Técnicas mais comuns:
– Sincronização de acesso (ex.: exclusão mútua distribuída)
– Protocolos de controle de concorrência (ex.: 2PC)
Segurança
● Proteção para recursos compartilhados:
– Confidencialidade (proteção contra usuários não autorizados):
● Ex.: Acesso a dados sobre salário, histórico médico;
– Integridade (proteção contra alteração e corrupção):
● Ex.: Alteração indevida de dados usados em transações bancárias;
– Disponibilidade (proteção contra interferência ao meio de acesso):
● Ex.: Queda ou sobrecarga do servidor ou do meio de comunicação;
● Principais mecanismos de segurança na Internet
– Firewall;
– Assinaturas digitais;
– Canais de seguros de comunicação.
Cuidado!
● Premissas falsas adotadas ao se desenvolve pela
primeira vez uma aplicação distribuída:
– Rede é confiável;
– Rede é segura
– Rede é homogênea;
– Topologia da rede não muda;
– Latência zero;
– Largura de banda é infinita.
Tipos de Sistemas Distribuídos
Middleware
● Como suportar computadores e redes heterogêneos,
oferecendo uma visão de sistema único?
– Sistemas Distribuídos são organizados por meio de
uma camada de software.
Tipos de Sistemas Distribuídos
● Sistemas de Computação Distribuídos:
– Computação em Clusters;
– Supercomputadores;
– Computação em Grade (Grids);
– Computação em Nuvem (Cloud Computing);
● Sistemas de Informação Distribuídos;
● Sistemas Distribuídos Pervasivos.
Clusters
● Hardware consiste em um conjunto de estações de trabalho
ou PCs semelhantes;
● Conexão feita através de uma rede local;
● Em quase todos os casos, a computação de cluster é usada
para programação paralela na qual um único programa é
executado em paralelo.
Clusters
● Cluster Beowulf baseado em Linux
Supercomputadores
● Clusters altamente “tunados” usando processadores de
prateleira combinados a conexões de rede especiais e
sistema operacional proprietário.
Supercomputadores
Grades Computacionais
● Computação em grade: muitos nós (clusters) de diversas
origens e com baixo acoplamento.
– Heterogêneos;
– Dispersos através de várias organizações;
● Recursos de diferentes organizações são reunidos
para permitir a colaboração de um grupo de
pessoas ou instituições.
Grades Computacionais
● Ex.:CineGrid – Transmissão de conteúdo de alta
qualidade (vídeos 4K) usando redes de alta velocidade.
Principais Grades Computacionais
● European Grid Initiative – EGI:
– 350 provedores de recursos em 50 países;
– ~ 400.000 núcleos;
– > 1.200.000 tarefas executadas por dia.
● LHC Computing Grid – LCG:
– 140 provedores de serviço em 35 países;
– > 200.000 núcleos.
● Open Science Grid – OSG:
– 80 provedores de recursos;
– ~70.000 núcleos.
● Extreme Science and Engineering Discovery Environment – XSEDE:
– Formada por centros de supercomputação nos EUA;
– Acima de 3 PF/s.
● Distributed European Infrastructure for Supercomputing Applications – DEISA:
– Formada por 11 supercomputadores na Europa;
– Acima de 2 PF/s.
Sistemas Pervasivos
● Uma nova geração de sistemas distribuídos estão emergindo:
sistemas de computação móvel e pervasivos;
– Instabilidade é o comportamento esperado destes sistemas;
– Heterogeneidade de rede e de dispositivos;
– Problemas de segurança;
– Dispositivos de computação móveis e embutidos:
● Pequenos;
● Alimentação por bateria;
● Têm como objetivo a mobilidade;
● Se utilizam de conexão sem fio.
Exemplos de Sistemas Pervasivos
● Sistema pervasivo de monitoramento de saúde, usando
(a) um hub local ou (b) uma conexão sem fio para
transmitir os dados coletados.
Exemplos de Sistemas Pervasivos
Exemplos de Sistemas Pervasivos
Computação em Nuvem
Computação em Nuvem
● Um (novo) paradigma da computação distribuída motivado pela:
– Economia de escala:
● O impacto combinado dessas economias de escala pode resultar em
economias em longo prazo de até 80% quando comparadas com
estruturas convencionais de hardware.
– Virtualização:
● Ao simular ambientes autônomos em uma mesma máquina física,
diminui-se a necessidade de hardware, de espaço físico e de
energia. Além disso, os servidores virtuais, por poderem ser
facilmente movidos entre máquinas físicas, favorecem a
manutenção.
– Recursos dinamicamente escaláveis;
– Oferta e demanda através da Internet.
Computação em Nuvem
● Principais Nuvens
– Industria: Google App Engine, Amazon, Windows
Azure, Salesforce.
– Academia: Magellan, FutureGrid.
– Middleware para nuvem: Nimbus, Eucalyptus,
OpenNebula.
Referências
● Slides do Professor Flávio R. C. Sousa. “Introdução a
Sistemas Distribuídos”. Sistemas Distribuídos.
Universidade Federal do Ceará.
● Slides do Professor Alexandre Nóbrega Duarte.
“Introdução aos Sistemas Distribuídos”. Computação
Intensiva em Dados. Universidade Federal da Paraíba.
● “Distributed Systems: Concepts and Design.” Third
Edition. Coulouris, G.; Dollimore, J.; Kindberg, T.
Dúvidas
https://sites.google.com/site/introsistemasdistribuidos/
Eduardo de Lucena Falcão
eduardolfalcao@gmail.com
@dudufalcao

Más contenido relacionado

La actualidad más candente

Sistemas operacionais
Sistemas operacionaisSistemas operacionais
Sistemas operacionaisvini_campos
 
Sistema operacional introdução
Sistema operacional introduçãoSistema operacional introdução
Sistema operacional introduçãoCleber Ramos
 
Sistemas distribuídos aula 1
Sistemas distribuídos aula 1Sistemas distribuídos aula 1
Sistemas distribuídos aula 1Renato William
 
Camada de aplicação modelo osi
Camada de aplicação modelo osiCamada de aplicação modelo osi
Camada de aplicação modelo osiAna Antoniello
 
Apresentação Sistemas Distribuídos - Conceito
Apresentação Sistemas Distribuídos - ConceitoApresentação Sistemas Distribuídos - Conceito
Apresentação Sistemas Distribuídos - ConceitoThiago Marinho
 
Modelos de estruturação de sistemas distribuídos
Modelos de estruturação de sistemas distribuídosModelos de estruturação de sistemas distribuídos
Modelos de estruturação de sistemas distribuídosPortal_do_Estudante_SD
 
Arquitetura de Software Visão Geral
Arquitetura de Software Visão GeralArquitetura de Software Visão Geral
Arquitetura de Software Visão Geralsergiocrespo
 
Conceitos Básicos Sobre Analise de Sistemas
Conceitos Básicos Sobre Analise de SistemasConceitos Básicos Sobre Analise de Sistemas
Conceitos Básicos Sobre Analise de SistemasClayton de Almeida Souza
 
Arquitetura de Software
Arquitetura de SoftwareArquitetura de Software
Arquitetura de SoftwareAricelio Souza
 
Mer - Modelo Entidade Relacionamento
Mer - Modelo Entidade RelacionamentoMer - Modelo Entidade Relacionamento
Mer - Modelo Entidade RelacionamentoRademaker Siena
 
Sistemas Distribuídos - Comunicação Distribuída – Middleware
Sistemas Distribuídos - Comunicação Distribuída – MiddlewareSistemas Distribuídos - Comunicação Distribuída – Middleware
Sistemas Distribuídos - Comunicação Distribuída – MiddlewareAdriano Teixeira de Souza
 
Aula 1 - Introdução ao Mobile
Aula 1 - Introdução ao MobileAula 1 - Introdução ao Mobile
Aula 1 - Introdução ao MobileCloves da Rocha
 
Introdução - Arquitetura e Organização de Computadores
Introdução - Arquitetura e Organização de ComputadoresIntrodução - Arquitetura e Organização de Computadores
Introdução - Arquitetura e Organização de ComputadoresWellington Oliveira
 
Sistemas Operacionais Modernos Capítulo 3 Deadlock
Sistemas Operacionais Modernos Capítulo 3 DeadlockSistemas Operacionais Modernos Capítulo 3 Deadlock
Sistemas Operacionais Modernos Capítulo 3 DeadlockWellington Oliveira
 
Instalação, configuração e administração de um SO Cliente/Servidor
Instalação, configuração e administração de um SO Cliente/ServidorInstalação, configuração e administração de um SO Cliente/Servidor
Instalação, configuração e administração de um SO Cliente/ServidorEdgar Costa
 

La actualidad más candente (20)

Sistemas operacionais
Sistemas operacionaisSistemas operacionais
Sistemas operacionais
 
Sistema operacional introdução
Sistema operacional introduçãoSistema operacional introdução
Sistema operacional introdução
 
Sistemas distribuídos aula 1
Sistemas distribuídos aula 1Sistemas distribuídos aula 1
Sistemas distribuídos aula 1
 
Camada de aplicação modelo osi
Camada de aplicação modelo osiCamada de aplicação modelo osi
Camada de aplicação modelo osi
 
Computação em nuvem
Computação em nuvemComputação em nuvem
Computação em nuvem
 
Apresentação Sistemas Distribuídos - Conceito
Apresentação Sistemas Distribuídos - ConceitoApresentação Sistemas Distribuídos - Conceito
Apresentação Sistemas Distribuídos - Conceito
 
Modelos de estruturação de sistemas distribuídos
Modelos de estruturação de sistemas distribuídosModelos de estruturação de sistemas distribuídos
Modelos de estruturação de sistemas distribuídos
 
Arquitetura de Software Visão Geral
Arquitetura de Software Visão GeralArquitetura de Software Visão Geral
Arquitetura de Software Visão Geral
 
Sistemas Operativos
Sistemas OperativosSistemas Operativos
Sistemas Operativos
 
Aula 3 - Introdução a cloud computing
Aula 3 - Introdução a cloud computingAula 3 - Introdução a cloud computing
Aula 3 - Introdução a cloud computing
 
Conceitos Básicos Sobre Analise de Sistemas
Conceitos Básicos Sobre Analise de SistemasConceitos Básicos Sobre Analise de Sistemas
Conceitos Básicos Sobre Analise de Sistemas
 
Arquitetura de Software
Arquitetura de SoftwareArquitetura de Software
Arquitetura de Software
 
Mer - Modelo Entidade Relacionamento
Mer - Modelo Entidade RelacionamentoMer - Modelo Entidade Relacionamento
Mer - Modelo Entidade Relacionamento
 
Sistemas Distribuídos - Comunicação Distribuída – Middleware
Sistemas Distribuídos - Comunicação Distribuída – MiddlewareSistemas Distribuídos - Comunicação Distribuída – Middleware
Sistemas Distribuídos - Comunicação Distribuída – Middleware
 
Aula 1 - Introdução ao Mobile
Aula 1 - Introdução ao MobileAula 1 - Introdução ao Mobile
Aula 1 - Introdução ao Mobile
 
Protocolos de Redes
Protocolos de RedesProtocolos de Redes
Protocolos de Redes
 
Introdução - Arquitetura e Organização de Computadores
Introdução - Arquitetura e Organização de ComputadoresIntrodução - Arquitetura e Organização de Computadores
Introdução - Arquitetura e Organização de Computadores
 
Sistemas Operacionais Modernos Capítulo 3 Deadlock
Sistemas Operacionais Modernos Capítulo 3 DeadlockSistemas Operacionais Modernos Capítulo 3 Deadlock
Sistemas Operacionais Modernos Capítulo 3 Deadlock
 
Instalação, configuração e administração de um SO Cliente/Servidor
Instalação, configuração e administração de um SO Cliente/ServidorInstalação, configuração e administração de um SO Cliente/Servidor
Instalação, configuração e administração de um SO Cliente/Servidor
 
Aula 1 - Revisão UML
Aula 1 - Revisão UMLAula 1 - Revisão UML
Aula 1 - Revisão UML
 

Similar a Introdução Sistemas Distribuídos

Sistemas operacionais
Sistemas operacionaisSistemas operacionais
Sistemas operacionaisDuFelix02
 
Sistemas operacionais sistemas-distribuidos
Sistemas operacionais sistemas-distribuidosSistemas operacionais sistemas-distribuidos
Sistemas operacionais sistemas-distribuidosrobsons75
 
Caracterizacao de sistemas distribuidos
Caracterizacao de sistemas distribuidosCaracterizacao de sistemas distribuidos
Caracterizacao de sistemas distribuidosPortal_do_Estudante_SD
 
SD_Aula_02_Introdução ao SD.pdf
SD_Aula_02_Introdução ao SD.pdfSD_Aula_02_Introdução ao SD.pdf
SD_Aula_02_Introdução ao SD.pdfFerro Gaita
 
SO01 - Sistemas-Operacionais - Introdução Historico Conceitos.pdf
SO01 - Sistemas-Operacionais - Introdução Historico Conceitos.pdfSO01 - Sistemas-Operacionais - Introdução Historico Conceitos.pdf
SO01 - Sistemas-Operacionais - Introdução Historico Conceitos.pdfSilvano Oliveira
 
Aula CARACTERIZAÇÁO DE SISTEMAS distribuidos.pptx
Aula CARACTERIZAÇÁO DE SISTEMAS distribuidos.pptxAula CARACTERIZAÇÁO DE SISTEMAS distribuidos.pptx
Aula CARACTERIZAÇÁO DE SISTEMAS distribuidos.pptxChadidoDiogo1
 
Aula 1 - Introducao.pdf
Aula 1 - Introducao.pdfAula 1 - Introducao.pdf
Aula 1 - Introducao.pdfRoberto Aragy
 
Programação de Sistemas Distribuídos - Aula 02
Programação de Sistemas Distribuídos - Aula 02Programação de Sistemas Distribuídos - Aula 02
Programação de Sistemas Distribuídos - Aula 02thomasdacosta
 
Aula02 Sistemas Distribuídos - Caracterização de sistemas distribuídos
Aula02 Sistemas Distribuídos - Caracterização de sistemas distribuídosAula02 Sistemas Distribuídos - Caracterização de sistemas distribuídos
Aula02 Sistemas Distribuídos - Caracterização de sistemas distribuídosMessias Batista
 
Aula 1 - Programação Dinâmica para Web
Aula 1 - Programação Dinâmica para WebAula 1 - Programação Dinâmica para Web
Aula 1 - Programação Dinâmica para WebDaniel Brandão
 
Sistemas Distribuídos - Aspectos de Projeto
Sistemas Distribuídos - Aspectos de ProjetoSistemas Distribuídos - Aspectos de Projeto
Sistemas Distribuídos - Aspectos de ProjetoAdriano Teixeira de Souza
 
Configurando o xp em rede
Configurando o xp em redeConfigurando o xp em rede
Configurando o xp em redeFabio Roberto
 
Aula 2 arquitecturas de sgbd, utilizadores, perfis
Aula 2   arquitecturas de sgbd, utilizadores, perfisAula 2   arquitecturas de sgbd, utilizadores, perfis
Aula 2 arquitecturas de sgbd, utilizadores, perfisHélio Martins
 

Similar a Introdução Sistemas Distribuídos (20)

Sistemas operacionais
Sistemas operacionaisSistemas operacionais
Sistemas operacionais
 
Introducao.2s
Introducao.2sIntroducao.2s
Introducao.2s
 
Sistemas operacionais sistemas-distribuidos
Sistemas operacionais sistemas-distribuidosSistemas operacionais sistemas-distribuidos
Sistemas operacionais sistemas-distribuidos
 
Caracterizacao de sistemas distribuidos
Caracterizacao de sistemas distribuidosCaracterizacao de sistemas distribuidos
Caracterizacao de sistemas distribuidos
 
SD_Aula_02_Introdução ao SD.pdf
SD_Aula_02_Introdução ao SD.pdfSD_Aula_02_Introdução ao SD.pdf
SD_Aula_02_Introdução ao SD.pdf
 
SISTEMA SD
SISTEMA SDSISTEMA SD
SISTEMA SD
 
Redes
RedesRedes
Redes
 
SO01 - Sistemas-Operacionais - Introdução Historico Conceitos.pdf
SO01 - Sistemas-Operacionais - Introdução Historico Conceitos.pdfSO01 - Sistemas-Operacionais - Introdução Historico Conceitos.pdf
SO01 - Sistemas-Operacionais - Introdução Historico Conceitos.pdf
 
Aula CARACTERIZAÇÁO DE SISTEMAS distribuidos.pptx
Aula CARACTERIZAÇÁO DE SISTEMAS distribuidos.pptxAula CARACTERIZAÇÁO DE SISTEMAS distribuidos.pptx
Aula CARACTERIZAÇÁO DE SISTEMAS distribuidos.pptx
 
Aula 1 - Introducao.pdf
Aula 1 - Introducao.pdfAula 1 - Introducao.pdf
Aula 1 - Introducao.pdf
 
Programação de Sistemas Distribuídos - Aula 02
Programação de Sistemas Distribuídos - Aula 02Programação de Sistemas Distribuídos - Aula 02
Programação de Sistemas Distribuídos - Aula 02
 
Aula02 Sistemas Distribuídos - Caracterização de sistemas distribuídos
Aula02 Sistemas Distribuídos - Caracterização de sistemas distribuídosAula02 Sistemas Distribuídos - Caracterização de sistemas distribuídos
Aula02 Sistemas Distribuídos - Caracterização de sistemas distribuídos
 
Introdução à sistemas distribuídos
Introdução à sistemas distribuídosIntrodução à sistemas distribuídos
Introdução à sistemas distribuídos
 
Sistemas Operacionais
Sistemas OperacionaisSistemas Operacionais
Sistemas Operacionais
 
Aula 1 - Programação Dinâmica para Web
Aula 1 - Programação Dinâmica para WebAula 1 - Programação Dinâmica para Web
Aula 1 - Programação Dinâmica para Web
 
Sistemas Distribuídos - Aspectos de Projeto
Sistemas Distribuídos - Aspectos de ProjetoSistemas Distribuídos - Aspectos de Projeto
Sistemas Distribuídos - Aspectos de Projeto
 
Configurando o xp em rede
Configurando o xp em redeConfigurando o xp em rede
Configurando o xp em rede
 
Redes 1
Redes 1Redes 1
Redes 1
 
Aula 2 arquitecturas de sgbd, utilizadores, perfis
Aula 2   arquitecturas de sgbd, utilizadores, perfisAula 2   arquitecturas de sgbd, utilizadores, perfis
Aula 2 arquitecturas de sgbd, utilizadores, perfis
 
So cap01
So cap01So cap01
So cap01
 

Más de Eduardo de Lucena Falcão

Programando em X3D para integração de aplicações e suporte multiplataforma
Programando em X3D para integração de aplicações e suporte multiplataformaProgramando em X3D para integração de aplicações e suporte multiplataforma
Programando em X3D para integração de aplicações e suporte multiplataformaEduardo de Lucena Falcão
 
Aula 8 - Comunicação entre Componentes com SQS e SNS
Aula 8 - Comunicação entre Componentes com SQS e SNSAula 8 - Comunicação entre Componentes com SQS e SNS
Aula 8 - Comunicação entre Componentes com SQS e SNSEduardo de Lucena Falcão
 
Aula 7 - Hands On - Configurando nossa aplicação na AWS com EC2, Elastic Load...
Aula 7 - Hands On - Configurando nossa aplicação na AWS com EC2, Elastic Load...Aula 7 - Hands On - Configurando nossa aplicação na AWS com EC2, Elastic Load...
Aula 7 - Hands On - Configurando nossa aplicação na AWS com EC2, Elastic Load...Eduardo de Lucena Falcão
 
Aula 6 - EC2, ELB, Auto Scaling, Cloud Watch
Aula 6 - EC2, ELB, Auto Scaling, Cloud WatchAula 6 - EC2, ELB, Auto Scaling, Cloud Watch
Aula 6 - EC2, ELB, Auto Scaling, Cloud WatchEduardo de Lucena Falcão
 
Aula 1 - Estudando o problema a ser resolvido
Aula 1 - Estudando o problema a ser resolvidoAula 1 - Estudando o problema a ser resolvido
Aula 1 - Estudando o problema a ser resolvidoEduardo de Lucena Falcão
 
II EPI - Estudo e Avaliação do Problema de Otimização da Multiplicação de Cad...
II EPI - Estudo e Avaliação do Problema de Otimização da Multiplicação de Cad...II EPI - Estudo e Avaliação do Problema de Otimização da Multiplicação de Cad...
II EPI - Estudo e Avaliação do Problema de Otimização da Multiplicação de Cad...Eduardo de Lucena Falcão
 
INFORMAÇÃO ARQUEOLÓGICA DE INGÁ: preservação, acesso e uso a partir de um amb...
INFORMAÇÃO ARQUEOLÓGICA DE INGÁ: preservação, acesso e uso a partir de um amb...INFORMAÇÃO ARQUEOLÓGICA DE INGÁ: preservação, acesso e uso a partir de um amb...
INFORMAÇÃO ARQUEOLÓGICA DE INGÁ: preservação, acesso e uso a partir de um amb...Eduardo de Lucena Falcão
 
Estudo e Avaliação do Problema de Otimização da Multiplicação de Cadeias de M...
Estudo e Avaliação do Problema de Otimização da Multiplicação de Cadeias de M...Estudo e Avaliação do Problema de Otimização da Multiplicação de Cadeias de M...
Estudo e Avaliação do Problema de Otimização da Multiplicação de Cadeias de M...Eduardo de Lucena Falcão
 
SEAC: Um Simulador Online para Ensino de Arquitetura de Computadores
SEAC: Um Simulador Online para Ensino de Arquitetura de ComputadoresSEAC: Um Simulador Online para Ensino de Arquitetura de Computadores
SEAC: Um Simulador Online para Ensino de Arquitetura de ComputadoresEduardo de Lucena Falcão
 
Processo de Tradução Automática da Língua Portuguesa para LIBRAS
Processo de Tradução Automática da Língua Portuguesa para LIBRASProcesso de Tradução Automática da Língua Portuguesa para LIBRAS
Processo de Tradução Automática da Língua Portuguesa para LIBRASEduardo de Lucena Falcão
 
Desafios da tecnologia da computação e indústria
Desafios da tecnologia da computação e indústriaDesafios da tecnologia da computação e indústria
Desafios da tecnologia da computação e indústriaEduardo de Lucena Falcão
 
TCC - PUBLICAÇÃO E ACESSO A CONTEÚDOS 3D ATRAVÉS DA WEB: O CASO DO MUSEU3I
TCC - PUBLICAÇÃO E ACESSO A CONTEÚDOS 3D ATRAVÉS DA WEB: O CASO DO MUSEU3I TCC - PUBLICAÇÃO E ACESSO A CONTEÚDOS 3D ATRAVÉS DA WEB: O CASO DO MUSEU3I
TCC - PUBLICAÇÃO E ACESSO A CONTEÚDOS 3D ATRAVÉS DA WEB: O CASO DO MUSEU3I Eduardo de Lucena Falcão
 

Más de Eduardo de Lucena Falcão (20)

Dais 2015
Dais 2015Dais 2015
Dais 2015
 
Wcga 2015
Wcga 2015Wcga 2015
Wcga 2015
 
Programando em X3D para integração de aplicações e suporte multiplataforma
Programando em X3D para integração de aplicações e suporte multiplataformaProgramando em X3D para integração de aplicações e suporte multiplataforma
Programando em X3D para integração de aplicações e suporte multiplataforma
 
Minicurso sobre X3D
Minicurso sobre X3DMinicurso sobre X3D
Minicurso sobre X3D
 
Aula 8 - Comunicação entre Componentes com SQS e SNS
Aula 8 - Comunicação entre Componentes com SQS e SNSAula 8 - Comunicação entre Componentes com SQS e SNS
Aula 8 - Comunicação entre Componentes com SQS e SNS
 
Aula 7 - Hands On - Configurando nossa aplicação na AWS com EC2, Elastic Load...
Aula 7 - Hands On - Configurando nossa aplicação na AWS com EC2, Elastic Load...Aula 7 - Hands On - Configurando nossa aplicação na AWS com EC2, Elastic Load...
Aula 7 - Hands On - Configurando nossa aplicação na AWS com EC2, Elastic Load...
 
Aula 6 - EC2, ELB, Auto Scaling, Cloud Watch
Aula 6 - EC2, ELB, Auto Scaling, Cloud WatchAula 6 - EC2, ELB, Auto Scaling, Cloud Watch
Aula 6 - EC2, ELB, Auto Scaling, Cloud Watch
 
Introduction to Cloud Computing
Introduction to Cloud ComputingIntroduction to Cloud Computing
Introduction to Cloud Computing
 
Aula 4 - Introdução a aws
Aula 4 - Introdução a awsAula 4 - Introdução a aws
Aula 4 - Introdução a aws
 
Aula 1 - Estudando o problema a ser resolvido
Aula 1 - Estudando o problema a ser resolvidoAula 1 - Estudando o problema a ser resolvido
Aula 1 - Estudando o problema a ser resolvido
 
Apresentação do Curso
Apresentação do CursoApresentação do Curso
Apresentação do Curso
 
II EPI - Estudo e Avaliação do Problema de Otimização da Multiplicação de Cad...
II EPI - Estudo e Avaliação do Problema de Otimização da Multiplicação de Cad...II EPI - Estudo e Avaliação do Problema de Otimização da Multiplicação de Cad...
II EPI - Estudo e Avaliação do Problema de Otimização da Multiplicação de Cad...
 
INFORMAÇÃO ARQUEOLÓGICA DE INGÁ: preservação, acesso e uso a partir de um amb...
INFORMAÇÃO ARQUEOLÓGICA DE INGÁ: preservação, acesso e uso a partir de um amb...INFORMAÇÃO ARQUEOLÓGICA DE INGÁ: preservação, acesso e uso a partir de um amb...
INFORMAÇÃO ARQUEOLÓGICA DE INGÁ: preservação, acesso e uso a partir de um amb...
 
Estudo e Avaliação do Problema de Otimização da Multiplicação de Cadeias de M...
Estudo e Avaliação do Problema de Otimização da Multiplicação de Cadeias de M...Estudo e Avaliação do Problema de Otimização da Multiplicação de Cadeias de M...
Estudo e Avaliação do Problema de Otimização da Multiplicação de Cadeias de M...
 
SEAC: Um Simulador Online para Ensino de Arquitetura de Computadores
SEAC: Um Simulador Online para Ensino de Arquitetura de ComputadoresSEAC: Um Simulador Online para Ensino de Arquitetura de Computadores
SEAC: Um Simulador Online para Ensino de Arquitetura de Computadores
 
Processo de Tradução Automática da Língua Portuguesa para LIBRAS
Processo de Tradução Automática da Língua Portuguesa para LIBRASProcesso de Tradução Automática da Língua Portuguesa para LIBRAS
Processo de Tradução Automática da Língua Portuguesa para LIBRAS
 
Desafios da tecnologia da computação e indústria
Desafios da tecnologia da computação e indústriaDesafios da tecnologia da computação e indústria
Desafios da tecnologia da computação e indústria
 
TCC - PUBLICAÇÃO E ACESSO A CONTEÚDOS 3D ATRAVÉS DA WEB: O CASO DO MUSEU3I
TCC - PUBLICAÇÃO E ACESSO A CONTEÚDOS 3D ATRAVÉS DA WEB: O CASO DO MUSEU3I TCC - PUBLICAÇÃO E ACESSO A CONTEÚDOS 3D ATRAVÉS DA WEB: O CASO DO MUSEU3I
TCC - PUBLICAÇÃO E ACESSO A CONTEÚDOS 3D ATRAVÉS DA WEB: O CASO DO MUSEU3I
 
Tutorial Shell Script
Tutorial Shell ScriptTutorial Shell Script
Tutorial Shell Script
 
E-Info
E-InfoE-Info
E-Info
 

Último

Cultura e Sociedade - Texto de Apoio.pdf
Cultura e Sociedade - Texto de Apoio.pdfCultura e Sociedade - Texto de Apoio.pdf
Cultura e Sociedade - Texto de Apoio.pdfaulasgege
 
Governo Provisório Era Vargas 1930-1934 Brasil
Governo Provisório Era Vargas 1930-1934 BrasilGoverno Provisório Era Vargas 1930-1934 Brasil
Governo Provisório Era Vargas 1930-1934 Brasillucasp132400
 
Gerenciando a Aprendizagem Organizacional
Gerenciando a Aprendizagem OrganizacionalGerenciando a Aprendizagem Organizacional
Gerenciando a Aprendizagem OrganizacionalJacqueline Cerqueira
 
Slides 1 - O gênero textual entrevista.pptx
Slides 1 - O gênero textual entrevista.pptxSlides 1 - O gênero textual entrevista.pptx
Slides 1 - O gênero textual entrevista.pptxSilvana Silva
 
Modelos de Desenvolvimento Motor - Gallahue, Newell e Tani
Modelos de Desenvolvimento Motor - Gallahue, Newell e TaniModelos de Desenvolvimento Motor - Gallahue, Newell e Tani
Modelos de Desenvolvimento Motor - Gallahue, Newell e TaniCassio Meira Jr.
 
Época Realista y la obra de Madame Bovary.
Época Realista y la obra de Madame Bovary.Época Realista y la obra de Madame Bovary.
Época Realista y la obra de Madame Bovary.keislayyovera123
 
Habilidades Motoras Básicas e Específicas
Habilidades Motoras Básicas e EspecíficasHabilidades Motoras Básicas e Específicas
Habilidades Motoras Básicas e EspecíficasCassio Meira Jr.
 
“Sobrou pra mim” - Conto de Ruth Rocha.pptx
“Sobrou pra mim” - Conto de Ruth Rocha.pptx“Sobrou pra mim” - Conto de Ruth Rocha.pptx
“Sobrou pra mim” - Conto de Ruth Rocha.pptxthaisamaral9365923
 
LEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃO
LEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃOLEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃO
LEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃOColégio Santa Teresinha
 
Bullying - Atividade com caça- palavras
Bullying   - Atividade com  caça- palavrasBullying   - Atividade com  caça- palavras
Bullying - Atividade com caça- palavrasMary Alvarenga
 
ATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptx
ATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptxATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptx
ATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptxOsnilReis1
 
Apostila da CONQUISTA_ para o 6ANO_LP_UNI1.pptx
Apostila da CONQUISTA_ para o 6ANO_LP_UNI1.pptxApostila da CONQUISTA_ para o 6ANO_LP_UNI1.pptx
Apostila da CONQUISTA_ para o 6ANO_LP_UNI1.pptxIsabelaRafael2
 
Aula - 2º Ano - Cultura e Sociedade - Conceitos-chave
Aula - 2º Ano - Cultura e Sociedade - Conceitos-chaveAula - 2º Ano - Cultura e Sociedade - Conceitos-chave
Aula - 2º Ano - Cultura e Sociedade - Conceitos-chaveaulasgege
 
A experiência amorosa e a reflexão sobre o Amor.pptx
A experiência amorosa e a reflexão sobre o Amor.pptxA experiência amorosa e a reflexão sobre o Amor.pptx
A experiência amorosa e a reflexão sobre o Amor.pptxfabiolalopesmartins1
 
CRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASB
CRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASBCRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASB
CRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASBAline Santana
 
Cenários de Aprendizagem - Estratégia para implementação de práticas pedagógicas
Cenários de Aprendizagem - Estratégia para implementação de práticas pedagógicasCenários de Aprendizagem - Estratégia para implementação de práticas pedagógicas
Cenários de Aprendizagem - Estratégia para implementação de práticas pedagógicasRosalina Simão Nunes
 
Família de palavras.ppt com exemplos e exercícios interativos.
Família de palavras.ppt com exemplos e exercícios interativos.Família de palavras.ppt com exemplos e exercícios interativos.
Família de palavras.ppt com exemplos e exercícios interativos.Susana Stoffel
 
activIDADES CUENTO lobo esta CUENTO CUARTO GRADO
activIDADES CUENTO  lobo esta  CUENTO CUARTO GRADOactivIDADES CUENTO  lobo esta  CUENTO CUARTO GRADO
activIDADES CUENTO lobo esta CUENTO CUARTO GRADOcarolinacespedes23
 

Último (20)

XI OLIMPÍADAS DA LÍNGUA PORTUGUESA -
XI OLIMPÍADAS DA LÍNGUA PORTUGUESA      -XI OLIMPÍADAS DA LÍNGUA PORTUGUESA      -
XI OLIMPÍADAS DA LÍNGUA PORTUGUESA -
 
Cultura e Sociedade - Texto de Apoio.pdf
Cultura e Sociedade - Texto de Apoio.pdfCultura e Sociedade - Texto de Apoio.pdf
Cultura e Sociedade - Texto de Apoio.pdf
 
Governo Provisório Era Vargas 1930-1934 Brasil
Governo Provisório Era Vargas 1930-1934 BrasilGoverno Provisório Era Vargas 1930-1934 Brasil
Governo Provisório Era Vargas 1930-1934 Brasil
 
Gerenciando a Aprendizagem Organizacional
Gerenciando a Aprendizagem OrganizacionalGerenciando a Aprendizagem Organizacional
Gerenciando a Aprendizagem Organizacional
 
Slides 1 - O gênero textual entrevista.pptx
Slides 1 - O gênero textual entrevista.pptxSlides 1 - O gênero textual entrevista.pptx
Slides 1 - O gênero textual entrevista.pptx
 
Modelos de Desenvolvimento Motor - Gallahue, Newell e Tani
Modelos de Desenvolvimento Motor - Gallahue, Newell e TaniModelos de Desenvolvimento Motor - Gallahue, Newell e Tani
Modelos de Desenvolvimento Motor - Gallahue, Newell e Tani
 
Época Realista y la obra de Madame Bovary.
Época Realista y la obra de Madame Bovary.Época Realista y la obra de Madame Bovary.
Época Realista y la obra de Madame Bovary.
 
Habilidades Motoras Básicas e Específicas
Habilidades Motoras Básicas e EspecíficasHabilidades Motoras Básicas e Específicas
Habilidades Motoras Básicas e Específicas
 
“Sobrou pra mim” - Conto de Ruth Rocha.pptx
“Sobrou pra mim” - Conto de Ruth Rocha.pptx“Sobrou pra mim” - Conto de Ruth Rocha.pptx
“Sobrou pra mim” - Conto de Ruth Rocha.pptx
 
LEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃO
LEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃOLEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃO
LEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃO
 
Em tempo de Quaresma .
Em tempo de Quaresma                            .Em tempo de Quaresma                            .
Em tempo de Quaresma .
 
Bullying - Atividade com caça- palavras
Bullying   - Atividade com  caça- palavrasBullying   - Atividade com  caça- palavras
Bullying - Atividade com caça- palavras
 
ATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptx
ATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptxATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptx
ATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptx
 
Apostila da CONQUISTA_ para o 6ANO_LP_UNI1.pptx
Apostila da CONQUISTA_ para o 6ANO_LP_UNI1.pptxApostila da CONQUISTA_ para o 6ANO_LP_UNI1.pptx
Apostila da CONQUISTA_ para o 6ANO_LP_UNI1.pptx
 
Aula - 2º Ano - Cultura e Sociedade - Conceitos-chave
Aula - 2º Ano - Cultura e Sociedade - Conceitos-chaveAula - 2º Ano - Cultura e Sociedade - Conceitos-chave
Aula - 2º Ano - Cultura e Sociedade - Conceitos-chave
 
A experiência amorosa e a reflexão sobre o Amor.pptx
A experiência amorosa e a reflexão sobre o Amor.pptxA experiência amorosa e a reflexão sobre o Amor.pptx
A experiência amorosa e a reflexão sobre o Amor.pptx
 
CRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASB
CRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASBCRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASB
CRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASB
 
Cenários de Aprendizagem - Estratégia para implementação de práticas pedagógicas
Cenários de Aprendizagem - Estratégia para implementação de práticas pedagógicasCenários de Aprendizagem - Estratégia para implementação de práticas pedagógicas
Cenários de Aprendizagem - Estratégia para implementação de práticas pedagógicas
 
Família de palavras.ppt com exemplos e exercícios interativos.
Família de palavras.ppt com exemplos e exercícios interativos.Família de palavras.ppt com exemplos e exercícios interativos.
Família de palavras.ppt com exemplos e exercícios interativos.
 
activIDADES CUENTO lobo esta CUENTO CUARTO GRADO
activIDADES CUENTO  lobo esta  CUENTO CUARTO GRADOactivIDADES CUENTO  lobo esta  CUENTO CUARTO GRADO
activIDADES CUENTO lobo esta CUENTO CUARTO GRADO
 

Introdução Sistemas Distribuídos

  • 1. Introdução a Sistemas Distribuídos Introdução a Sistemas  Distribuídos Eduardo de Lucena Falcão
  • 2. Motivação ● Crescente dependência dos usuários aos sistemas: – necessidade de partilhar dados e recursos entre utilizadores; – porque os recursos estão naturalmente em máquinas diferentes. ● Demanda computacional se torna maior do que os avanços de software e hardware combinados; ● Algumas características inexistentes em sistemas centralizados como: – tolerância a falhas; – capacidade de escalabilidade; – separação física; – vantagens financeiras.
  • 3. O que são Sistemas Distribuídos? ● “Um sistema distribuído é um conjunto de computadores independentes entre si que se apresenta a seus usuários como um sistema único e coerente.” Tanembaum, A. ● “Coleção de computadores autônomos interligados através de uma rede de computadores e equipados com software que permita o compartilhamento dos recursos do sistema: hardware, software e dados.” Coulouris, G.
  • 4. O que são Sistemas Distribuídos? ● “Você sabe que tem um sistema distribuído quando a falha de um computador do qual você nunca ouviu falar faz com que você pare completamente de trabalhar.” Lamport, L.
  • 5. Avanços tecnológicos ● Invenção de redes de computadores de alta velocidade (anos 70): – Rede local (Local Area Network – LAN) – Rede global (Wide Area Network – WAN) ● Desenvolvimento de microprocessadores potentes (anos 80)
  • 6. Estado da Arte ● É relativamente fácil agrupar um grande número de CPUs, conectando-as por uma rede de alta velocidade; ● O software para sistemas distribuídos é completamente diferente do software para sistemas centralizados – Grandes desafios no desenvolvimento de sistemas distribuídos
  • 7. Sistemas Distribuídos vs Redes de Computadores ● Rede: um meio para interconectar computadores e trocar mensagens através de protocolos bem definidos. Entidades da rede são visíveis e endereçadas explicitamente. ● Sistema distribuído: a existência de múltiplos computadores autônomos, de forma transparente. ● Muitos problemas (e.g., abertura, confiabilidade) são comuns a ambos, mas tratados em diferentes níveis: – As redes tratam no nível de pacotes, roteamento, etc., enquanto os sistemas distribuídos tratam no nível das aplicações; – Todo sistema distribuído depende dos serviços oferecidos por uma ou mais redes de computadores.
  • 10. Vantagens de Sistemas Distribuídos ● Melhor relação custo/benefício; ● Maior capacidade de processamento; ● Maior confiabilidade e disponibilidade; ● Crescimento gradativo de capacidade; ● Compartilhamento de recursos: – Hardware, software e dados.
  • 11. Desvantagens de Sistemas Distribuídos ● Desenvolvimento de software adequado; ● Falhas e saturação da rede de comunicação: – Podem eliminar as vantagens destes sistemas; ● Segurança pode ser comprometida: – Acesso a dados e recursos reservados.
  • 12. Características Básicas de Sistemas Distribuídos ● Compartilhamento de recursos ● Heterogeneidade ● Escalabilidade ● Transparência ● Concorrência ● Tolerância a falhas ● Segurança
  • 13. Compartilhamento de Recursos ● Recurso: – Termo abstrato e compreende tanto objetos de hardware, como discos e impressoras, quanto entidades de software como arquivos e banco de dados; ● Motivações: – Economia: compartilhamento de impressoras, supercomputadores, sistemas de armazenamento, etc... – Colaboração e troca de informações: arquivos, correio eletrônico, documentos, áudio e vídeo, teleconferência, etc...
  • 14. Heterogeneidade ● Variedade e diferença em termos de: – Hardware; – Sistemas operacional; – Rede; – Linguagem de programação; – Implementações de diferentes desenvolvedores. ● Exemplos de heterogeneidade na Internet: – Diferentes implementações do mesmo conjunto de protocolos para diferentes tipos de rede: IP, TCP, UDP, SMTP; – Diferentes padrões de representação de dados: IDL, XML; – Diferentes padrões de bibliotecas: POSIX, DLL; – Diferentes padrões de invocação de serviços: COM, CORBA,RMI, SOAP; – Diferentes plataformas de execução: JVM (Java), CLR (.NET).
  • 15. Escalabilidade ● Capacidade do sistema permanecer operando de forma efetiva mesmo diante de um aumento significativo do número de usuários e/ou dos recursos disponíveis; ● Principais desafios: – Controlar o custo dos recursos físicos; – Controlar perdas de desempenho; – Evitar “gargalos” de desempenho na rede ou nos próprios servidores.
  • 16. Escalabilidade ● Se uma quantidade maior de usuários ou recursos devem ser considerados deve-se tomar cuidado com serviços, dados centralizados: ● Eles se tornam gargalos, pontos únicos de falhas e saturam a rede onde residem. Conceito Exemplo Serviços Centralizados Um único servidor para todos os usuários Dados Centralizados Uma única lista telefônica online Algoritmos Centralizados Multiplicação de cadeias de Matrizes de maneira sequencial
  • 17. Escalabilidade: Algoritmos Distribuídos ● Algoritmos distribuídos possuem as seguintes diferenças com relação aos centralizados: – Nenhum nó possui informação completa do estado do sistema; – Cada nó toma decisões baseado somente em informações locais; – A falha de um nó não inviabiliza a execução do algoritmo; – Não se pressupõe a existência de um relógio global.
  • 18. Escalabilidade: Algoritmos Distribuídos ● Método de comunicação entre processos: – Memória compartilhada; – Mensagens ponto-a-ponto; – Difusão de mensagens (broadcast); – Chamadas remotas a procedimentos (RPC).
  • 19. Tolerância a falhas ● Falhas são inevitáveis em sistemas computacionais: – Resultados incorretos; – Interrupção não planejada do serviço antes de sua conclusão; ● Falhas em sistemas distribuídos são parciais; ● Técnicas de tratamento de falhas mais comuns: – Detecção: bits de paridade, somas de verificação; – Ocultamento: retransmissão de mensagens; – Tolerância: informar o usuário do problema.
  • 20. Transparência ● Abstração/Ocultação para os usuários e programadores de aplicação: – Sistema percebido como um “todo” coerente ao invés de uma coleção de partes independentes; ● Uma medida de sucesso de um sistema distribuído é dada pela sua transparência: – Em que medida é indistinguível de um sistema centralizado com a mesma funcionalidade?
  • 21. Transparência ● Transparência de acesso: – Permite o acesso a componentes remotos e locais através das mesmas operações; – Ex: Google Drive. ● Transparência de localização: – Permite o acesso a componentes sem conhecimento da sua localização física; – Existência de um mecanismo que determina a localização baseada em um nome; – Ex: URL.
  • 22. Transparência ● Transparência de concorrência: – Permite a execução concorrente de múltipla operações sobre o mesmo conjunto de recursos sem causar interferência entre elas; – Ex: Impressoras compartilhadas, leilão virtual. ● Transparência de escala: – Permite a expansão do sistema e de suas aplicações sem exigir mudanças significativas na infraestrutura existente; ● O sistema não possui gargalos ● Transparência de mobilidade (migração): – Permite a realocação de recursos e aplicações sem afetar o seu uso.
  • 23. Transparência ● Transparência de Replicação: – O usuário desconhece a existência de várias cópias do recurso; – Fundamental para desempenho e tolerância a falhas.
  • 24. Transparência ● Transparência de falhas: – A presença de falhas no sistema não é percebida pelos usuários; – Implica na ausência de um ponto único de falha.
  • 25. Transparência ● Transparência de desempenho: – Recurso adicionais são adicionados para suprir a nova demanda; – Serviços oferecidos pela Amazon (elasticidade).
  • 26. Concorrência ● Suporte para múltiplos acessos simultâneos a um ou mais recursos compartilhados: – Possibilidade de inconsistências quando os recursos são alterados ● Serviços devem garantir que as operações de acesso os mantenham em um estado consistente – Válido para servidores e objetos de aplicações ● Técnicas mais comuns: – Sincronização de acesso (ex.: exclusão mútua distribuída) – Protocolos de controle de concorrência (ex.: 2PC)
  • 27. Segurança ● Proteção para recursos compartilhados: – Confidencialidade (proteção contra usuários não autorizados): ● Ex.: Acesso a dados sobre salário, histórico médico; – Integridade (proteção contra alteração e corrupção): ● Ex.: Alteração indevida de dados usados em transações bancárias; – Disponibilidade (proteção contra interferência ao meio de acesso): ● Ex.: Queda ou sobrecarga do servidor ou do meio de comunicação; ● Principais mecanismos de segurança na Internet – Firewall; – Assinaturas digitais; – Canais de seguros de comunicação.
  • 28. Cuidado! ● Premissas falsas adotadas ao se desenvolve pela primeira vez uma aplicação distribuída: – Rede é confiável; – Rede é segura – Rede é homogênea; – Topologia da rede não muda; – Latência zero; – Largura de banda é infinita.
  • 29. Tipos de Sistemas Distribuídos
  • 30. Middleware ● Como suportar computadores e redes heterogêneos, oferecendo uma visão de sistema único? – Sistemas Distribuídos são organizados por meio de uma camada de software.
  • 31. Tipos de Sistemas Distribuídos ● Sistemas de Computação Distribuídos: – Computação em Clusters; – Supercomputadores; – Computação em Grade (Grids); – Computação em Nuvem (Cloud Computing); ● Sistemas de Informação Distribuídos; ● Sistemas Distribuídos Pervasivos.
  • 32. Clusters ● Hardware consiste em um conjunto de estações de trabalho ou PCs semelhantes; ● Conexão feita através de uma rede local; ● Em quase todos os casos, a computação de cluster é usada para programação paralela na qual um único programa é executado em paralelo.
  • 33. Clusters ● Cluster Beowulf baseado em Linux
  • 34. Supercomputadores ● Clusters altamente “tunados” usando processadores de prateleira combinados a conexões de rede especiais e sistema operacional proprietário.
  • 36. Grades Computacionais ● Computação em grade: muitos nós (clusters) de diversas origens e com baixo acoplamento. – Heterogêneos; – Dispersos através de várias organizações; ● Recursos de diferentes organizações são reunidos para permitir a colaboração de um grupo de pessoas ou instituições.
  • 37. Grades Computacionais ● Ex.:CineGrid – Transmissão de conteúdo de alta qualidade (vídeos 4K) usando redes de alta velocidade.
  • 38. Principais Grades Computacionais ● European Grid Initiative – EGI: – 350 provedores de recursos em 50 países; – ~ 400.000 núcleos; – > 1.200.000 tarefas executadas por dia. ● LHC Computing Grid – LCG: – 140 provedores de serviço em 35 países; – > 200.000 núcleos. ● Open Science Grid – OSG: – 80 provedores de recursos; – ~70.000 núcleos. ● Extreme Science and Engineering Discovery Environment – XSEDE: – Formada por centros de supercomputação nos EUA; – Acima de 3 PF/s. ● Distributed European Infrastructure for Supercomputing Applications – DEISA: – Formada por 11 supercomputadores na Europa; – Acima de 2 PF/s.
  • 39. Sistemas Pervasivos ● Uma nova geração de sistemas distribuídos estão emergindo: sistemas de computação móvel e pervasivos; – Instabilidade é o comportamento esperado destes sistemas; – Heterogeneidade de rede e de dispositivos; – Problemas de segurança; – Dispositivos de computação móveis e embutidos: ● Pequenos; ● Alimentação por bateria; ● Têm como objetivo a mobilidade; ● Se utilizam de conexão sem fio.
  • 40. Exemplos de Sistemas Pervasivos ● Sistema pervasivo de monitoramento de saúde, usando (a) um hub local ou (b) uma conexão sem fio para transmitir os dados coletados.
  • 41. Exemplos de Sistemas Pervasivos
  • 42. Exemplos de Sistemas Pervasivos
  • 44. Computação em Nuvem ● Um (novo) paradigma da computação distribuída motivado pela: – Economia de escala: ● O impacto combinado dessas economias de escala pode resultar em economias em longo prazo de até 80% quando comparadas com estruturas convencionais de hardware. – Virtualização: ● Ao simular ambientes autônomos em uma mesma máquina física, diminui-se a necessidade de hardware, de espaço físico e de energia. Além disso, os servidores virtuais, por poderem ser facilmente movidos entre máquinas físicas, favorecem a manutenção. – Recursos dinamicamente escaláveis; – Oferta e demanda através da Internet.
  • 45. Computação em Nuvem ● Principais Nuvens – Industria: Google App Engine, Amazon, Windows Azure, Salesforce. – Academia: Magellan, FutureGrid. – Middleware para nuvem: Nimbus, Eucalyptus, OpenNebula.
  • 46. Referências ● Slides do Professor Flávio R. C. Sousa. “Introdução a Sistemas Distribuídos”. Sistemas Distribuídos. Universidade Federal do Ceará. ● Slides do Professor Alexandre Nóbrega Duarte. “Introdução aos Sistemas Distribuídos”. Computação Intensiva em Dados. Universidade Federal da Paraíba. ● “Distributed Systems: Concepts and Design.” Third Edition. Coulouris, G.; Dollimore, J.; Kindberg, T.