Você está na página 1de 25

Sistemas Distribudos

Introduo Cincia da Computao


Ana Paula & Lcia

Material adaptado do Prof. Tiago Ferreto

Introduo - Sistemas Distribudos Contedo


Evoluo Histrica Motivao Conceitos Caractersticas Vantagens/desvantagens Desafios Exemplos

Evoluo histrica
Computadores iniciais: caros e grandes execuo por um operador: setup do job (carregar cartes), executar programa, imprimir resultado Anos 50 e 60: batching, spooling, multiprogramao batching: juntar jobs semelhantes para processamento spooling: sobreposio de I/O e CPU multiprogramao: diversos programas sendo executados concorrentemente pela CPU Objetivo: otimizar a utilizao da CPU

Evoluo histrica
No existia a interao entre usurio e computador alto custo para processos interativos: depurao

Incio dos anos 60: sistemas de time sharing utilizao de diversos terminais burros conectados a um computador impresso de um computador por usurio tarefas principais/comuns so executadas pelo computador principal
desenvolvimento dos minicomputadores: menores e mais rpidos!

1o. passo na direo dos sistemas distribudos!


compartilhamento de recursos acesso remoto

Terminais e computador muito prximos

Evoluo histrica
Final dos anos 60 e incio 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 distncias maiores usando uma velocidade maior (e.g. rede de computadores de um prdio) ARPANet DoD (1969): Wide Area Network interligao entre computadores localizados dispersamente (cidades e/ou pases diferentes)

Evoluo histrica
Final dos anos 70: protocolo TCP/IP definio de padro para comunicao entre computadores Incio dos anos 80: microprocessadores e estaes de trabalho reduo do custo (em relao aos mainframes) Final dos anos 80: estaes de trabalho ligadas em rede diversos servios para comunicao entre pessoas/mquinas FTP, TELNET, MAIL

Motivao

Avanos em microeletrnica
processadores mais rpidos e baratos

Avanos em comunicaes
redes mais eficientes e confiveis

Popularidade das redes de computadores


redes de telefones celulares, redes corporativas, redes caseiras redes de computadores de alta velocidade (Myrinet ~2Gb/s)

Motivao Compartilhamento de recursos


Componentes de HW (disco, impressora) SW (arquivos, bases de dados, programas) Outros (vdeo, udio)

Relao custo/desempenho
melhor utilizar diversos processadores interconectados do que um nico computador centralizado

Conceitos
O que um Sistema Distribudo? Um sistema distribudo uma coleo de computadores independentes que parecem um sistema nico para o usurio [Tanenbaum]. um sistema onde os componentes de HW e SW, localizados em computadores interligados por uma rede, comunicam e coordenam suas aes somente atravs de troca de mensagens [Coulouris]. Dois aspectos: Hardware: autonomia Software: sistema nico

Caractersticas
Processos so executados concorrentemente no sistema distribudo no existe um controle global! processos usam troca de mensagens para coordenar suas aes

Inexistncia de relgio global noo de tempo global importante na coordenao de processos sincronizao de relgios possui um limite de preciso

Caractersticas
Falhas independentes a falha de um dos componentes (rede, mquinas, programas) do sistema distribudo no implica na falha do sistema como um todo

Vantagens Economia melhor relao custo/desempenho


Grosh's Law: desempenho proporcional ao quadrado do custo
2*custo = 4*desempenho

somente vlido para mainframes

Velocidade
10.000 CPUs x 50 MIPS = 500.000 MIPS Uma CPU para isto deveria executar uma instruo a cada 0,002 nanosegundos (2 picosegundos).

Vantagens

Sistemas inerentemente distribudos


Sistema de reservas CSCW computer supported cooperative work CSCG computer supported cooperative game

Vantagens
Maior confiabilidade (reliability) e disponibilidade grau de tolerncia contra erros e falhas de componentes em um sistema 5% fora do ar = 5% em perda de desempenho Aplicaes crticas - aviao, reatores nucleares replicao de componentes Facilidade de expanso permite aumentar o poder de processamento/armazenamento sem se desfazer daquilo que j possui, isto , de maneira gradativa

Vantagens

Permite o compartilhamento de dados/informao


desenvolvimento de software distribudo (e.g. CVS)

Permite o compartilhamento de recursos


economia (Ex. impressora, software, bases de dados, disco, pool de processadores)

Desvantagens
Maior dificuldade na garantia de segurana (crtico!) Desevolvimento de sw distribudo mais complexo Gerncia de recursos mais complexa

Alto custo para implementar aplicaes colaborativas


Causas recursos so fisicamente separados mensagens podem atrasar mensagens podem ser perdidas ...

Desafios comunicao segura


Quem enviou? Os dados foram modificados durante a transmisso? Algum no autorizado teve acesso aos dados?

confiabilidade em um ambiente no confivel


mquinas podem falhar, mas o SD deve falhar parcialmente

Desafios localizao
colocar os recursos em um determinado local e permitir a localizao destes recursos quando necessrio

coordenao
acordo entre os componentes distribudos sobre o que fazer e de que forma

Exemplos de SDs

Internet: grande coleo de diferentes redes de computadores interconectadas. Comunicao atravs de troca de mensagens Servios: www, ftp, mail
Intranet: parte da Internet administrada separamente Polticas de segurana locais (firewall) Necessidades: servio de compartilhamento de arquivos, firewalls para proteo, facilidade de instalao e suporte de software

Exemplos de SDs
Computao mvel: avanos na miniaturizao de dispositivos e redes sem fio

Integrao de pequenos dispositivos computacionais portteis Laptops, PDAs, celulares, pagers, cmeras digitais, wearable devices, dispositivos integrados a utenslios Problemas: descoberta de recursos no ambiente, reconfigurao de dispositivos, privacidade e segurana

Exemplos de SDs Caixas automticos de Banco

Sistema de reserva de passagens


SETI@home vCluster

SETI@home -Search for Extraterrestrial


Intelligence at Home
Universidade da Califrnia, Berkeley Objetivo: utilizar a capacidade de processamento de centenas de milhares de computadores conectados Internet na procura de inteligncia extraterrestre Utilizao: instalao de um programa (screensaver) quando o computador esta ocioso o programa realiza o download de um pacote de dados (work unit - ~340KB) obtidos por rdio-telescpio (Observatrio de Arecibo) e faz uma procura por sinais extraterrestres Possui aproximadamente 3 milhes de usurios

SETI@home

vCluster
Desenvolvido pelo CPAD -http://www.cpad.pucrs.br
Motivao: subutilizao dos recursos computacionais em laboratrios acadmicos ~ 90% ociosidade aplicaes cientficas com demanda por recursos computacionais Objetivo: Explorao de ciclos ociosos

Aplicaes BoT (Bag-of-Tasks)


Enfoque: usurio local possui prioridade sobre a execuo de tarefas na mquina

vCluster

Você também pode gostar