Buscar

Sistemas Distribuidos - Introdução

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 22 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 22 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 22 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

17/3/2009
1
Introdução
Capítulo 1
17/3/2009
Sistemas DistribuídosSistemas Distribuídos
José Pacheco de Almeida PradoJosé Pacheco de Almeida Prado
Sistemas Distribuídos – prof. Pacheco
Conteúdo Programático
� Introdução aos Sistemas Distribuídos
� Arquiteturas de SD
� Processos
� Comuicação
� Sincronização 
� Tolerância a Falhas
� Sistemas Distribuídos Baseados em Web e em Objetos
17/3/2009Sistemas Distribuídos – prof. Pacheco2
17/3/2009
2
Bibliografia
17/3/2009Sistemas Distribuídos – prof. Pacheco3
Sistemas Distribuídos:Sistemas Distribuídos:
princípios e paradigmasprincípios e paradigmas
Segunda Edição
ANDREW S. TANENBAUM
MAARTEN VAN STEEN
17/3/2009Sistemas Distribuídos – prof. Pacheco4
Bibliografia
17/3/2009Sistemas Distribuídos – prof. Pacheco4
Sistemas Operacionais ModernosSistemas Operacionais Modernos
Primeira Edição
ANDREW S. TANENBAUM
17/3/2009
3
Definição de Sistema Distribuído(1)
Um Sistema Distribuído (SD) é:
Um conjunto e computadores 
independentes que se apresenta 
a seus usuários como um sistema 
único e coerente.
17/3/20095 Sistemas Distribuídos – prof. Pacheco
Definição de Sistema Distribuído(2)
17/3/2009Sistemas Distribuídos – prof. Pacheco6
17/3/2009
4
Definição de Sistema Distribuído(3)
17/3/2009Sistemas Distribuídos – prof. Pacheco7
www.top500.org
Definição de Sistema Distribuído(4)
17/3/2009Sistemas Distribuídos – prof. Pacheco8
17/3/2009
5
Um Sistema Distribuído organizado como um middleware.
O SD oculta as diferenças de hardware e de sistemas operacionais das 
aplicações distribuídas. A camada middleware de se estende por várias 
máquinas e oferece a mesma interface a cada aplicação.
Definição de Sistema Distribuído(5)
17/3/20099 Sistemas Distribuídos – prof. Pacheco
Metas de projeto
17/3/2009Sistemas Distribuídos – prof. Pacheco10
Um Sistema Distribuído deve:
� oferecer fácil acesso a seus recursos � groupware; 
�ocultar razoavelmente bem o fato de que os recursos 
são distribuídos por uma rede (TransparênciaTransparência); 
�ser aberto � Inerface Definition Language (IDL) e 
�poder ser expandido (EscalabilidadeEscalabilidade).
17/3/2009
6
Transparência em um Sistema Distribuído
Diferentes formas de transparência em um sistema distribuído.
Transparência Descrição
Acesso
Ocultar as diferenças na representação de dados e no modo de 
acesso a um recurso
Localização Ocultar o lugar em que um recurso está localizado
Migração Ocultar que um recurso pode ser movido para outra localização
Realocação
Ocultar que um recurso pode ser movido para uma outra 
localização enquanto em uso
Replicação Ocultar que um recurso é replicado
Concorrência
Ocultar que um recurso pode ser compartilhado por diversos 
usuários concorrentes
Falha Ocultar a falha e a recuperação de um recurso
Persistência Ocultar se um recurso (programa) está na memória ou em disco
17/3/200911 Sistemas Distribuídos – prof. Pacheco
12
Escalabilidade
A escalabilidade pode ser medida segundo três dimensões:
�Escalabilidade de tamanho: é fácil adicionar mais usuários e 
recursos no sistema
�Escalabilidade geográfica: usuários e recursos podem estar 
distantes entre si
�Escalabilidade administrativa: é fácil de gerenciar, mesmo que 
abranja muitas organizações administrativas diferentes
17/3/2009Sistemas Distribuídos – prof. Pacheco
17/3/2009
7
Problemas na Escalabilidade (1)
Exemplos de limitações na escalabilidade.
Conceito Exemplo
Serviços Centralizados Um único servidor para todos os usuários
Dados Centralizados Uma única lista telefônica
Algoritmos Centralizados
Fazer roteamento com base em informações 
completas
17/3/200913 Sistemas Distribuídos – prof. Pacheco
14
Problemas na Escalabilidade (2)
Características dos algoritmos descentralizados:
�Nenhuma máquina tem informações completas sobre o 
estado do sistemas.
�As máquinas tomam decisões tendo como base somente 
informações locais.
�A falha de uma máquina não arruína o algoritmo.
�Não há nenhuma premissa implícita quanto à existência de 
um relógio global.
17/3/2009Sistemas Distribuídos – prof. Pacheco
17/3/2009
8
Técnicas de Escalabilidade(1)
17/3/2009Sistemas Distribuídos – prof. Pacheco15
Existem basicamente três técnicas para se ampliar um SD:
� Ocultar latência de comunicação � comunicação comunicação 
assíncronaassíncrona;
� Distribuição e
� Replicação.
Técnicas de Escalabilidade (2)
ocultar latência
1.4
A diferença entre deixar:
a) Um servidor ou
b) Um cliente verificar formulários à medida que são preenchidos
17/3/200916 Sistemas Distribuídos – prof. Pacheco
17/3/2009
9
Técnicas de Escalabilidade (3)
distribuição
1.5
Um exemplo de divisão do espaço de nomes do DNS em áreas.
17/3/200917 Sistemas Distribuídos – prof. Pacheco
fluit.cd.vu.nl
Sistemas Distribuídos – prof. Pacheco18
Ciladas Quando Desenvolvemos 
Sistemas Distribuídos
Premissas falsas que todos adotam ao desenvolver uma aplicação 
distribuída pela primeira vez:
�A rede é confiável.
�A rede é segura.
�A rede é homogênea.
�A topologia não muda.
�A latência é zero.
�A largura de banda é infinita.
� O custo de transporte é zero.
� Há só um administrador.
17/3/2009
17/3/2009
10
Sistemas Distribuídos – prof. Pacheco19
Tipos de Sistemas Distribuídos:
1. Sistemas de Computação Distribuídos � computação de auto desempenho
� Sistemas de Computação de Cluster
� Sistemas de Computação em Grade (Grid)
2. Sistemas de Informação Distribuídos
� Sistemas de Processamento de Transações
� Integração de Aplicações Comerciais (Troca de informações via RPC ou 
RMI)
3. Sistemas Embutidos Distribuídos Pervasivos (normalmente 
pequenos sistemas movidos a baterias, móveis & wireless)
� Sistemas Domésticos (ex. Smart phones, PDAs)
� Sistemas Eletrônicos para tratamento de saúde (Monitores de coração, 
BAN: Body Area Networks)
� Redes de Sensores (Base de Dados distribuídas com conexão wireless)
17/3/2009
Sistemas de Computação de Alto Desempenho
17/3/2009Sistemas Distribuídos – prof. Pacheco20
17/3/2009
11
Sistemas Distribuídos – prof. Pacheco21
Sistemas de Computação de Cluster (1)
�Conjunto de estações de trabalho ou PC semelhantes conectados 
por meu de um a rede local de alta valocidade, constituindo um 
ambiente para super computação;
�Maior homogeneidade (mesmo SO, etc.);
�Baixo custo (tecnologia de prateleira)
17/3/2009
Sistemas de Computação de Cluster (2)
17/3/2009Sistemas Distribuídos – prof. Pacheco22
17/3/2009
12
Sistemas de Computação de Cluster (3)
17/3/2009Sistemas Distribuídos – prof. Pacheco23
Sistemas Distribuídos – prof. Pacheco24
Sistemas de Computação de Cluster (4)
� Exemplo de um sistema de computação em cluster 
(modelo Beowulff).
17/3/2009
17/3/2009
13
Sistemas de Computação em Grid (1)
17/3/2009Sistemas Distribuídos – prof. Pacheco25
Sistemas Distribuídos – prof. Pacheco26
Sistemas de Computação em Grid (2)
�Diferentes dos sistemas baseados em Clusters, os sistemas de 
computação em Grid tem um alto grau de heterogeneidades, 
diferentes hardwares, Sos, redes, ... 
�Usuários e recursos de diferentes organizações são interloigados, 
permitindo total colaboração, criando uma Organização Virtual Organização Virtual 
(V.O.V.O. = = VirtualVirtual OrganizationOrganization)
�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 Computação em Grid (3)
17/3/2009Sistemas Distribuídos – prof. Pacheco27Sistemas Distribuídos – prof. Pacheco28
Sistemas de Computaçao em Grid (4)
� Um modelo em camadas para um sistema de computação em 
Grid.
Grid 
Middleware
As aplicações 
funcionam em uma 
VO e fazem uso do 
ambiente do Grid
3/17/2009
17/3/2009
15
Sistemas Distribuídos – prof. Pacheco29
Camadas do modelo de Grid Computing:
1. Camada de Coletiva (Collective layer): manipula o 
acesso a múltiplos recursos, normalmente consiste em 
serviços para descoberta de recursos, alocação e 
escalonamento de tarefas. 
2. Camada de Conectividade (Connectivity layer): consiste 
em protocolos de comunicação para suportar 
transações da grade que abranjam a utilização de 
múltiplos 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 específico. 
17/3/2009
Sistemas Distribuídos – prof. Pacheco30
Sistemas para Processamento de Transações (1)
� Exemplos de primitivas para transações.
17/3/2009
17/3/2009
16
Sistemas Distribuídos – prof. Pacheco31
Sistemas para Processamento de Transações (2)
� Propriedades características das transações:
• Atômicas: para o mundo exterior, a transação 
acontece como se fosse indivisível.
• Consistentes: a transação não viloa as invariantes 
do sistema.
• Isoladas: transações interferem umas com as 
outras.
• Duráveis : uma vez terminada uma transação as 
alterações são permanentes.
17/3/2009
Sistemas Distribuídos – prof. Pacheco32
Sistemas para Processamento de Transações (3)
� Transações aninhadas.
17/3/2009
17/3/2009
17
Sistemas Distribuídos – prof. Pacheco33
Sistemas para Processamento de Transações (4)
� O papel do monitor TP (processamento de transações) 
em um SD.
17/3/2009
Sistemas Distribuídos – prof. Pacheco34
Integração de Aplicações Comerciais (1)
� Middleware como um facilitador de comunicação em integração 
de aplicações empresariais.
17/3/2009
17/3/2009
18
Sistemas Distribuídos – prof. Pacheco35
Integração de Aplicações Comerciais (2)
� Vários pacotes de middleware e protocolos de 
comunicação são usados para dar suporte as 
aplicações 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 Distribuídos – prof. Pacheco36
Sistemas Embarcados Distribuídos
� Requisitos para aplicações embarcadas:
• Adotar mudanças contextuais (significa que um 
dispositivo deve estar ciente do fato de seu 
ambiente pode mudar o tempo todo).
• Incentivar composição ad hoc (usos diferentes 
para usuários diferentes, por exemplo os PDA 
podem ter diferentes usos).
• Reconhecer compartilhamento como padrão 
(isso requer meios para ler, armazenar gerenciar 
e compartilhar informações com facilidade).
17/3/2009
17/3/2009
19
Sistemas Distribuídos – prof. Pacheco37
Sistema Eletrônico para Tratamento (pessoal) de 
Saúde (1)
� Questões inirentes a aplicação:
• Onde e como os dados monitorados deverão ser 
armazenados?
• Como podemos evitar a perda de dados cruciais?
• Qual é a infra-estrutura necessária para gerar e 
transmitir sinais de alerta?
• Como os médicos podem dar retorno on-line?
• Como pode ser alcançada a extrema robustez do 
sistema de monitoração?
• Quais são as questões de segurança e como as políticas 
adequadas podem ser impostas?
17/3/2009
Sistemas Distribuídos – prof. Pacheco38
Sistema Eletrônico para Tratamento de Saúde (2)
� Monitoração de uma pessoa em um sistema eletrônico de tratamento de 
saúde utilizando
(a) um hub local ou
(b) uma conexão contínua sem fio.
17/3/2009
17/3/2009
20
Redes de Sensores
17/3/2009Sistemas Distribuídos – prof. Pacheco39
Sistemas Distribuídos – prof. Pacheco40
Redes de Sensores (1)
� Questões referentes a redes de sensores:
• Como montar (dinamicamente) um árvore eficiente 
em uma rede de sensores?
• Como ocorre a agregação 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/2009Sistemas Distribuídos – prof. Pacheco41
Sistemas Distribuídos – prof. Pacheco42
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 Distribuídos – prof. Pacheco43
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

Outros materiais

Perguntas Recentes