Anzeige

Más contenido relacionado

Presentaciones para ti(20)

Anzeige
Anzeige

Sd capitulo01

  1. SISTEMAS DISTRIBUÍDOS 2008.2 Capítulo 1 Introdução André Ribeiro Cardoso - andrec@larces.uece.br 1
  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. 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. 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. 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. Sumário • Definição • Metas • Tipos de Sistemas Distribuídos 6
  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. 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. 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. Sumário • Definição • Metas • Tipos de Sistemas Distribuídos 10
  11. Metas • Acesso a recursos • Transparência da distribuição • Escalabilidade • Confiabilidade • Flexibilidade • Desempenho • Heterogeneidade • Segurança 11
  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. Metas • Acesso a recursos • Transparência da distribuição • Escalabilidade • Confiabilidade • Flexibilidade • Desempenho • Heterogeneidade • Segurança 13
  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. 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. 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. 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. 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. 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. Metas • Transparência da distribuição (sumário) 20
  21. Metas • Acesso a recursos • Transparência da distribuição • Abertura • Escalabilidade • Confiabilidade • Flexibilidade • Desempenho • Heterogeneidade • Segurança 21
  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. Metas • Acesso a recursos • Transparência da distribuição • Abertura • Escalabilidade • Confiabilidade • Flexibilidade • Desempenho • Heterogeneidade • Segurança 23
  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. Metas • Escalabilidade/Problemas (tamanho) 25
  26. Metas • Escalabilidade/Problemas (geográfica) 26
  27. Metas • Escalabilidade/Problemas (administrativa) 27
  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. 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. Metas • Escalabilidade/Técnicas – Distribuição Divisão do espaço de nomes do DNS em zonas 30
  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. Metas • Acesso a recursos • Transparência da distribuição • Escalabilidade • Confiabilidade • Flexibilidade • Desempenho • Heterogeneidade • Segurança 32
  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. Metas • Acesso a recursos • Transparência da distribuição • Escalabilidade • Confiabilidade • Flexibilidade • Desempenho • Heterogeneidade • Segurança 34
  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. Metas • Acesso a recursos • Transparência da distribuição • Escalabilidade • Confiabilidade • Flexibilidade • Desempenho • Heterogeneidade • Segurança 36
  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. Metas • Acesso a recursos • Transparência da distribuição • Escalabilidade • Confiabilidade • Flexibilidade • Desempenho • Heterogeneidade • Segurança 38
  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. Metas • Acesso a recursos • Transparência da distribuição • Escalabilidade • Confiabilidade • Flexibilidade • Desempenho • Heterogeneidade • Segurança 40
  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. Sumário • Definição • Metas • Tipos de Sistemas Distribuídos 42
  43. Tipos de SDs • Sistemas de Computação Distribuídos • Sistemas de Informação Distribuídos • Sistemas Embutidos Distribuídos 43
  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. 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. 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. 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. 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
Anzeige