Top Banner
Prof. Rafael Marrocos Magalhães [email protected] Universidade Federal da Paraíba Centro de Ciências Aplicadas e Educação Departamento de Ciências Exatas ACII: Introdução aos Sistemas Distribuídos 17 de Outubro de 2001 UFPB – CCAE - DCE
49

ACII - SL07 - Introducao aos sistemas distribuidos

Jun 27, 2015

Download

Education

Aula sobre introdução aos sistemas distribuídos. introducao, sistemas, distribuidos, arquitetura, cluster, grid, midleware
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: ACII - SL07 - Introducao aos sistemas distribuidos

Prof. Rafael Marrocos Magalhães [email protected]

Universidade Federal da Paraíba

Centro de Ciências Aplicadas e Educação

Departamento de Ciências Exatas

ACII: Introdução aos Sistemas Distribuídos

17 de Outubro de 2001 UFPB – CCAE - DCE

Page 2: ACII - SL07 - Introducao aos sistemas distribuidos

(R)Evolução na computação

1 - Etapa !   1945 – 1985

!   Dezenas de milhares de $ !   mainframes, minicomputadores !   Isolados, escassos, restritos (donos e aplicações)

!   Metade 80` !   Microchips 8 bits – 16, 32, 64 bits !   Poder do mainframe 1/10 $

!   50 anos, evolução assombrosa !   10 milhões $,1 oper/seg !   Mil $, 1 bilhão inst/ seg

Page 3: ACII - SL07 - Introducao aos sistemas distribuidos

(R)Evolução na computação

2 - Etapa !   Redes de computadores

!   ARPANet, outrasNet !   LAN (local)

!   100 milhões bits (MBps) !   10 bilhões bits (GBps)

!   WAN (wides) !   64 kbps !   Gigabits

Page 4: ACII - SL07 - Introducao aos sistemas distribuidos

Resultados parciais

E daí? !   Tornou-se viável e fácil

!   Criar redes com vários computadores !   Conexões em alta velocidade

!   Criando: !   Redes de computação !   Sistemas distribuídos

!   Sistemas centralizados (monoprocessados) !   Terminais remotos?

Page 5: ACII - SL07 - Introducao aos sistemas distribuidos

Definição

“Um  sistema  distribuído  é  um  conjunto  de  computadores  independentes  que  se  apresenta  a  seus  usuários  como  um  sistema  único  e  

coerente”  !   Componentes (computadores autônomos) !   Usuários (pessoas ou programas)

!   Nenhuma premissa, ilusão !   Colaboração entre componentes

CERNE

Page 6: ACII - SL07 - Introducao aos sistemas distribuidos

Características

!   Diferenças entre computadores !   Formas como se comunicam !   Organização interna dos SD

!   Interação !   Consistente, uniforme (independente do

ponto)

}

oculto aos usuários

Page 7: ACII - SL07 - Introducao aos sistemas distribuidos

Características

!   Deveria ser facilmente expansível !   Independência de componentes

!   Continuamente disponível !   Queda temporária, consertos !   Substituição !   Inclusão !   Usuário não deveria perceber

Page 8: ACII - SL07 - Introducao aos sistemas distribuidos

Como?

!   Dado as características de como criar e conectar !   Computadores heterogêneo !   Redes diversas !   Tecnologias diferentes !   Componentes, linguagens, etc..

Page 9: ACII - SL07 - Introducao aos sistemas distribuidos

Como?

Middleware

Page 10: ACII - SL07 - Introducao aos sistemas distribuidos

Middleware

Page 11: ACII - SL07 - Introducao aos sistemas distribuidos

Metas

Acesso a recursos

Transparência da

distribuição Abertura

Escalabilidade Problemas inerentes

Um SD é realmente necessário? Se sim:

Page 12: ACII - SL07 - Introducao aos sistemas distribuidos

Acesso a recursos

!   Facilitar o acesso a recurso remotos e compartilhados aos usuários e às aplicações !   Eficiente !   Controlada

!   Quais recursos !   Impressora, arquivos, webpages, etc...

!   Porque?? $ Economia $

Page 13: ACII - SL07 - Introducao aos sistemas distribuidos

Acesso a recursos

!   WEB !   Comunicação !   Estilo de vida

!   Groupware

!   Segurança !   Bisbilhotice, senha (texto plano) !   Transmissão e armazenamento

Page 14: ACII - SL07 - Introducao aos sistemas distribuidos

Acesso a recursos

!   Privacidade !   Compra com cartão (leitor) !   Rastreamento

!   Perfil, propaganda, spam !   Wang, 1998 (artigo)

!   Como se proteger !   Filtros, criptografia

Page 15: ACII - SL07 - Introducao aos sistemas distribuidos

Transparência da distribuição

Page 16: ACII - SL07 - Introducao aos sistemas distribuidos

Transparência

!   Acesso – Diferenças de sistemas !   Localização – Geografia !   Localização – URL

!   http://www.ccae.ufpb.br/ !   Migração – URL !   Realocação – computação móvel !   Replicação – Mídia !   Concorrência – acesso, travas, transações !   Falha – Leslie Lamport, web browser

Page 17: ACII - SL07 - Introducao aos sistemas distribuidos

Grau de transparência

!   Considerações !   Desempenho !   Facilidade

!   Exemplo do jornal (7 da manhã) !   Localização

!   Cidades !   Mãe natureza (tempo limite)

!   Sincronismo !   Replicação de dados

Page 18: ACII - SL07 - Introducao aos sistemas distribuidos

Grau de transparência

!   Impossível total transparência !   Dissimular que alcançaremos

!   Explicitar ao usuário e ao desenvolvedor !   Entendimento do funcionamento !   Não surpreender-se

!   Bela meta de desenvolvimento, mas ponderar !   Desempenho e facilidade de

compreensão !   Preço alto

Page 19: ACII - SL07 - Introducao aos sistemas distribuidos

Abertura

!   “Um sistema distribuído aberto é um sistema que oferece serviços de acordo com as regras padronizadas que descrevem a sintaxe e a semântica desses serviços”.

!   Formato, conteúdo e significado !   Uso da IDL (Interface Definition Language)

!   Especificações devem ser completas e neutras. !   Importantes para interoperabilidade e

portabilidade. !   Fornecedores, confiança !   Sistema a, b, ...

!   O sistema distribuído deve ser extensível.

Page 20: ACII - SL07 - Introducao aos sistemas distribuidos

Abertura

!   Necessário separar política e mecanismo. !   Muitos sistemas mais antigos e outros

contemporâneos são construídos com uma abordagem monolítica.

!   Em uma abordagem relativamente nova é crucial que o sistema seja organizado como um conjunto de componentes relativamente pequenos e de fácil distribuição.

!   Cache !   Política, mecanismo !   Horário de trens !   Condições climáticas de tráfego

Page 21: ACII - SL07 - Introducao aos sistemas distribuidos

Escalabilidade

!   Mais importante meta !   Dimensões de escalabilidade (Neuman,

1994) !   Tamanho !   Geográfico !   Administrativos

!   E o desempenho?

Page 22: ACII - SL07 - Introducao aos sistemas distribuidos

Escalabilidade

!   Problemas de escalabilidade !   Tamanho

Page 23: ACII - SL07 - Introducao aos sistemas distribuidos

Escalabilidade

!   Problemas de escalabilidade !   Tamanho !   As vezes necessário

!   Centralizado (Confidenciabilidade) –  Histórico médico –  Banco

!   Agenda de telefones –  50 milhões (2,5 GB)

!   Informação instantânea –  Algoritmos melhores

Page 24: ACII - SL07 - Introducao aos sistemas distribuidos

Escalabilidade

!   Problemas de escalabilidade !   Tamanho !   Algoritmo descentralizados

!   Nenhuma máquina tem informações completas sobre o estado do sistema

!   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

Page 25: ACII - SL07 - Introducao aos sistemas distribuidos

Escalabilidade !   Problemas de escalabilidade

!   Geográfico !   Comunicação síncrona

–  Cliente/bloqueio/servidor/desbloqueio !   Confiabilidade

–  Ponto-a-ponto –  <> LAN (broadcast) facilita

!   Componente centralizados –  Servidor de e-mail

!   Domínios administrativos –  Utilização (recursos, gerenciamento,

segurança, pagamento) –  Expansão para outros domínios

Page 26: ACII - SL07 - Introducao aos sistemas distribuidos

Escalabilidade

!   Técnicas de escalabilidade !   Devidos basicamente a capacidades limitada

de servidores !   Três tipos (Neuman, 1994)

!   Ocultar latências !   Distribuição !   Replicação

Page 27: ACII - SL07 - Introducao aos sistemas distribuidos

Escalabilidade

!   Técnicas de escalabilidade !   Ocultar latências

!   Comunicações assíncronas –  Evita paradas bruscas –  Ñ app. Interativas

»  Redução de comunicação »  Partição do processamento »  Exemplo do formulário

Page 28: ACII - SL07 - Introducao aos sistemas distribuidos

Escalabilidade !   Técnicas de escalabilidade

!   Ocultar latências

Page 29: ACII - SL07 - Introducao aos sistemas distribuidos

Escalabilidade

!   Técnicas de escalabilidade !   Distribuição

!   Sub-dividir em componentes menores

!   Distribuí-lo através do sistema !   Exemplo típico DNS

Page 30: ACII - SL07 - Introducao aos sistemas distribuidos

Escalabilidade

!   Técnicas de escalabilidade !   Distribuição (Exemplo típico DNS)

Page 31: ACII - SL07 - Introducao aos sistemas distribuidos

Escalabilidade

!   Técnicas de escalabilidade !   Replicação

!   Aumenta a disponibilidade !   Equilibra a carga entre componentes !   Cache caso especial

–  Cliente não desenvolvedor –  Demanda e não planejado

!   Problemas de consistência !   Natureza (3x10^8 m/s) fotons

Page 32: ACII - SL07 - Introducao aos sistemas distribuidos

Escalabilidade

!   Técnicas de escalabilidade !   Tamanho

!   Mais ou melhores equipamentos –  Solução temporária e custosa

!   Geográfica !   Mãe natureza

!   Replicação !   Consistência

!   Administrativas !   Problemas não técnicos (polít.)

Page 33: ACII - SL07 - Introducao aos sistemas distribuidos

Ciladas

!   Premissas falsas adotadas ao desenvolver uma aplicação distribuída pela primeira vez

1.  A rede é confiável 2.  A rede é segura 3.  A rede é homogênea 4.  A topologia não muda 5.  A latência é zero 6.  A largura da banda é infinita 7.  O custo de transporte é zero 8.  Há apenas um administrador

Page 34: ACII - SL07 - Introducao aos sistemas distribuidos

Tipos

!   Tipos de Sistemas Distribuídos !   Sistemas de computação distribuídos !   Sistemas de informação distribuídos !   Sistemas embutidos distribuído

Page 35: ACII - SL07 - Introducao aos sistemas distribuidos

Sistemas de Computação Distribuídos

!   Tarefas de computação de alto desempenho !   Computação em cluster

!   Homogeneidade !   Rede

!   Computação em grade (grid) !   Federações de computadores !   Domínios administrativos diferentes !   Heterogeneidade

Page 36: ACII - SL07 - Introducao aos sistemas distribuidos

Sistemas de computação distribuídos

!   Sistemas de computação em cluster !   Preço/desempenho !   Hardware de prateleira !   Rede de alta velocidade (100/MB) !   Único programa !   NASA 1991 !   Sistema Beowulf !   Outros sistemas

Page 37: ACII - SL07 - Introducao aos sistemas distribuidos

Sistemas de computação distribuídos

!   Sistemas de computação em cluster !   Cluster

!   Conjunto de nós !   Master/Slave (Mestre/Escravo) !   Papel do slave !   Papel do master !   Middleware

–  Sistema operacional padrão

Page 38: ACII - SL07 - Introducao aos sistemas distribuidos

Sistemas de computação distribuídos

!   Sistemas de computação em cluster !   Cluster

Page 39: ACII - SL07 - Introducao aos sistemas distribuidos

Sistemas de computação distribuídos

!   Sistemas de computação em cluster !   Cluster

!   Bibliotecas de comunicação !   Ñ segurança, falhas, ... !   Hierárquico

!   Mosix !   Não hierárquica !   Simetrismo !   Transparência (sistema único) !   Migração (nó nativo)

Page 40: ACII - SL07 - Introducao aos sistemas distribuidos

Sistemas de computação distribuídos

!   Sistemas de computação em grade !   Cluster – homogêneo !   Contraponto – alta heterogeneidade !   Sem premissas de hardware, S.O.,

redes, domínios administrativos, política de segurança, ...

!   Organização virtual !   Supercomputadores, redes, DBs,

etc...

Page 41: ACII - SL07 - Introducao aos sistemas distribuidos

Sistemas de computação distribuídos

!   Sistemas de computação em grade !   Arquitetura (Foster, 2001) !   4 camadas

!   Camada-base –  Camada de conectividade –  Camada de recursos

!   Camada coletiva !   Camada de aplicação

Page 42: ACII - SL07 - Introducao aos sistemas distribuidos

Sistemas de computação distribuídos

!   Sistemas de computação em grade !   Arquitetura (Foster, 2001)

Page 43: ACII - SL07 - Introducao aos sistemas distribuidos

Sistemas de computação distribuídos

!   Sistemas de computação em grade !   Arquitetura (Foster, 2001) !   Arquitetura de serviços de grade aberta

!   OGSA (Open Grid Services Architecture)

!   CERN !   GRID Mundial

!   OurGrid

Page 44: ACII - SL07 - Introducao aos sistemas distribuidos

Sistemas de Informação distribuídos

!   Sistemas de processamento de transações !   Operações iniciais !   Agrupamento de operações

!   Transações distribuídas !   Empacota várias requisições de

programas clientes em uma transação distribuída.

!   Sistemas de aplicações empresariais !   Integração de aplicações empresariais

(EAI)

Page 45: ACII - SL07 - Introducao aos sistemas distribuidos

Sistemas embutidos distribuídos !   Sistemas distribuídos pervasivos

!   Localização !   Estável <> Móvel

!   Móvel e embutido !   Pequeno tamanho, alimentação por

bateria, mobilidade, conexão sem fio !   Ñ significa restritivo (smartphone)

!   Não possui controle administrativo humano !   Adotar mudanças contextuais !   Incentivar composição ad hoc !   Reconhecer compartilhamento como

padrão

Page 46: ACII - SL07 - Introducao aos sistemas distribuidos

Sistemas distribuídos embutidos

!   Sistemas domésticos !   TV !   Computadores !   Players (vídeo, jogos, informação) !   Convergência !   PDA !   Fone

!   UPnP – Universal Plug and Play !   802.x (conectividade)

Page 47: ACII - SL07 - Introducao aos sistemas distribuidos

Sistemas distribuídos embutidos

!   Sistemas eletrônicos para tratamento de saúde !   BAN (body-area Network)

Page 48: ACII - SL07 - Introducao aos sistemas distribuidos

Sistemas distribuídos embutidos !   Redes de Sensores

Page 49: ACII - SL07 - Introducao aos sistemas distribuidos

Dúvidas