1 / 25

Sistemas Distribuídos Introdução à Ciência da Computação

Ana Paula & Lúcia. Sistemas Distribuídos Introdução à Ciência da Computação. Material adaptado do Prof. Tiago Ferreto. Introdução - Sistemas Distribuídos. Conteúdo Evolução Histórica Motivação Conceitos Características Vantagens/desvantagens Desafios Exemplos. Evolução histórica.

guri
Download Presentation

Sistemas Distribuídos Introdução à Ciência da Computação

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Ana Paula & Lúcia Sistemas DistribuídosIntrodução à Ciência da Computação Material adaptado do Prof. Tiago Ferreto

  2. Introdução - Sistemas Distribuídos Conteúdo Evolução Histórica Motivação Conceitos Características Vantagens/desvantagens Desafios Exemplos

  3. Evolução histórica Computadores iniciais: caros e grandes execução por um operador: setup do job (carregar cartões), executar programa, imprimir resultado Anos 50 e 60: batching, spooling, multiprogramação batching: juntar jobs semelhantes para processamento spooling: sobreposição de I/O e CPU multiprogramação: diversos programas sendo executados concorrentemente pela CPU Objetivo: otimizar a utilização da CPU

  4. Evolução histórica Não existia a interação entre usuário e computador alto custo para processos interativos: depuração Início dos anos 60: sistemas de time sharing utilização de diversos terminais “burros” conectados a um computador impressão de um computador por usuário tarefas principais/comuns são executadas pelo computador principal desenvolvimento dos minicomputadores: menores e mais rápidos! 1o. passo na direção dos sistemas distribuídos! compartilhamento de recursos acesso remoto Terminais e computador muito próximos

  5. Evolução histórica Final dos anos 60 e início dos anos 70: surgimento das redes de computadores e do sistema operacional UNIX Ethernet – Xerox Palo Alto (1973): Local Area Network permitiu interligar mais computadores a distâncias maiores usando uma velocidade maior (e.g. rede de computadores de um prédio) ARPANet – DoD (1969): Wide Area Network interligação entre computadores localizados dispersamente (cidades e/ou países diferentes)

  6. Evolução histórica Final dos anos 70: protocolo TCP/IP definição de padrão para comunicação entre computadores Início dos anos 80: microprocessadores e estações de trabalho redução do custo (em relação aos mainframes) Final dos anos 80: estações de trabalho ligadas em rede diversos serviços para comunicação entre pessoas/máquinas FTP, TELNET, MAIL

  7. Motivação Avanços em microeletrônica processadores mais rápidos e baratos Avanços em comunicações redes mais eficientes e confiáveis Popularidade das redes de computadores redes de telefones celulares, redes corporativas, redes caseiras redes de computadores de alta velocidade (Myrinet ~2Gb/s)

  8. Motivação Compartilhamento de recursos Componentes de HW (disco, impressora) SW (arquivos, bases de dados, programas) Outros (vídeo, áudio) Relação custo/desempenho melhor utilizar diversos processadores interconectados do que um único computador centralizado

  9. Conceitos O que é um Sistema Distribuído? Um sistema distribuído é uma coleção de computadores independentes que parecem um sistema único para o usuário [Tanenbaum]. É um sistema onde os componentes de HW e SW, localizados em computadores interligados por uma rede, comunicam e coordenam suas ações somente através de troca de mensagens [Coulouris]. Dois aspectos: Hardware: autonomia Software: sistema único

  10. Características Processos são executados concorrentemente no sistema distribuído não existe um controle global! processos usam troca de mensagens para coordenar suas ações Inexistência de relógio global noção de tempo global é importante na coordenação de processos sincronização de relógios possui um limite de precisão

  11. Características Falhas independentes a falha de um dos componentes (rede, máquinas, programas) do sistema distribuído não implica na falha do sistema como um todo

  12. Vantagens Economia – melhor relação custo/desempenho Grosh's Law: desempenho é proporcional ao quadrado do custo 2*custo = 4*desempenho somente válido para mainframes Velocidade 10.000 CPUs x 50 MIPS = 500.000 MIPS Uma CPU para isto deveria executar uma instrução a cada 0,002 nanosegundos (2 picosegundos).

  13. Vantagens Sistemas inerentemente distribuídos Sistema de reservas CSCW – computer supported cooperative work CSCG – computer supported cooperative game

  14. Vantagens Maior confiabilidade (reliability) e disponibilidade grau de tolerância contra erros e falhas de componentes em um sistema 5% fora do ar = 5% em perda de desempenho Aplicações críticas - aviação, reatores nucleares replicação de componentes Facilidade de expansão permite aumentar o poder de processamento/armazenamento sem se desfazer daquilo que já possui, isto é, de maneira gradativa

  15. Vantagens Permite o compartilhamento de dados/informação desenvolvimento de software distribuído (e.g. CVS) Permite o compartilhamento de recursos economia (Ex. impressora, software, bases de dados, disco, pool de processadores)

  16. Desvantagens Maior dificuldade na garantia de segurança (crítico!) Desevolvimento de sw distribuído é mais complexo Gerência de recursos mais complexa Alto custo para implementar aplicações colaborativas Causas recursos são fisicamente separados mensagens podem atrasar mensagens podem ser perdidas ...

  17. Desafios comunicação segura Quem enviou? Os dados foram modificados durante a transmissão? Alguém não autorizado teve acesso aos dados? confiabilidade em um ambiente não confiável máquinas podem falhar, mas o SD deve falhar parcialmente

  18. Desafios localização colocar os recursos em um determinado local e permitir a localização destes recursos quando necessário coordenação acordo entre os componentes distribuídos sobre o que fazer e de que forma

  19. Exemplos de SDs Internet: grande coleção de diferentes redes de computadores interconectadas. Comunicação através de troca de mensagens Serviços: www, ftp, mail Intranet: parte da Internet administrada separamente Políticas de segurança locais (firewall) Necessidades: serviço de compartilhamento de arquivos, firewalls para proteção, facilidade de instalação e suporte de software

  20. Exemplos de SDs Computação móvel: avanços na miniaturização de dispositivos e redes sem fio Integração de pequenos dispositivos computacionais portáteis Laptops, PDAs, celulares, pagers, câmeras digitais, wearable devices, dispositivos integrados a utensílios Problemas: descoberta de recursos no ambiente, reconfiguração de dispositivos, privacidade e segurança

  21. Exemplos de SDs Caixas automáticos de Banco Sistema de reserva de passagens SETI@home vCluster

  22. SETI@home -Search for Extraterrestrial Intelligence at Home Universidade da Califórnia, Berkeley Objetivo: utilizar a capacidade de processamento de centenas de milhares de computadores conectados à Internet na procura de inteligência extraterrestre Utilização: instalação de um programa (screensaver) quando o computador esta ocioso o programa realiza o download de um pacote de dados (work unit - ~340KB) obtidos por rádio-telescópio (Observatório de Arecibo) e faz uma procura por sinais extraterrestres Possui aproximadamente 3 milhões de usuários

  23. SETI@home

  24. vCluster Desenvolvido pelo CPAD -http://www.cpad.pucrs.br Motivação: subutilização dos recursos computacionais em laboratórios acadêmicos ~ 90% ociosidade aplicações científicas com demanda por recursos computacionais Objetivo: Exploração de ciclos ociosos Aplicações BoT (Bag-of-Tasks) Enfoque: usuário local possui prioridade sobre a execução de tarefas na máquina

  25. vCluster

More Related