Sistemas Distribuídos - PowerPoint PPT Presentation

sistemas distribu dos n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
Sistemas Distribuídos PowerPoint Presentation
Download Presentation
Sistemas Distribuídos

play fullscreen
1 / 79
Sistemas Distribuídos
281 Views
Download Presentation
orpah
Download Presentation

Sistemas Distribuídos

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

  1. Sistemas Distribuídos Faculdade Ieducare 8º Semestre – Sistemas de Informação Professor: Rhyan Ximenes Sistemas Distribuídos

  2. Sistemas Operacionais Distribuídos • O que é um sistema distribuídos? - É uma coleção de computadores independentes que aparenta ser um único computador aos seus usuários. Exemplos: Rede com estações de trabalho e processadores stand-alone alocados por demanda com um sistema de arquivos unificado; Sistema bancário com terminais espalhados geograficamente e um único banco de dados. Stand-alone – Programas que rodam sozinhos. Sistemas Distribuídos

  3. Sistemas Operacionais Distribuídos • Como se tornou possível o surgimento desses sistemas? • Com o surgimento de computadores mais rápidos e baratos e o surgimento de redes de computadores de alta velocidade. Sistemas Distribuídos

  4. Vantagens de S.D sobre sistemas centralizados. • Lei de Grosch – O poder de computação de um computador é proporcional ao quadrado do seu preço. (Aplicável a mainframes); • No caso de microprocessadores, é mais barato se comprar vários processadores e montá-los em um sistema multi-processador (preço); • Em alguns casos, é teoricamente impossível de se construir um computador centralizado que possa ser comparado a um sistema distribuído com uma grande quantidade de processadores (velocidade); Sistemas Distribuídos

  5. Vantagens de S.D sobre sistemas centralizados. • Algumas aplicações são inerentemente distribuídas - Sistema de uma cadeia de lojas, jogos ou outras aplicações cooperativas(distributividade inerente); • Maior confiabilidade, útil em aplicações de alto risco (confiabilidade); • Crescimento incremental – acaba com necessidade da compra de mainframes cada vez maiores, agora o sistema pode ser trocado aos poucos (crescimento incremental). Sistemas Distribuídos

  6. Vantagens de S.D sobre micros independentes: • Compartilhamento de dados (colaboração e preço); • Compartilhamento de dispositivos (preço); • Comunicação; • Mistura de computadores pessoais e compartilhados pode permitir uma distribuição de tarefas mais eficiente (flexibilidade). Sistemas Distribuídos

  7. Desvantagens de S.D • Software – Sistemas Operacionais, linguagens de programação e aplicações; • Comunicação – Tratamento e recuperação de mensagens; Melhoria da rede pode acarretar em custos altos. • Segurança – Compartilhamento de dados implica em esquemas especiais para proteção de dados sigilosos. Sistemas Distribuídos

  8. Características de S.D • Sistema de comunicação interprocessos único, independente se os dois processos estão localizados na mesma máquina ou não; • Esquema de proteção global; • Gerenciamento de processos único, isto é, como eles são criados, destruídos, iniciados ou parados; Sistemas Distribuídos

  9. Características de S.D • A idéia usada nos sistemas operacionais de rede de se estabelecer protocolos para a comunicação cliente-servidor não é suficiente; • Deve haver um único conjunto de chamadas de sistema em todas as máquinas e as chamadas devem ser projetadas levando em conta o ambiente distribuído. Sistemas Distribuídos

  10. Características de S.D • Sistema de arquivos deve ter a mesma visão e regras em todas as máquinas. • Segurança deve ser implementada em relação aos usuários e não em relação as máquinas. Sistemas Distribuídos

  11. Características de S.D • Geralmente, o mesmo núcleo (kernel) roda em todas as máquinas, já que os mesmos implementam as mesmas funções e chamadas; • Cada núcleo pode ter um controle razoável sobre os recursos locais; - Exemplo: no gerenciamento de memória, swapping, ou até escalonamento de processos, no caso de uma CPU possuir mais de um processo sendo executado. Sistemas Distribuídos

  12. Sistemas Distribuídos Verdadeiro • As vezes são chamados de sistemas operacionais distribuídos; • Software fortemente acoplado (tightly-coupled) em um hardware fracamente acoplado (loosely-coupled); Sistemas Distribuídos

  13. Sistemas Distribuídos Verdadeiro • O objetivo: - Criação de uma ilusão para os usuários que o sistema de multicomputadores funciona como uma grande máquina de tempo compartilhado; - As vezes são referenciados como sistemas de imagem única ou uni processador virtual. Sistemas Distribuídos

  14. Sistemas Operacionais de Redes • Looselycoupled – Comunicação é explicitamente solicitada pelo usuário e se dá através da troca de mensagens; • Distribuição do sistema é clara para o usuário; • Servidores de arquivos fornecem arquivos a máquinas clientes; Sistemas Distribuídos

  15. Sistemas Operacionais de Redes • Usuários diferentes tem visões diferentes do sistema, devido a diferenças em como os sistemas de arquivo locais estão organizados e quais dispositivos locais as máquinas possuem, etc. Sistemas Distribuídos

  16. Sistemas Operacionais de Redes • Máquinas podem rodar diferentes versões de um mesmo S.O ou até diferentes S.Os desde que os protocolos de comunicação e serviços sejam usados por todas as máquinas; • A “coordenação” (mínima) de serviços entre as máquinas é feita através da aderência aos protocolos. Sistemas Distribuídos

  17. Definição de Sistema Distribuídos Um Sistema Distribuído (SD) é: Exemplo de S.D Um conjunto de computadores independentes que se apresenta a seus usuários como um sistema único e coerente. Sistemas Distribuídos

  18. Exemplo de S.D (2) Sistemas Distribuídos

  19. Definição de Sistema Distribuído(5) • Um Sistema Distribuído organizado como um middleware. • O SD oculta as diferenças de hardware e de sistemas operacionais das aplicações distribuídas; • A camada middleware se estende por várias máquinas e oferece a mesma interface a cada aplicação. Middleware ou mediador, no campo da computação distribuída, é um programa de computador que faz a mediação entre software e demais aplicações. É utilizado para mover ou transportar informações e dados entre programas de diferentes protocolos de comunicação, plataformas e dependências do sistema operacional.  Sistemas Distribuídos

  20. Metas de projeto • Um Sistema Distribuído deve: • Oferecer fácil acesso a seus recursos groupware; • Ocultar razoavelmente bem o fato de que os recursos são distribuídos por uma rede (Transparência); • Ser aberto Inerface Definition Language (IDL) e • Poder ser expandido (Escalabilidade). Sistemas Distribuídos

  21. Transparência em um Sistema Distribuído Diferentes formas de transparência em um sistema distribuído. Sistemas Distribuídos

  22. Escalabilidade • A escalabilidade pode ser medida segundo três dimensões: • Escalabilidade de tamanho: é fácil adicionar mais usuários e recursos no sistema • Escalabilidade geográfica: usuários e recursos podem estar distantes entre si • Escalabilidade administrativa: é fácil de gerenciar, mesmo que abranja muitas organizações administrativas diferentes Sistemas Distribuídos

  23. Problemas na Escalabilidade (1) Sistemas Distribuídos

  24. Problemas na Escalabilidade (2) • Características dos algoritmos descentralizados: • Nenhuma máquina tem informações completas sobre o estado do sistemas. Sistemas Distribuídos

  25. Problemas na Escalabilidade (2) • 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. Sistemas Distribuídos

  26. Técnicas de Escalabilidade(1) Sistemas Distribuídos

  27. Técnicas de Escalabilidade (2)ocultar latência Latência é a diferença de tempo entre o início de um evento e o momento em que seus efeitos tornam-se perceptíveis.  Sistemas Distribuídos

  28. Técnicas de Escalabilidade (3)distribuição Sistemas Distribuídos

  29. Alguém sabe como funciona o DNS? • O DNS ( DomainNameSystem - Sistema de Nomes de Domínios ) é um sistema de gerenciamento de nomes  hierarquicos e distribuído visando resolver nomes de domínios em endereços de rede (IP). Sistemas Distribuídos

  30. Alguém sabe como funciona o DNS? • Ele baseia-se em nomes hierárquicos e permite a inscrição de vários dados digitados além do nome do host e seu IP. • O servidor DNS traduz nomes para os endereços IP e endereços IP para nomes respectivos, e permitindo a localização de hosts em um domínio determinado. Sistemas Distribuídos

  31. Alguém sabe como funciona o DNS? • Existem 13 servidores DNS raiz no mundo todo e sem eles a Internet não funcionaria. • Destes, dez estão localizados nos Estados Unidos da América, um na Ásia e dois na Europa. Sistemas Distribuídos

  32. Alguém sabe como funciona o DNS? • Para Aumentar a base instalada destes servidores, foram criadas réplicas localizadas por todo o mundo, inclusive no Brasil desde 2003. • Ou seja, os servidores de diretórios responsáveis por prover informações como nomes e endereços das máquinas são normalmente chamados servidores de nomes. Sistemas Distribuídos

  33. Ciladas Quando DesenvolvemosSistemas Distribuídos Sistemas Distribuídos

  34. Tipos de Sistemas Distribuídos: Sistemas Distribuídos

  35. Tipos de Sistemas Distribuídos: Sistemas Distribuídos

  36. Sistemas de Computação de Alto Desempenho Sistemas Distribuídos

  37. Sistemas de Computação de Alto Desempenho • Aplicações: - Sistemas meteorológicos; - Ferramentas de mapeamento genético; - Simuladores geotérmicos; - Programas de renderização de imagens tridimensionais; - Computação em Nuvens, necessidade de ter uma infraestrutura tecnológica respondendo a vários clientes simultaneamente de maneira remota, por exemplo; - Aplicações crítica - que não pode parar de funcionar ou não pode perder dados (os sistemas bancários, por exemplo); - Entre tantos outros. Sistemas Distribuídos

  38. Sistemas de Computação de Cluster • O que é cluster? Sistema que relaciona dois ou mais computadores para que estes trabalhem de maneira conjunta no intuito de processar uma tarefa. Estas máquinas dividem entre si as atividades de processamento e executam este trabalho de maneira simultânea. • Como funciona? Cada computador que faz parte do cluster recebe o nome de nó (ou node); Não há limite máximo de nós; Mas o cluster deve ser "transparente", ou seja, ser visto pelo usuário ou por outro sistema que necessita deste processamento como um único computador. Dois ou mais computadores trabalham de maneira conjunta para realizar processamento pesado. Sistemas Distribuídos

  39. Sistemas de Computação de Cluster • É necessário alguma padronização? - Os nós do cluster devem ser interconectados, preferencialmente, por uma tecnologia de rede conhecida, para fins de manutenção e controle de custos, como a Ethernet; - É importante que o padrão adotado permita a inclusão ou a retirada de nós com o cluster em funcionamento, do contrário, o trabalho de remoção e substituição de um computador que apresentar problemas, por exemplo, faria a aplicação como um todo parar. Sistemas Distribuídos

  40. Sistemas de Computação de Cluster • De que é composto os nós? - Na computação em cluster os nós podem até mesmo ser compostos por computadores simples, como PCs de desempenho mediano; • Finalidade - Configura um sistema de processamento com capacidade suficiente para dar conta de determinadas aplicações que, se fossem atendidas por supercomputadores ou servidores sofisticados, exigiriam investimentos muito maiores. Sistemas Distribuídos

  41. Fotografia de um Cluster. Não é necessário haver um conjunto de hardware exatamente igual em cada nó; É importante que todas as máquinas utilizem o mesmo sistema operacional, de forma a garantir que o software que controla o cluster consiga gerenciar todos os computadores que o integram. Sistemas Distribuídos

  42. Sistemas de Computação de Cluster (1) Sistemas Distribuídos

  43. Sistemas de Computação de Cluster (2) Sistemas Distribuídos

  44. Sistemas de Computação de Cluster (3) Sistemas Distribuídos

  45. Tipos de clusters • Cluster de Alto Desempenho (High Performance Computing Cluster) • Cluster de Alta Disponibilidade (HighAvailability Computing Cluster) • Cluster para Balanceamento de Carga (LoadBalancing) • Combinação de tipos de clusters Sistemas Distribuídos

  46. Cluster de Alto Desempenho (High Performance Computing Cluster) • São direcionados a aplicações bastante exigentes no que diz respeito ao processamento; • Onde são utilizados? • Em sistemas utilizados em pesquisas científicas, onde há a necessidade de analise uma grande variedade de dados rapidamente e realizar cálculos bastante complexos. • Qual o foco deste tipo de cluster? • O processamento direcionado à aplicação forneça resultados satisfatórios em tempo hábil, mesmo que haja grande volume de dados a serem analisados e processados por segundo. Sistemas Distribuídos

  47. Cluster de Alta Disponibilidade (HighAvailability Computing Cluster) • Qual o foco desse tipo de cluster? - Sempre manter a aplicação em pleno funcionamento; - Não é aceitável que o sistema pare de funcionar, se acontecer, a paralisação deve ser a menor possível. • Que recursos são utilizados para atingirem o objetivo? - Ferramentas de monitoramento que identificam nós defeituosos ou falhas na conexão, - Replicação (redundância) de sistemas e computadores para substituição imediata de máquinas com problemas, - Uso de geradores para garantir o funcionamento em caso de queda de energia, entre outros. Sistemas Distribuídos

  48. Cluster de Alta Disponibilidade (HighAvailability Computing Cluster) • Observação: - É tolerável que o sistema apresente algum grau de perda de desempenho, especialmente quando esta situação é consequência de algum esforço para manter a aplicação em atividade. Sistemas Distribuídos

  49. Cluster para Balanceamento de Carga (LoadBalancing) • As tarefas de processamento são distribuídas o mais uniformemente possível entre os nós; • Cada computador recebe e atende a uma requisição e não, necessariamente, divide uma tarefa com outras máquinas. • Por exemplo: - Imagine que um grande site na internet receba por volta de mil visitas por segundo e que um cluster formado por 20 nós tenha sido desenvolvido para atender a esta demanda. Como se trata de uma solução de balanceamento de carga, estas requisições são distribuídas igualmente entre as 20 máquinas, de forma que cada uma receba e realize, em média, 50 atendimentos a cada segundo. Sistemas Distribuídos

  50. Cluster para Balanceamento de Carga (LoadBalancing) • Obs1.: - Não basta ao cluster de balanceamento de carga ter um mecanismo meramente capaz de distribuir as requisições; - É necessário que este procedimento seja executado de forma a garantir um "equilíbrio" na aplicação; • Como é feito? - Monitoramento constante dos nós para verificar, por exemplo, qual máquina está lidando com a menor quantidade de tarefas e direcionar uma nova requisição para esta. • Obs2.: - O balanceamento de carga pode ser utilizado em vários tipos de aplicações; - Uso comum na internet. Sistemas Distribuídos