You are on page 1of 22

17/3/2009

1
Introduo
Captulo 1
17/3/2009
Sistemas Distribudos Sistemas Distribudos
Jos Pacheco de Almeida Prado Jos Pacheco de Almeida Prado
Sistemas Distribudos prof. Pacheco
Contedo Programtico
Introduo aos Sistemas Distribudos
Arquiteturas de SD
Processos
Comuicao
Sincronizao
Tolerncia a Falhas
Sistemas Distribudos Baseados em Web e em Objetos
17/3/2009 Sistemas Distribudos prof. Pacheco 2
17/3/2009
2
Bibliografia
17/3/2009 Sistemas Distribudos prof. Pacheco 3
Sistemas Distribudos: Sistemas Distribudos:
princpios e paradigmas princpios e paradigmas
Segunda Edio
ANDREW S. TANENBAUM
MAARTEN VAN STEEN
17/3/2009 Sistemas Distribudos prof. Pacheco 4
Bibliografia
17/3/2009 Sistemas Distribudos prof. Pacheco 4
Sistemas Operacionais Modernos Sistemas Operacionais Modernos
Primeira Edio
ANDREW S. TANENBAUM
17/3/2009
3
Definio de Sistema Distribudo(1)
Um Sistema Distribudo (SD) :
Um conjunto e computadores
independentes que se apresenta
a seus usurios como um sistema
nico e coerente.
17/3/2009 5 Sistemas Distribudos prof. Pacheco
Definio de Sistema Distribudo(2)
17/3/2009 Sistemas Distribudos prof. Pacheco 6
17/3/2009
4
Definio de Sistema Distribudo(3)
17/3/2009 Sistemas Distribudos prof. Pacheco 7
www.top500.org
Definio de Sistema Distribudo(4)
17/3/2009 Sistemas Distribudos prof. Pacheco 8
17/3/2009
5
Um Sistema Distribudo organizado como um middleware.
O SD oculta as diferenas de hardware e de sistemas operacionais das
aplicaes distribudas. A camada middleware de se estende por vrias
mquinas e oferece a mesma interface a cada aplicao.
Definio de Sistema Distribudo(5)
17/3/2009 9 Sistemas Distribudos prof. Pacheco
Metas de projeto
17/3/2009 Sistemas Distribudos prof. Pacheco 10
Um Sistema Distribudo deve:
oferecer fcil acesso a seus recursos groupware;
ocultar razoavelmente bem o fato de que os recursos
so distribudos por uma rede (Transparncia Transparncia);
ser aberto Inerface Definition Language (IDL) e
poder ser expandido (Escalabilidade Escalabilidade).
17/3/2009
6
Transparncia em um Sistema Distribudo
Diferentes formas de transparncia em um sistema distribudo.
Transparncia Descrio
Acesso
Ocultar as diferenas na representao de dados e no modo de
acesso a um recurso
Localizao Ocultar o lugar em que um recurso est localizado
Migrao Ocultar que um recurso pode ser movido para outra localizao
Realocao
Ocultar que um recurso pode ser movido para uma outra
localizao enquanto em uso
Replicao Ocultar que um recurso replicado
Concorrncia
Ocultar que um recurso pode ser compartilhado por diversos
usurios concorrentes
Falha Ocultar a falha e a recuperao de um recurso
Persistncia Ocultar se um recurso (programa) est na memria ou em disco
17/3/2009 11 Sistemas Distribudos prof. Pacheco
12
Escalabilidade
A escalabilidade pode ser medida segundo trs dimenses:
Escalabilidade de tamanho: fcil adicionar mais usurios e
recursos no sistema
Escalabilidade geogrfica: usurios e recursos podem estar
distantes entre si
Escalabilidade administrativa: fcil de gerenciar, mesmo que
abranja muitas organizaes administrativas diferentes
17/3/2009 Sistemas Distribudos prof. Pacheco
17/3/2009
7
Problemas na Escalabilidade (1)
Exemplos de limitaes na escalabilidade.
Conceito Exemplo
Servios Centralizados Um nico servidor para todos os usurios
Dados Centralizados Uma nica lista telefnica
Algoritmos Centralizados
Fazer roteamento com base em informaes
completas
17/3/2009 13 Sistemas Distribudos prof. Pacheco
14
Problemas na Escalabilidade (2)
Caractersticas dos algoritmos descentralizados:
Nenhuma mquina tem informaes completas sobre o
estado do sistemas.
As mquinas tomam decises tendo como base somente
informaes locais.
A falha de uma mquina no arruna o algoritmo.
No h nenhuma premissa implcita quanto existncia de
um relgio global.
17/3/2009 Sistemas Distribudos prof. Pacheco
17/3/2009
8
Tcnicas de Escalabilidade(1)
17/3/2009 Sistemas Distribudos prof. Pacheco 15
Existem basicamente trs tcnicas para se ampliar um SD:
Ocultar latncia de comunicao comunicao comunicao
assncrona assncrona;
Distribuio e
Replicao.
Tcnicas de Escalabilidade (2)
ocultar latncia
1.4
A diferena entre deixar:
a) Um servidor ou
b) Um cliente verificar formulrios medida que so preenchidos
17/3/2009 16 Sistemas Distribudos prof. Pacheco
17/3/2009
9
Tcnicas de Escalabilidade (3)
distribuio
1.5
Um exemplo de diviso do espao de nomes do DNS em reas.
17/3/2009 17 Sistemas Distribudos prof. Pacheco
fluit.cd.vu.nl
Sistemas Distribudos prof. Pacheco 18
Ciladas Quando Desenvolvemos
Sistemas Distribudos
Premissas falsas que todos adotam ao desenvolver uma aplicao
distribuda pela primeira vez:
A rede confivel.
A rede segura.
A rede homognea.
A topologia no muda.
A latncia zero.
A largura de banda infinita.
O custo de transporte zero.
H s um administrador.
17/3/2009
17/3/2009
10
Sistemas Distribudos prof. Pacheco 19
Tipos de Sistemas Distribudos:
1. Sistemas de Computao Distribudos computao de auto desempenho
Sistemas de Computao de Cluster
Sistemas de Computao em Grade (Grid)
2. Sistemas de Informao Distribudos
Sistemas de Processamento de Transaes
Integrao de Aplicaes Comerciais (Troca de informaes via RPC ou
RMI)
3. Sistemas Embutidos Distribudos Pervasivos (normalmente
pequenos sistemas movidos a baterias, mveis & wireless)
Sistemas Domsticos (ex. Smart phones, PDAs)
Sistemas Eletrnicos para tratamento de sade (Monitores de corao,
BAN: Body Area Networks)
Redes de Sensores (Base de Dados distribudas com conexo wireless)
17/3/2009
Sistemas de Computao de Alto Desempenho
17/3/2009 Sistemas Distribudos prof. Pacheco 20
17/3/2009
11
Sistemas Distribudos prof. Pacheco 21
Sistemas de Computao de Cluster (1)
Conjunto de estaes de trabalho ou PC semelhantes conectados
por meu de um a rede local de alta valocidade, constituindo um
ambiente para super computao;
Maior homogeneidade (mesmo SO, etc.);
Baixo custo (tecnologia de prateleira)
17/3/2009
Sistemas de Computao de Cluster (2)
17/3/2009 Sistemas Distribudos prof. Pacheco 22
17/3/2009
12
Sistemas de Computao de Cluster (3)
17/3/2009 Sistemas Distribudos prof. Pacheco 23
Sistemas Distribudos prof. Pacheco 24
Sistemas de Computao de Cluster (4)
Exemplo de um sistema de computao em cluster
(modelo Beowulff).
17/3/2009
17/3/2009
13
Sistemas de Computao em Grid (1)
17/3/2009 Sistemas Distribudos prof. Pacheco 25
Sistemas Distribudos prof. Pacheco 26
Sistemas de Computao em Grid (2)
Diferentes dos sistemas baseados em Clusters, os sistemas de
computao em Grid tem um alto grau de heterogeneidades,
diferentes hardwares, Sos, redes, ...
Usurios e recursos de diferentes organizaes so interloigados,
permitindo total colaborao, criando uma Organizao Virtual Organizao Virtual
(V.O. V.O. = = Virtual Virtual Organization Organization)
Os membros das V.O. tem total acesso a um conjunto comum de
recursos (por exemplo, os sistemas da policia americana, do FBI e
de outras agencias formam um grid).
17/3/2009
17/3/2009
14
Sistemas de Computao em Grid (3)
17/3/2009 Sistemas Distribudos prof. Pacheco 27
Sistemas Distribudos prof. Pacheco 28
Sistemas de Computaao em Grid (4)
Um modelo em camadas para um sistema de computao em
Grid.
Grid
Middleware
As aplicaes
funcionam em uma
VO e fazem uso do
ambiente do Grid
3/17/2009
17/3/2009
15
Sistemas Distribudos prof. Pacheco 29
Camadas do modelo de Grid Computing:
1. Camada de Coletiva (Collective layer): manipula o
acesso a mltiplos recursos, normalmente consiste em
servios para descoberta de recursos, alocao e
escalonamento de tarefas.
2. Camada de Conectividade (Connectivity layer): consiste
em protocolos de comunicao para suportar
transaes da grade que abranjam a utilizao de
mltiplos recursos.
3. Camada de Recurso (Resource layer): gerencia um nico
recurso, como criar um processo ou ler um dado.
4. Camada Base (Fabric layer): fornece interfaces para
recursos locais em um site especfico.
17/3/2009
Sistemas Distribudos prof. Pacheco 30
Sistemas para Processamento de Transaes (1)
Exemplos de primitivas para transaes.
17/3/2009
17/3/2009
16
Sistemas Distribudos prof. Pacheco 31
Sistemas para Processamento de Transaes (2)
Propriedades caractersticas das transaes:
Atmicas: para o mundo exterior, a transao
acontece como se fosse indivisvel.
Consistentes: a transao no viloa as invariantes
do sistema.
Isoladas: transaes interferem umas com as
outras.
Durveis : uma vez terminada uma transao as
alteraes so permanentes.
17/3/2009
Sistemas Distribudos prof. Pacheco 32
Sistemas para Processamento de Transaes (3)
Transaes aninhadas.
17/3/2009
17/3/2009
17
Sistemas Distribudos prof. Pacheco 33
Sistemas para Processamento de Transaes (4)
O papel do monitor TP (processamento de transaes)
em um SD.
17/3/2009
Sistemas Distribudos prof. Pacheco 34
Integrao de Aplicaes Comerciais (1)
Middleware como um facilitador de comunicao em integrao
de aplicaes empresariais.
17/3/2009
17/3/2009
18
Sistemas Distribudos prof. Pacheco 35
Integrao de Aplicaes Comerciais (2)
Vrios pacotes de middleware e protocolos de
comunicao so usados para dar suporte as
aplicaes comerciais, entre eles:
CORBA (Common Object Request Broker Architecture)
DCOM (Distributed Component Object Management)
RPC (Remote Procedure Call)
RMI (Remote Method Invocation)
17/3/2009
Sistemas Distribudos prof. Pacheco 36
Sistemas Embarcados Distribudos
Requisitos para aplicaes embarcadas:
Adotar mudanas contextuais (significa que um
dispositivo deve estar ciente do fato de seu
ambiente pode mudar o tempo todo).
Incentivar composio ad hoc (usos diferentes
para usurios diferentes, por exemplo os PDA
podem ter diferentes usos).
Reconhecer compartilhamento como padro
(isso requer meios para ler, armazenar gerenciar
e compartilhar informaes com facilidade).
17/3/2009
17/3/2009
19
Sistemas Distribudos prof. Pacheco 37
Sistema Eletrnico para Tratamento (pessoal) de
Sade (1)
Questes inirentes a aplicao:
Onde e como os dados monitorados devero ser
armazenados?
Como podemos evitar a perda de dados cruciais?
Qual a infra-estrutura necessria para gerar e
transmitir sinais de alerta?
Como os mdicos podem dar retorno on-line?
Como pode ser alcanada a extrema robustez do
sistema de monitorao?
Quais so as questes de segurana e como as polticas
adequadas podem ser impostas?
17/3/2009
Sistemas Distribudos prof. Pacheco 38
Sistema Eletrnico para Tratamento de Sade (2)
Monitorao de uma pessoa em um sistema eletrnico de tratamento de
sade utilizando
(a) um hub local ou
(b) uma conexo contnua sem fio.
17/3/2009
17/3/2009
20
Redes de Sensores
17/3/2009 Sistemas Distribudos prof. Pacheco 39
Sistemas Distribudos prof. Pacheco 40
Redes de Sensores (1)
Questes referentes a redes de sensores:
Como montar (dinamicamente) um rvore eficiente
em uma rede de sensores?
Como ocorre a agregao de resultados? Ela pode
ser controlada?
O que acontece quando os enlaces falham?
17/3/2009
17/3/2009
21
Redes de Sensores
17/3/2009 Sistemas Distribudos prof. Pacheco 41
Sistemas Distribudos prof. Pacheco 42
Redes de Sensores (2)
Organizando um banco de dados de redes de sensores e, ao
mesmo tempo, armazenando e processando dados (a) somente
no site do operador
17/3/2009
17/3/2009
22
Sistemas Distribudos prof. Pacheco 43
Redes de Sensores (3)
Organizando um banco de dados de redes de sensores e, ao
mesmo tempo, armazenando e processando dados .... ou (b)
somente nos sensores.
17/3/2009

You might also like