Sistemas distribu dos introdu o ci ncia da computa o
This presentation is the property of its rightful owner.
Sponsored Links
1 / 25

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


  • 74 Views
  • Uploaded on
  • Presentation posted in: General

Sistemas Distribuídos Introdução à Ciência da Computação. Ana Paula & Lúcia. 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.

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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Sistemas distribu dos introdu o ci ncia da computa o

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

Ana Paula & Lúcia

Material adaptado

do Prof. Tiago Ferreto


Introdu o sistemas distribu dos

Introdução - Sistemas Distribuídos

  • Conteúdo

    • Evolução Histórica

    • Motivação

    • Conceitos

    • Características

    • Vantagens/desvantagens

    • Desafios

    • Exemplos


Evolu o hist rica

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


Evolu o hist rica1

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


Evolu o hist rica2

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)


Evolu o hist rica3

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


Motiva o

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)


Motiva o1

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


Conceitos

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


Caracter sticas

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


Caracter sticas1

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


Vantagens

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).


Vantagens1

Vantagens

  • Sistemas inerentemente distribuídos

    • Sistema de reservas

    • CSCW – computer supported cooperative work

    • CSCG – computer supported cooperative game


Vantagens2

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


Vantagens3

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)


Desvantagens

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

    • ...


Desafios

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


Desafios1

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


Exemplos de sds

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


Exemplos de sds1

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


Exemplos de sds2

Exemplos de SDs

  • Caixas automáticos de Banco

  • Sistema de reserva de passagens

  • [email protected]

  • vCluster


Seti@home search for extraterrestrial intelligence at home

[email protected] -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


Seti@home

[email protected]


Vcluster

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


Vcluster1

vCluster


  • Login