Top Banner
17/3/2009 1 Introdução Capítulo 1 17/3/2009 Sistemas Distribuídos Sistemas Distribuídos José Pacheco de Almeida Prado José 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/2009 Sistemas Distribuídos – prof. Pacheco 2
22

capitulo01 SISTEMAS DISTRIBUIDOS.pdf

Dec 28, 2015

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: capitulo01 SISTEMAS DISTRIBUIDOS.pdf

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

Page 2: capitulo01 SISTEMAS DISTRIBUIDOS.pdf

17/3/2009

2

Bibliografia

17/3/2009Sistemas Distribuídos – prof. Pacheco3

Sistemas Distribuídos:Sistemas Distribuídos:

princípios e paradigmasprincípios e paradigmasSegunda 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 ModernosPrimeira Edição

ANDREW S. TANENBAUM

Page 3: capitulo01 SISTEMAS DISTRIBUIDOS.pdf

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

Page 4: capitulo01 SISTEMAS DISTRIBUIDOS.pdf

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

Page 5: capitulo01 SISTEMAS DISTRIBUIDOS.pdf

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

Page 6: capitulo01 SISTEMAS DISTRIBUIDOS.pdf

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

AcessoOcultar 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çãoOcultar que um recurso pode ser movido para uma outra localização enquanto em uso

Replicação Ocultar que um recurso é replicado

ConcorrênciaOcultar 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

Page 7: capitulo01 SISTEMAS DISTRIBUIDOS.pdf

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 CentralizadosFazer 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

Page 8: capitulo01 SISTEMAS DISTRIBUIDOS.pdf

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

Page 9: capitulo01 SISTEMAS DISTRIBUIDOS.pdf

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

Page 10: capitulo01 SISTEMAS DISTRIBUIDOS.pdf

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

Page 11: capitulo01 SISTEMAS DISTRIBUIDOS.pdf

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

Page 12: capitulo01 SISTEMAS DISTRIBUIDOS.pdf

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

Page 13: capitulo01 SISTEMAS DISTRIBUIDOS.pdf

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

Page 14: capitulo01 SISTEMAS DISTRIBUIDOS.pdf

17/3/2009

14

Sistemas de Computação em Grid (3)

17/3/2009Sistemas Distribuídos – prof. Pacheco27

Sistemas 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

Page 15: capitulo01 SISTEMAS DISTRIBUIDOS.pdf

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

Page 16: capitulo01 SISTEMAS DISTRIBUIDOS.pdf

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

Page 17: capitulo01 SISTEMAS DISTRIBUIDOS.pdf

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

Page 18: capitulo01 SISTEMAS DISTRIBUIDOS.pdf

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

Page 19: capitulo01 SISTEMAS DISTRIBUIDOS.pdf

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

Page 20: capitulo01 SISTEMAS DISTRIBUIDOS.pdf

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

Page 21: capitulo01 SISTEMAS DISTRIBUIDOS.pdf

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

Page 22: capitulo01 SISTEMAS DISTRIBUIDOS.pdf

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