Você está na página 1de 8

11/8/2009

Agenda
Histrico

Introduo a Sistemas Distribudos


marcusvas@gmail.com

Conceitos Desafios e Aspectos de Projeto Vantagens e Desvantagens

Histria
1945-1955

Histria
1955-1965 - Processamento Batch

Tarefas eram enfileiradas Programador tinha que reservar hora para usar o computador

Histria
1965-1980 - Timesharing

Histria
1980s
Microprocessadores com alto poder computacional Redes Locais de maior velocidade O protocolo TCP/IP torna-se um padro de facto

1990s 2000s
Disponibilidade e facilidade de comunicao
Menor tempo de obteno da resposta de programas

Internet

Servios Distribudos

11/8/2009

Definies
Um sistema distribudo algo que no deixa voc trabalhar por causa da falha de uma mquina da qual nunca se ouviu falar (Leslie Lamport) Um sistema distribudo uma coleo de computadores independentes que aparecem para os usurios do sistema como um nico computador (Tanenbaum, 1995) computador

O que so Sistemas Distribudos?

Qual a relao entre Sistemas Distribudos e Redes de Computadores?

Um sistema distribudo algo no qual componentes localizados em uma rede de computadores comunicam-se e coordenam suas aes atravs de troca de mensagens (Couloris, 2005) Um sistema distribudo um sistema composto de vrios computadores interconectados atravs de uma rede e que hospedam processos que usam um conjunto comum de regras (protocolos distribudos) para ajudar a execuo coerente de suas atividades. (Verssimo, 2000)

Definies
Conjunto de computadores independentes interconectadas atravs de um subsistema de comunicao interagindo para prover um servio de forma cooperativa
Comunicao atravs de troca de mensagens Necessidade de infra-estrutura de comunicao. Ausncia de relgio global Viso independente dos eventos Estado compartilhado
(Estado = trnsito de mensagens + valores das variveis)

Definies
Lembrando Leslie Lamport...
Voc sabe que est num Sistema Distribudo quando impedido de prosseguir com seu trabalho devido a FALHA de outro computador que voc nunca ouviu falar...

Ausncia de memria compartilhada


exige que a interao entre processadores ocorra de uma forma distinta do ambiente centralizado: ao invs de variveis ou arquivos compartilhados utiliza-se troca de mensagens.

Execuo concorrente de programas Falhas independentes

Definies

Implicaes da afirmao de Lamport


comunicao segurana

Funes esto distribudas


controle de transaes

1.1
etc.
Retirado de: Tanenbaum, A. Distributed Operating Systems

persistncia

Necessidade de superar (tolerar) falhas parciais

Um sistema distribudo organizado como um middleware.


Note que a camada de middleware se estende sobre mltiplos computadores.

11/8/2009

Definies
Extenso dos sistemas de redes onde a interao inclui:
comunicao e cooperao/colaborao.

Motivao
Compartilhamento de recursos Barateamento da plataforma de Hardware
Maior poder de processamento Melhor relao custo x desempenho

Cooperao
Todos por todos. Cada um com a sua tarefa.

Avano das redes de computadores


Maior confiabilidade Maiores taxas de transferncia Menores custos de implementao

Colaborao
Todos por um. Todos com a mesma finalidade

Surgimento e popularizao da Internet

Desafios de Projeto / Caractersticas


Transparncia Abertura (Openness) Escalabilidade Heterogeneidade Segurana Tratamento de falhas Concorrncia

Heterogeneidade
Aplica-se a:
Redes Hardware de computador Sistemas Operacionais Linguagens de programao Implementaes por diferentes programadores

Solues:
Middleware Mquinas virtuais (ex: Applets Java)

Abertura
Determina se o sistema pode ser estendido ou reimplementado de diversas maneiras. Como alcanar:
Publicao de interfaces Documentao e especificao Cdigo aberto (Open-source)

Escalabilidade
Suporta o aumento dos recursos e usurios mantendo um desempenho satisfatrio. Desafios:
Controlar o custo dos recursos fsicos Controlar a perda de performance (quantidade) Prevenir esgotamento de recursos (ex: IP) Evitar gargalos de performance (centralizao)

Exemplos:
RFCs Repositrio

11/8/2009

Segurana
Caractersticas
Confidencialidade Integridade Disponibilidade

Tratamento de falhas
Tipos de falhas
Fsica, software e humana

Tcnicas:
Deteco de falhas Ocultao de falhas Tolerncia a falhas (replicao) Recuperao de falhas

Desafios
Negao de Servio (DOS) Cdigo Mvel ...

Concorrncia
Permitir que recursos compartilhados sejam utilizados por diversos processos Questes:
Sincronizao Disponibilidade Segurana

Transparncia
Transparncia de acesso: recursos locais e remotos so acessados pelas mesmas operaes. Transparncia de localizao: recursos so acessados sem que sua localizao seja determinada. Transparncia de concorrncia: processos executam concorrentemente, utilizando recursos compartilhados, sem interferirem na execuo dos outros. Transparncia de replicao: mltiplas cpias de um recurso para aumentar a performance e disponibilidade dos seus servios, sem o conhecimento das rplicas por usurios e programadores.

Transparncia
Transparncia a falhas: ocultar e tratar as falhas, hardware ou software, permitindo que as aplicaes ou usurios completem suas tarefas Transparncia de mobilidade: movimento de recursos ou clientes dentro do sistema no podem afetar a operao dos usurios ou programas. Transparncia de performance: sistema deve permitir ser reconfigurado para melhorar a performance conforme a variao de carga. Transparncia de escala: as aplicaes e o sistema devem permitir serem expandidas, sem modificar a estrutura ou algoritmos.

11/8/2009

Aspectos de Projetos
Sistemas Distribudos

Propriedades
Safety (Integridade):
determinada propriedade ruimnunca ocorre

Requisitos so Conflitantes
... Transparncia Abertura (Openness) Escalabilidade

Liveness (Validade):
determinada propriedade boa acontecer

(Lamport, 1977)

Propriedades
safety: dois semforos nunca estaro verde ao mesmo tempo liveness: um carro esperando na luz vermelha, receber luz verde no futuro

Exemplos Tpicos de Sistemas Distribudos

WEB

Controle de Trfego Areo

11/8/2009

Outros Exemplos
Aplicaes Comerciais
Sistemas de reserva e venda de passagens areas Complexidade Sistemas de caixas eletrnicos de bancos Transporte Roteamento e distribuio

Outros Exemplos
Software bsico para implementaes do UNIX distribudo:
NFS - Network File System Sun Microsystems RPC - Remote Procedure Call

Aplicaes WEB
Correio eletrnico Servios bancrios e comrcio eletrnico

Comparao
O que no Sistema Distribudo?
Sistemas Distribudos X Sistemas Centralizados

Qual a relao entre Sistemas Distribudos e Redes de Computadores?

Vantagens de um Sistema Distribudo


Lei de Grosch O poder computacional de uma CPU proporcional ao quadrado de seu preo Mainframe Organizaes compravam a maior mquina possvel Descartada para microprocessadores Com algumas centenas de dlares compra-se uma CPU mais poderosa que as mais poderosas dos anos 80s

Vantagens de um Sistema Distribudo


Sobre um sistema centralizado
Melhor relao custo-benefcio Maior escalabilidade
Performance absoluta proporcional ao nmero de CPUs

11/8/2009

Vantagens de um Sistema Distribudo


Facilidade de resolver problemas inerentemente distribudos Maior confiabilidade e disponibilidade
Balanceamento de carga, independncia

Vantagens de um Sistema Distribudo


Compartilhamento
Dados, recursos (perifricos) e servios

Facilidades de comunicao
Correio eletrnico, grupos de trabalho

Crescimento incremental
Riscos e Custos Planejamento de Capacidade

Uso racional dos recursos do sistema


Distribuio de carga (processos) Ex: Compartilhamentos no Windows

Desvantagens de um Sistema Distribudo

Desvantagens de um Sistema Distribudo


Complexidade
Requisitos mais complexos

Infraestrutura de comunicao
Vulnerabilidade das redes Erros, falhas, etc. Sobrecarga, performance, etc.

Mecanismos de tolerncia a falhas Poltica de segurana Mtodos de localizao e resoluo de nomes Transparncia, eficincia Coordenao do compartilhamento de recursos Manuteno de consistncia e integridade de objetos replicados

42

PERGUNTAS E RESPOSTAS

Leitura Complementar
Couloris, G; Dollimore, J; Kindberg, T. Sistemas Distribudos: Conceitos e Projetos (4 edio)
Captulo 1

Tanenbaum, A. S.; STEEN, M. V. Sistemas Distribudos Princpios e Paradigmas (2 edio)


Captulo 1

11/8/2009

PARA REFLETIR...

Referncias
Couloris, G; Dollimore, J; Kindberg, T. Sistemas Distribudos: Conceitos e Projetos (4 edio) Tanenbaum, A. S.; STEEN, M. V. Sistemas Distribudos Princpios e Paradigmas (2 edio) Notas de aulas da Especializao Avanada em Sistemas Distribudos LASID/UFBA, ministradas pelo Prof. Raimundo Macdo e Prof Alrio S

Você também pode gostar