acii - sl07 - introducao aos sistemas distribuidos
DESCRIPTION
Aula sobre introdução aos sistemas distribuídos. introducao, sistemas, distribuidos, arquitetura, cluster, grid, midlewareTRANSCRIPT
![Page 1: ACII - SL07 - Introducao aos sistemas distribuidos](https://reader033.vdocuments.net/reader033/viewer/2022052507/558e22311a28ab99398b474e/html5/thumbnails/1.jpg)
Prof. Rafael Marrocos Magalhães [email protected]
Universidade Federal da Paraíba
Centro de Ciências Aplicadas e Educação
Departamento de Ciências Exatas
ACII: Introdução aos Sistemas Distribuídos
17 de Outubro de 2001 UFPB – CCAE - DCE
![Page 2: ACII - SL07 - Introducao aos sistemas distribuidos](https://reader033.vdocuments.net/reader033/viewer/2022052507/558e22311a28ab99398b474e/html5/thumbnails/2.jpg)
(R)Evolução na computação
1 - Etapa ! 1945 – 1985
! Dezenas de milhares de $ ! mainframes, minicomputadores ! Isolados, escassos, restritos (donos e aplicações)
! Metade 80` ! Microchips 8 bits – 16, 32, 64 bits ! Poder do mainframe 1/10 $
! 50 anos, evolução assombrosa ! 10 milhões $,1 oper/seg ! Mil $, 1 bilhão inst/ seg
![Page 3: ACII - SL07 - Introducao aos sistemas distribuidos](https://reader033.vdocuments.net/reader033/viewer/2022052507/558e22311a28ab99398b474e/html5/thumbnails/3.jpg)
(R)Evolução na computação
2 - Etapa ! Redes de computadores
! ARPANet, outrasNet ! LAN (local)
! 100 milhões bits (MBps) ! 10 bilhões bits (GBps)
! WAN (wides) ! 64 kbps ! Gigabits
![Page 4: ACII - SL07 - Introducao aos sistemas distribuidos](https://reader033.vdocuments.net/reader033/viewer/2022052507/558e22311a28ab99398b474e/html5/thumbnails/4.jpg)
Resultados parciais
E daí? ! Tornou-se viável e fácil
! Criar redes com vários computadores ! Conexões em alta velocidade
! Criando: ! Redes de computação ! Sistemas distribuídos
! Sistemas centralizados (monoprocessados) ! Terminais remotos?
![Page 5: ACII - SL07 - Introducao aos sistemas distribuidos](https://reader033.vdocuments.net/reader033/viewer/2022052507/558e22311a28ab99398b474e/html5/thumbnails/5.jpg)
Definição
“Um sistema distribuído é um conjunto de computadores independentes que se apresenta a seus usuários como um sistema único e
coerente” ! Componentes (computadores autônomos) ! Usuários (pessoas ou programas)
! Nenhuma premissa, ilusão ! Colaboração entre componentes
CERNE
![Page 6: ACII - SL07 - Introducao aos sistemas distribuidos](https://reader033.vdocuments.net/reader033/viewer/2022052507/558e22311a28ab99398b474e/html5/thumbnails/6.jpg)
Características
! Diferenças entre computadores ! Formas como se comunicam ! Organização interna dos SD
! Interação ! Consistente, uniforme (independente do
ponto)
}
oculto aos usuários
![Page 7: ACII - SL07 - Introducao aos sistemas distribuidos](https://reader033.vdocuments.net/reader033/viewer/2022052507/558e22311a28ab99398b474e/html5/thumbnails/7.jpg)
Características
! Deveria ser facilmente expansível ! Independência de componentes
! Continuamente disponível ! Queda temporária, consertos ! Substituição ! Inclusão ! Usuário não deveria perceber
![Page 8: ACII - SL07 - Introducao aos sistemas distribuidos](https://reader033.vdocuments.net/reader033/viewer/2022052507/558e22311a28ab99398b474e/html5/thumbnails/8.jpg)
Como?
! Dado as características de como criar e conectar ! Computadores heterogêneo ! Redes diversas ! Tecnologias diferentes ! Componentes, linguagens, etc..
![Page 9: ACII - SL07 - Introducao aos sistemas distribuidos](https://reader033.vdocuments.net/reader033/viewer/2022052507/558e22311a28ab99398b474e/html5/thumbnails/9.jpg)
Como?
Middleware
![Page 10: ACII - SL07 - Introducao aos sistemas distribuidos](https://reader033.vdocuments.net/reader033/viewer/2022052507/558e22311a28ab99398b474e/html5/thumbnails/10.jpg)
Middleware
![Page 11: ACII - SL07 - Introducao aos sistemas distribuidos](https://reader033.vdocuments.net/reader033/viewer/2022052507/558e22311a28ab99398b474e/html5/thumbnails/11.jpg)
Metas
Acesso a recursos
Transparência da
distribuição Abertura
Escalabilidade Problemas inerentes
Um SD é realmente necessário? Se sim:
![Page 12: ACII - SL07 - Introducao aos sistemas distribuidos](https://reader033.vdocuments.net/reader033/viewer/2022052507/558e22311a28ab99398b474e/html5/thumbnails/12.jpg)
Acesso a recursos
! Facilitar o acesso a recurso remotos e compartilhados aos usuários e às aplicações ! Eficiente ! Controlada
! Quais recursos ! Impressora, arquivos, webpages, etc...
! Porque?? $ Economia $
![Page 13: ACII - SL07 - Introducao aos sistemas distribuidos](https://reader033.vdocuments.net/reader033/viewer/2022052507/558e22311a28ab99398b474e/html5/thumbnails/13.jpg)
Acesso a recursos
! WEB ! Comunicação ! Estilo de vida
! Groupware
! Segurança ! Bisbilhotice, senha (texto plano) ! Transmissão e armazenamento
![Page 14: ACII - SL07 - Introducao aos sistemas distribuidos](https://reader033.vdocuments.net/reader033/viewer/2022052507/558e22311a28ab99398b474e/html5/thumbnails/14.jpg)
Acesso a recursos
! Privacidade ! Compra com cartão (leitor) ! Rastreamento
! Perfil, propaganda, spam ! Wang, 1998 (artigo)
! Como se proteger ! Filtros, criptografia
![Page 15: ACII - SL07 - Introducao aos sistemas distribuidos](https://reader033.vdocuments.net/reader033/viewer/2022052507/558e22311a28ab99398b474e/html5/thumbnails/15.jpg)
Transparência da distribuição
![Page 16: ACII - SL07 - Introducao aos sistemas distribuidos](https://reader033.vdocuments.net/reader033/viewer/2022052507/558e22311a28ab99398b474e/html5/thumbnails/16.jpg)
Transparência
! Acesso – Diferenças de sistemas ! Localização – Geografia ! Localização – URL
! http://www.ccae.ufpb.br/ ! Migração – URL ! Realocação – computação móvel ! Replicação – Mídia ! Concorrência – acesso, travas, transações ! Falha – Leslie Lamport, web browser
![Page 17: ACII - SL07 - Introducao aos sistemas distribuidos](https://reader033.vdocuments.net/reader033/viewer/2022052507/558e22311a28ab99398b474e/html5/thumbnails/17.jpg)
Grau de transparência
! Considerações ! Desempenho ! Facilidade
! Exemplo do jornal (7 da manhã) ! Localização
! Cidades ! Mãe natureza (tempo limite)
! Sincronismo ! Replicação de dados
![Page 18: ACII - SL07 - Introducao aos sistemas distribuidos](https://reader033.vdocuments.net/reader033/viewer/2022052507/558e22311a28ab99398b474e/html5/thumbnails/18.jpg)
Grau de transparência
! Impossível total transparência ! Dissimular que alcançaremos
! Explicitar ao usuário e ao desenvolvedor ! Entendimento do funcionamento ! Não surpreender-se
! Bela meta de desenvolvimento, mas ponderar ! Desempenho e facilidade de
compreensão ! Preço alto
![Page 19: ACII - SL07 - Introducao aos sistemas distribuidos](https://reader033.vdocuments.net/reader033/viewer/2022052507/558e22311a28ab99398b474e/html5/thumbnails/19.jpg)
Abertura
! “Um sistema distribuído aberto é um sistema que oferece serviços de acordo com as regras padronizadas que descrevem a sintaxe e a semântica desses serviços”.
! Formato, conteúdo e significado ! Uso da IDL (Interface Definition Language)
! Especificações devem ser completas e neutras. ! Importantes para interoperabilidade e
portabilidade. ! Fornecedores, confiança ! Sistema a, b, ...
! O sistema distribuído deve ser extensível.
![Page 20: ACII - SL07 - Introducao aos sistemas distribuidos](https://reader033.vdocuments.net/reader033/viewer/2022052507/558e22311a28ab99398b474e/html5/thumbnails/20.jpg)
Abertura
! Necessário separar política e mecanismo. ! Muitos sistemas mais antigos e outros
contemporâneos são construídos com uma abordagem monolítica.
! Em uma abordagem relativamente nova é crucial que o sistema seja organizado como um conjunto de componentes relativamente pequenos e de fácil distribuição.
! Cache ! Política, mecanismo ! Horário de trens ! Condições climáticas de tráfego
![Page 21: ACII - SL07 - Introducao aos sistemas distribuidos](https://reader033.vdocuments.net/reader033/viewer/2022052507/558e22311a28ab99398b474e/html5/thumbnails/21.jpg)
Escalabilidade
! Mais importante meta ! Dimensões de escalabilidade (Neuman,
1994) ! Tamanho ! Geográfico ! Administrativos
! E o desempenho?
![Page 22: ACII - SL07 - Introducao aos sistemas distribuidos](https://reader033.vdocuments.net/reader033/viewer/2022052507/558e22311a28ab99398b474e/html5/thumbnails/22.jpg)
Escalabilidade
! Problemas de escalabilidade ! Tamanho
![Page 23: ACII - SL07 - Introducao aos sistemas distribuidos](https://reader033.vdocuments.net/reader033/viewer/2022052507/558e22311a28ab99398b474e/html5/thumbnails/23.jpg)
Escalabilidade
! Problemas de escalabilidade ! Tamanho ! As vezes necessário
! Centralizado (Confidenciabilidade) – Histórico médico – Banco
! Agenda de telefones – 50 milhões (2,5 GB)
! Informação instantânea – Algoritmos melhores
![Page 24: ACII - SL07 - Introducao aos sistemas distribuidos](https://reader033.vdocuments.net/reader033/viewer/2022052507/558e22311a28ab99398b474e/html5/thumbnails/24.jpg)
Escalabilidade
! Problemas de escalabilidade ! Tamanho ! Algoritmo descentralizados
! Nenhuma máquina tem informações completas sobre o estado do sistema
! As máquinas tomam decisões tendo como base somente informações locais
! A falha de uma máquina não arruína o algoritmo
! Não há nenhuma premissa implícita quanto à existência de um relógio global
![Page 25: ACII - SL07 - Introducao aos sistemas distribuidos](https://reader033.vdocuments.net/reader033/viewer/2022052507/558e22311a28ab99398b474e/html5/thumbnails/25.jpg)
Escalabilidade ! Problemas de escalabilidade
! Geográfico ! Comunicação síncrona
– Cliente/bloqueio/servidor/desbloqueio ! Confiabilidade
– Ponto-a-ponto – <> LAN (broadcast) facilita
! Componente centralizados – Servidor de e-mail
! Domínios administrativos – Utilização (recursos, gerenciamento,
segurança, pagamento) – Expansão para outros domínios
![Page 26: ACII - SL07 - Introducao aos sistemas distribuidos](https://reader033.vdocuments.net/reader033/viewer/2022052507/558e22311a28ab99398b474e/html5/thumbnails/26.jpg)
Escalabilidade
! Técnicas de escalabilidade ! Devidos basicamente a capacidades limitada
de servidores ! Três tipos (Neuman, 1994)
! Ocultar latências ! Distribuição ! Replicação
![Page 27: ACII - SL07 - Introducao aos sistemas distribuidos](https://reader033.vdocuments.net/reader033/viewer/2022052507/558e22311a28ab99398b474e/html5/thumbnails/27.jpg)
Escalabilidade
! Técnicas de escalabilidade ! Ocultar latências
! Comunicações assíncronas – Evita paradas bruscas – Ñ app. Interativas
» Redução de comunicação » Partição do processamento » Exemplo do formulário
![Page 28: ACII - SL07 - Introducao aos sistemas distribuidos](https://reader033.vdocuments.net/reader033/viewer/2022052507/558e22311a28ab99398b474e/html5/thumbnails/28.jpg)
Escalabilidade ! Técnicas de escalabilidade
! Ocultar latências
![Page 29: ACII - SL07 - Introducao aos sistemas distribuidos](https://reader033.vdocuments.net/reader033/viewer/2022052507/558e22311a28ab99398b474e/html5/thumbnails/29.jpg)
Escalabilidade
! Técnicas de escalabilidade ! Distribuição
! Sub-dividir em componentes menores
! Distribuí-lo através do sistema ! Exemplo típico DNS
![Page 30: ACII - SL07 - Introducao aos sistemas distribuidos](https://reader033.vdocuments.net/reader033/viewer/2022052507/558e22311a28ab99398b474e/html5/thumbnails/30.jpg)
Escalabilidade
! Técnicas de escalabilidade ! Distribuição (Exemplo típico DNS)
![Page 31: ACII - SL07 - Introducao aos sistemas distribuidos](https://reader033.vdocuments.net/reader033/viewer/2022052507/558e22311a28ab99398b474e/html5/thumbnails/31.jpg)
Escalabilidade
! Técnicas de escalabilidade ! Replicação
! Aumenta a disponibilidade ! Equilibra a carga entre componentes ! Cache caso especial
– Cliente não desenvolvedor – Demanda e não planejado
! Problemas de consistência ! Natureza (3x10^8 m/s) fotons
![Page 32: ACII - SL07 - Introducao aos sistemas distribuidos](https://reader033.vdocuments.net/reader033/viewer/2022052507/558e22311a28ab99398b474e/html5/thumbnails/32.jpg)
Escalabilidade
! Técnicas de escalabilidade ! Tamanho
! Mais ou melhores equipamentos – Solução temporária e custosa
! Geográfica ! Mãe natureza
! Replicação ! Consistência
! Administrativas ! Problemas não técnicos (polít.)
![Page 33: ACII - SL07 - Introducao aos sistemas distribuidos](https://reader033.vdocuments.net/reader033/viewer/2022052507/558e22311a28ab99398b474e/html5/thumbnails/33.jpg)
Ciladas
! Premissas falsas adotadas ao desenvolver uma aplicação distribuída pela primeira vez
1. A rede é confiável 2. A rede é segura 3. A rede é homogênea 4. A topologia não muda 5. A latência é zero 6. A largura da banda é infinita 7. O custo de transporte é zero 8. Há apenas um administrador
![Page 34: ACII - SL07 - Introducao aos sistemas distribuidos](https://reader033.vdocuments.net/reader033/viewer/2022052507/558e22311a28ab99398b474e/html5/thumbnails/34.jpg)
Tipos
! Tipos de Sistemas Distribuídos ! Sistemas de computação distribuídos ! Sistemas de informação distribuídos ! Sistemas embutidos distribuído
![Page 35: ACII - SL07 - Introducao aos sistemas distribuidos](https://reader033.vdocuments.net/reader033/viewer/2022052507/558e22311a28ab99398b474e/html5/thumbnails/35.jpg)
Sistemas de Computação Distribuídos
! Tarefas de computação de alto desempenho ! Computação em cluster
! Homogeneidade ! Rede
! Computação em grade (grid) ! Federações de computadores ! Domínios administrativos diferentes ! Heterogeneidade
![Page 36: ACII - SL07 - Introducao aos sistemas distribuidos](https://reader033.vdocuments.net/reader033/viewer/2022052507/558e22311a28ab99398b474e/html5/thumbnails/36.jpg)
Sistemas de computação distribuídos
! Sistemas de computação em cluster ! Preço/desempenho ! Hardware de prateleira ! Rede de alta velocidade (100/MB) ! Único programa ! NASA 1991 ! Sistema Beowulf ! Outros sistemas
![Page 37: ACII - SL07 - Introducao aos sistemas distribuidos](https://reader033.vdocuments.net/reader033/viewer/2022052507/558e22311a28ab99398b474e/html5/thumbnails/37.jpg)
Sistemas de computação distribuídos
! Sistemas de computação em cluster ! Cluster
! Conjunto de nós ! Master/Slave (Mestre/Escravo) ! Papel do slave ! Papel do master ! Middleware
– Sistema operacional padrão
![Page 38: ACII - SL07 - Introducao aos sistemas distribuidos](https://reader033.vdocuments.net/reader033/viewer/2022052507/558e22311a28ab99398b474e/html5/thumbnails/38.jpg)
Sistemas de computação distribuídos
! Sistemas de computação em cluster ! Cluster
![Page 39: ACII - SL07 - Introducao aos sistemas distribuidos](https://reader033.vdocuments.net/reader033/viewer/2022052507/558e22311a28ab99398b474e/html5/thumbnails/39.jpg)
Sistemas de computação distribuídos
! Sistemas de computação em cluster ! Cluster
! Bibliotecas de comunicação ! Ñ segurança, falhas, ... ! Hierárquico
! Mosix ! Não hierárquica ! Simetrismo ! Transparência (sistema único) ! Migração (nó nativo)
![Page 40: ACII - SL07 - Introducao aos sistemas distribuidos](https://reader033.vdocuments.net/reader033/viewer/2022052507/558e22311a28ab99398b474e/html5/thumbnails/40.jpg)
Sistemas de computação distribuídos
! Sistemas de computação em grade ! Cluster – homogêneo ! Contraponto – alta heterogeneidade ! Sem premissas de hardware, S.O.,
redes, domínios administrativos, política de segurança, ...
! Organização virtual ! Supercomputadores, redes, DBs,
etc...
![Page 41: ACII - SL07 - Introducao aos sistemas distribuidos](https://reader033.vdocuments.net/reader033/viewer/2022052507/558e22311a28ab99398b474e/html5/thumbnails/41.jpg)
Sistemas de computação distribuídos
! Sistemas de computação em grade ! Arquitetura (Foster, 2001) ! 4 camadas
! Camada-base – Camada de conectividade – Camada de recursos
! Camada coletiva ! Camada de aplicação
![Page 42: ACII - SL07 - Introducao aos sistemas distribuidos](https://reader033.vdocuments.net/reader033/viewer/2022052507/558e22311a28ab99398b474e/html5/thumbnails/42.jpg)
Sistemas de computação distribuídos
! Sistemas de computação em grade ! Arquitetura (Foster, 2001)
![Page 43: ACII - SL07 - Introducao aos sistemas distribuidos](https://reader033.vdocuments.net/reader033/viewer/2022052507/558e22311a28ab99398b474e/html5/thumbnails/43.jpg)
Sistemas de computação distribuídos
! Sistemas de computação em grade ! Arquitetura (Foster, 2001) ! Arquitetura de serviços de grade aberta
! OGSA (Open Grid Services Architecture)
! CERN ! GRID Mundial
! OurGrid
![Page 44: ACII - SL07 - Introducao aos sistemas distribuidos](https://reader033.vdocuments.net/reader033/viewer/2022052507/558e22311a28ab99398b474e/html5/thumbnails/44.jpg)
Sistemas de Informação distribuídos
! Sistemas de processamento de transações ! Operações iniciais ! Agrupamento de operações
! Transações distribuídas ! Empacota várias requisições de
programas clientes em uma transação distribuída.
! Sistemas de aplicações empresariais ! Integração de aplicações empresariais
(EAI)
![Page 45: ACII - SL07 - Introducao aos sistemas distribuidos](https://reader033.vdocuments.net/reader033/viewer/2022052507/558e22311a28ab99398b474e/html5/thumbnails/45.jpg)
Sistemas embutidos distribuídos ! Sistemas distribuídos pervasivos
! Localização ! Estável <> Móvel
! Móvel e embutido ! Pequeno tamanho, alimentação por
bateria, mobilidade, conexão sem fio ! Ñ significa restritivo (smartphone)
! Não possui controle administrativo humano ! Adotar mudanças contextuais ! Incentivar composição ad hoc ! Reconhecer compartilhamento como
padrão
![Page 46: ACII - SL07 - Introducao aos sistemas distribuidos](https://reader033.vdocuments.net/reader033/viewer/2022052507/558e22311a28ab99398b474e/html5/thumbnails/46.jpg)
Sistemas distribuídos embutidos
! Sistemas domésticos ! TV ! Computadores ! Players (vídeo, jogos, informação) ! Convergência ! PDA ! Fone
! UPnP – Universal Plug and Play ! 802.x (conectividade)
![Page 47: ACII - SL07 - Introducao aos sistemas distribuidos](https://reader033.vdocuments.net/reader033/viewer/2022052507/558e22311a28ab99398b474e/html5/thumbnails/47.jpg)
Sistemas distribuídos embutidos
! Sistemas eletrônicos para tratamento de saúde ! BAN (body-area Network)
![Page 48: ACII - SL07 - Introducao aos sistemas distribuidos](https://reader033.vdocuments.net/reader033/viewer/2022052507/558e22311a28ab99398b474e/html5/thumbnails/48.jpg)
Sistemas distribuídos embutidos ! Redes de Sensores
![Page 49: ACII - SL07 - Introducao aos sistemas distribuidos](https://reader033.vdocuments.net/reader033/viewer/2022052507/558e22311a28ab99398b474e/html5/thumbnails/49.jpg)
Dúvidas