ACII - SL07 - Introducao aos sistemas distribuidos

49
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

description

Aula sobre introdução aos sistemas distribuídos. introducao, sistemas, distribuidos, arquitetura, cluster, grid, midleware

Transcript of ACII - SL07 - Introducao aos sistemas distribuidos

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