Sd capitulo01

1,650 views
1,492 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,650
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
43
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Sd capitulo01

  1. 1. SISTEMAS DISTRIBUÍDOS 2008.2 Capítulo 1 IntroduçãoAndré Ribeiro Cardoso - andrec@larces.uece.br 1
  2. 2. Apresentação• Prof. André Ribeiro Cardoso (andrec@larces.uece.br)• Material didático: http://www.larces.uece.br/~andrec/SD20082• Sistema de avaliação: – Duas provas teóricas - P1 e P2 – Trabalhos práticos - T – Seminários - S média = (P + P + T + S) 1 2 /4• Condição para aprovação: média >= 7,0 – Nota final = (média + NEF) / 2 >= 5,0 2
  3. 3. Bibliografia• Sistemas Distribuídos – Princípios e Paradigmas (2a edição) Andrew Tanenbaum / Maarten Van Steen• Sistemas Distribuídos – Conceitos e Projetos (4a edição) George Coulouris, Jean Dollimore e Tim Kindberg 3
  4. 4. Objetivos• Apresentar os princípios de funcionamento, conceitos avançados e tecnologias subjacentes dos Sistemas Distribuídos• Explorar os conhecimentos adquiridos através de Trabalhos Práticos e Seminários Avançados 4
  5. 5. Cronograma (60horas)• Dezembro/2008 – 02, 04, 09, 11, 16, 18, 23 -------------------- 2009 --------------------• Janeiro – 06, 08, 13, 15, 20, 22, 27, 29• Fevereiro – 03, 05, 10, 12, 17, 19, 26• Março – 03, 05, 10, 12, 17, 24, 26, 31• Abril – 02, 07, 14, 16, 20 5
  6. 6. Sumário• Definição• Metas• Tipos de Sistemas Distribuídos 6
  7. 7. Definição• “Um sistema distribuído (SD) é um conjunto de computadores independentes que se apresenta a seus usuários como um sistema único e coerente” (Tanenbaum)• “Um sistema em que componentes de hardware e software localizados em computadores em rede se comunicam e coordenam suas ações por passagem de mensagens” (Coulouris et al.)• Implica em: concorrência, ausência de relógio global e falhas isoladas e independentes• Motivação: compartilhamento de recursos 7
  8. 8. Definição Sistemas Distribuídos“Você que tem um quando a falha de um computador do qual você nunca ouviu falar impede que você faça qualquer trabalho” 8
  9. 9. Definição Arquitetura geral de um SD• Middleware: camada de software que se estende por várias máquinas e oculta das aplicações as diferenças em hardware e sistemas operacionais 9
  10. 10. Sumário• Definição• Metas• Tipos de Sistemas Distribuídos 10
  11. 11. Metas• Acesso a recursos• Transparência da distribuição• Escalabilidade• Confiabilidade• Flexibilidade• Desempenho• Heterogeneidade• Segurança 11
  12. 12. Metas• Acesso/compartilhamento de recursos – Considerada PRINCIPAL META – Tipos de recursos • Impressoras, computadores, dados, Hds etc. – Um SD deve oferecer fácil acesso a recursos remotos e compartilhamento eficiente/controlado – Compartilhamento de recursos induz a economia 12
  13. 13. Metas• Acesso a recursos• Transparência da distribuição• Escalabilidade• Confiabilidade• Flexibilidade• Desempenho• Heterogeneidade• Segurança 13
  14. 14. Metas• Transparência da distribuição – Oculta o fato de recursos estarem distribuídos – Um SD se apresenta a usuários e aplicações como um sistema único (TRANSPARENTE) – Tipos de transparências • Acesso, Localização, Migração, Relocação, Replicação, Concorrência e Falha 14
  15. 15. Metas Transparência da distribuição (cont.)• Acesso – Trata de ocultar diferenças em representação de dados (máquinas com arquiteturas diferentes) – Diferenças entre sistemas de nomeação e como arquivos são manipulados• Localização – O nome do recurso deve ser independente de sua localização física (sist. nomeação tem papel importante) – Nomes lógicos (URL): usuário acessa recursos da independente de onde ele está 15
  16. 16. Metas Transparência da distribuição (cont.)• Migração – Objetos podem migrar de uma máquina a outra por questões de desempenho, confiabilidade, segurança etc. – Deve • Ser feita de forma automática pelo sistema • Manter nome do objeto • Garantir continuidade de comunicação 16
  17. 17. Metas Transparência da distribuição (cont.)• Relocação – Oculta que um recurso (notebook) possa ser movido para outra localização durante o uso – Quando um usuário é móvel? • Um notebook se movimentando dentro da mesma área de cobertura (não é móvel) • Um automóvel passando por várias redes de acesso sem fio, com conexão ininterrupta (móvel) • Um notebook numa lanchonete sem necessidade de conectividade durante trajetória (móvel) 17
  18. 18. Metas Transparência da distribuição (cont.)• Replicação – Permite que várias instâncias de recursos sejam usadas para aumentar a confiabilidade e o desempenho – Deve • Mascarar o conhecimento das réplicas por parte dos usuários ou dos programadores de aplicativos 18
  19. 19. Metas Transparência da distribuição (cont.)• Concorrência – Coordenar acessos a recursos compartilhados • Ordenação de eventos: todos usuários ter uma mesma visão do sistema • Garantir exclusão mútua • Evitar postergação indefinida • Evitar deadlocks• Tolerar falhas, detectar e recuperar falhas 19
  20. 20. Metas• Transparência da distribuição (sumário) 20
  21. 21. Metas• Acesso a recursos• Transparência da distribuição• Abertura• Escalabilidade• Confiabilidade• Flexibilidade• Desempenho• Heterogeneidade• Segurança 21
  22. 22. Metas• Abertura – SD aberto oferece serviços de acordo com regras padronizadas para descreverem a sintaxe e semântica dos serviços • Ex: Em redes, existe a padronização de protocolos que regem o conteúdo, formato e significado das mensagens • Em SDs, os serviços são especificados por IDLs – IDLs capturam a sintaxe dos serviço (especificam nome das funções, tipos de parâmetros, valores de retorno, exceções etc. – Especificação da semântica (parte complicada) 22
  23. 23. Metas• Acesso a recursos• Transparência da distribuição• Abertura• Escalabilidade• Confiabilidade• Flexibilidade• Desempenho• Heterogeneidade• Segurança 23
  24. 24. Metas• Escalabilidade – De tamanho • Entrada de vários usuários ao sistema – Geográfica • Usuários e recursos devem estar longe uns dos outros – Administrativa • Envolvimento de várias organizações administrativas 24
  25. 25. Metas• Escalabilidade/Problemas (tamanho) 25
  26. 26. Metas• Escalabilidade/Problemas (geográfica) 26
  27. 27. Metas• Escalabilidade/Problemas (administrativa) 27
  28. 28. Metas• Escalabilidade/Técnicas – Ocultar latências (geográfica) • Idéia: evitar o tempo de resposta a req. remotas • Comunicação assíncrona: execução de outros trabalhos – Distribuição • Idéia: dividir um componente em partes e espalhar pelo sistema • Ex: DNS e Web – Replicação / Cache • Idéia: replicar recursos para aumentar disponibilidade 28
  29. 29. Metas• Escalabilidade/Técnicas – Ocultar latências: Aplicações interativas não usam comunicação assíncrona • Solução: uso de formulários Diferença entre deixar um servidor ou um cliente verificar formulários 29
  30. 30. Metas• Escalabilidade/Técnicas – Distribuição Divisão do espaço de nomes do DNS em zonas 30
  31. 31. Metas• Escalabilidade/Técnicas – Replicação/Cache (*) Replicação: decisão do proprietário Cache: decisão do cliente (*) Problema de consistência de dados 31
  32. 32. Metas• Acesso a recursos• Transparência da distribuição• Escalabilidade• Confiabilidade• Flexibilidade• Desempenho• Heterogeneidade• Segurança 32
  33. 33. Metas• Confiabilidade – Tolerar falhas • Habilidade do sistema continuar operacional mesmo na presença de falhas (redundância e controle distribuído) – Detectar e recuperar falhas • Capacidade para detectar ocorrência de falhas e levar o sistema a um estado aceitável para a continuidade da operação (mecanismos de retransmissão de msgs) 33
  34. 34. Metas• Acesso a recursos• Transparência da distribuição• Escalabilidade• Confiabilidade• Flexibilidade• Desempenho• Heterogeneidade• Segurança 34
  35. 35. Metas• Flexibilidade – Capacidade de modificação e inclusão • Correção/manutenção do sistema sem interrupção do serviço • Inclusão de novas funcionalidades e recursos (integração de componentes) 35
  36. 36. Metas• Acesso a recursos• Transparência da distribuição• Escalabilidade• Confiabilidade• Flexibilidade• Desempenho• Heterogeneidade• Segurança 36
  37. 37. Metas• Desempenho – Objetivo: transformar o desempenho tão bom quanto, ou mesmo superior, a de um sistema centralizado – Técnicas básicas • Uso da cache • Minimizar a necessidade de transferência de dados e sincronização • Explorar uso de paralelismo de alta granularidade (threads, concorrência etc.) 37
  38. 38. Metas• Acesso a recursos• Transparência da distribuição• Escalabilidade• Confiabilidade• Flexibilidade• Desempenho• Heterogeneidade• Segurança 38
  39. 39. Metas• Heterogeneidade – Objetivo: permitir a interação de sistemas diferentes tanto em nível de software como de hardware • Inclui diferentes SOs e linguagens de programação – Técnicas básicas • Uso de protocolos • Uso de formatos comuns para representação de dados (XDR, XML etc.) • Camadas de adaptação (Middleware) 39
  40. 40. Metas• Acesso a recursos• Transparência da distribuição• Escalabilidade• Confiabilidade• Flexibilidade• Desempenho• Heterogeneidade• Segurança 40
  41. 41. Metas• Segurança – Objetivo: proteção recursos compartilhados e manutenção da confiabilidade de dados – Deve considerar mecanismos para: • Autenticação • Autorização • Integridade • Confidencialidade • Autenticidade – Técnicas de criptografia – Preocupação com ataques (DoS, DDoS) 41
  42. 42. Sumário• Definição• Metas• Tipos de Sistemas Distribuídos 42
  43. 43. Tipos de SDs• Sistemas de Computação Distribuídos• Sistemas de Informação Distribuídos• Sistemas Embutidos Distribuídos 43
  44. 44. Tipos de SDs• Sistemas de Computação Distribuídos – Sistemas de computação de clusters – Sistemas de computação em grade (grids) 44
  45. 45. Tipos de SDs• Sistemas de computação de clusters – Conjunto de estações de trabalho ou PCs semelhantes, conectados por meio de uma rede de alta velocidade – Cada nó executa o mesmo SO – Hardware subjacente homogêneo – Usado para processamento paralelo – único programa executado em várias máquinas 45
  46. 46. Tipos de SDs• Ex: Cluster Beowulf – Nó mestre (middleware) • Aloca nós de computação a um determinado programa paralelo, mantém uma fila de jobs e gerencia o cluster – Nó de computação • SO padrão 46
  47. 47. Tipos de SDs• Sistemas de computação em grade (grids) – SDs montados como federação de computadores, na qual cada sistema pode cair sob um sistema administrativo diferente, e pode ser muito diferente no que tange a hardware, software e tecnologia empregada – Apresentam alto grau de heterogeneidade – Software usado para permitir acesso a recursos (e.g. muitas vezes clusters) de diferentes organizações reunidos para permitir a colaboração de um grupo (conceito de organização virtual) – Foco dirigido para a arquitetura 47
  48. 48. Tipos de SDs• Sistemas Distribuídos Pervasivos – Dispositivos de computação móveis e embutidos • Pequeno porte • Alimentação por bateria – Ausência geral de controle humano – Exemplos • Sistemas doméstios • Redes de sensores • Sistemas eletrônicos para tratamento de saúde 48

×