ACII - SL07 - Introducao aos sistemas distribuidos

9,552 views

Published on

Aula sobre introdução aos sistemas distribuídos. introducao, sistemas, distribuidos, arquitetura, cluster, grid, midleware

Published in: Education
0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
9,552
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
282
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide

ACII - SL07 - Introducao aos sistemas distribuidos

  1. 1. 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 Prof. Rafael Marrocos Magalhães rafael@dce.ufpb.br17 de Outubro de 2001 UFPB – CCAE - DCE
  2. 2. (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
  3. 3. (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
  4. 4. 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?
  5. 5. 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
  6. 6. Características }!   Diferenças entre computadores!   Formas como se comunicam!   Organização interna dos SD oculto aos usuários!   Interação !   Consistente, uniforme (independente do ponto)
  7. 7. 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
  8. 8. Como?!   Dado as características de como criar e conectar !   Computadores heterogêneo !   Redes diversas !   Tecnologias diferentes !   Componentes, linguagens, etc..
  9. 9. Como?Middleware
  10. 10. Middleware
  11. 11. Metas Um SD é realmente necessário? Se sim: TransparênciaAcesso a da Aberturarecursos distribuição Problemas Escalabilidade inerentes
  12. 12. 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 $
  13. 13. Acesso a recursos!   WEB !   Comunicação !   Estilo de vida!   Groupware!   Segurança !   Bisbilhotice, senha (texto plano) !   Transmissão e armazenamento
  14. 14. Acesso a recursos!   Privacidade !   Compra com cartão (leitor) !   Rastreamento !   Perfil, propaganda, spam !   Wang, 1998 (artigo) !   Como se proteger !   Filtros, criptografia
  15. 15. Transparência da distribuição
  16. 16. 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
  17. 17. 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
  18. 18. 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
  19. 19. 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.
  20. 20. 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
  21. 21. Escalabilidade!   Mais importante meta!   Dimensões de escalabilidade (Neuman, 1994) !   Tamanho !   Geográfico !   Administrativos!   E o desempenho?
  22. 22. Escalabilidade!   Problemas de escalabilidade !   Tamanho
  23. 23. 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
  24. 24. 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
  25. 25. 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
  26. 26. Escalabilidade!   Técnicas de escalabilidade!   Devidos basicamente a capacidades limitada de servidores!   Três tipos (Neuman, 1994) !   Ocultar latências !   Distribuição !   Replicação
  27. 27. 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
  28. 28. Escalabilidade!   Técnicas de escalabilidade !   Ocultar latências
  29. 29. Escalabilidade!   Técnicas de escalabilidade !   Distribuição !   Sub-dividir em componentes menores !   Distribuí-lo através do sistema !   Exemplo típico DNS
  30. 30. Escalabilidade!   Técnicas de escalabilidade !   Distribuição (Exemplo típico DNS)
  31. 31. 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
  32. 32. 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.)
  33. 33. 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
  34. 34. Tipos!   Tipos de Sistemas Distribuídos !   Sistemas de computação distribuídos !   Sistemas de informação distribuídos !   Sistemas embutidos distribuído
  35. 35. 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
  36. 36. 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
  37. 37. 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
  38. 38. Sistemas de computação distribuídos!   Sistemas de computação em cluster !   Cluster
  39. 39. 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)
  40. 40. 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...
  41. 41. 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
  42. 42. Sistemas de computação distribuídos!   Sistemas de computação em grade !   Arquitetura (Foster, 2001)
  43. 43. 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
  44. 44. 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)
  45. 45. 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
  46. 46. 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)
  47. 47. Sistemas distribuídos embutidos!   Sistemas eletrônicos para tratamento de saúde !   BAN (body-area Network)
  48. 48. Sistemas distribuídos embutidos!   Redes de Sensores
  49. 49. Dúvidas

×