Tipos de Sistemas Distribuídos Sistemas Distribuídos Prof. Daniel Leite.

43
Tipos de Sistemas Distribuídos Sistemas Distribuídos Prof. Daniel Leite

Transcript of Tipos de Sistemas Distribuídos Sistemas Distribuídos Prof. Daniel Leite.

Page 1: Tipos de Sistemas Distribuídos Sistemas Distribuídos Prof. Daniel Leite.

Tipos de Sistemas Distribuídos

Sistemas DistribuídosProf. Daniel Leite

Page 2: Tipos de Sistemas Distribuídos Sistemas Distribuídos Prof. Daniel Leite.

Tipos de Sistemas Distribuídos

• Sistemas de Computação Distribuídos– Voltado para computação de alto desempenho– Clusters– Grade

• Sistemas de Informação Distribuídos– Sistemas de Processamento de Transações– Integração de Aplicações Corporativas

• Sistemas Distribuídos Pervasivos– Sistemas Domésticos– Sistemas Eletrônicos para Transporte de Saúde– Rede de Sensores

Page 3: Tipos de Sistemas Distribuídos Sistemas Distribuídos Prof. Daniel Leite.

Tipos de Sistemas Distribuídos

• Clusters– Foi tornando-se comum a medida que o preço do

hardware foi diminuindo– É executado em uma rede local, sobre os mesmos

SO e máquinas com hardware semelhante. – Ambiente local e homogêneo– Utilizada quando exige-se muito processamento de

um ambiente– O processamento é paralelo por um único

programa executado em várias máquinas

Page 4: Tipos de Sistemas Distribuídos Sistemas Distribuídos Prof. Daniel Leite.

Tipos de Sistemas Distribuídos

• Clusters – Beowulf– Fundamentado em 1994, pela NASA, com a finalidade de

processar as informações espaciais recolhidas. • Características

– A conexão dos nós pode ser feita por redes do tipo Ethernet (mais comum);

– Existe um servidor responsável por controlar todo o cluster• quanto a distribuição de tarefas e processamento • monitoração de falhas

– Este servidor é chamado de Front-end;– Pode-se usar computadores comuns, inclusive obsoletos

Page 5: Tipos de Sistemas Distribuídos Sistemas Distribuídos Prof. Daniel Leite.

Tipos de Sistemas Distribuídos

Front-end

Switch

Nós

...

Page 6: Tipos de Sistemas Distribuídos Sistemas Distribuídos Prof. Daniel Leite.

Tipos de Sistemas Distribuídos

Page 7: Tipos de Sistemas Distribuídos Sistemas Distribuídos Prof. Daniel Leite.

Tipos de Sistemas Distribuídos

• Cluster - Mosix - Multicomputer Operating System for UnIX • Conjunto de ferramentas de cluster para Linux, voltado ao

tipo Balanceamento de Carga• Uma de suas principais características é a não necessidade

de aplicações e recursos de software voltados ao cluster, como acontece com o Beowulf

• É eficiente na tarefa de distribuição dinâmica de processamento entre os computadores do cluster

• Trabalha como se fosse um único supercomputador, por meio de conceitos de Distribuição de Processos e Balanceamento de Carga.

Page 8: Tipos de Sistemas Distribuídos Sistemas Distribuídos Prof. Daniel Leite.

Tipos de Sistemas Distribuídos

• Grade – Alto grau de heterogeneidade – Não existe premissa sobre o ambiente que será executado:

• Hardware• SO• Redes • Domínios administrativos• Políticas de segurança

– Reuni recursos de diferentes pessoas ou organizações permitindo a colaboração.

– É uma forma de organização virtual

Page 9: Tipos de Sistemas Distribuídos Sistemas Distribuídos Prof. Daniel Leite.

Tipos de Sistemas Distribuídos

Page 10: Tipos de Sistemas Distribuídos Sistemas Distribuídos Prof. Daniel Leite.

Tipos de Sistemas Distribuídos

• Grade– O middleware de Grade é voltado para fornecer

acesso a recursos de diferentes domínios administrativos

– A arquitetura tem um peso muito forte em sua concepção e implementação

Page 11: Tipos de Sistemas Distribuídos Sistemas Distribuídos Prof. Daniel Leite.

Tipos de Sistemas Distribuídos

Page 12: Tipos de Sistemas Distribuídos Sistemas Distribuídos Prof. Daniel Leite.

Tipos de Sistemas Distribuídos

• Camada base– Provê interfaces para recursos locais em um site

específico– São projetadas para permitir compartilhamento dos

recursos computacionais dentro da organização virtual– Provê funções para consultar o estado e as capacidades

de um recurso– Funciona em conjunto com funções para o

gerenciamento de recursos propiamente dito• Ex. Trava de recursos

Page 13: Tipos de Sistemas Distribuídos Sistemas Distribuídos Prof. Daniel Leite.

Tipos de Sistemas Distribuídos

• Camada de conectividade– Consiste em protocolos de comunicação para

suportar transações da grade que abranjam a utilização de múltiplos recursos

– Conterá protocolos de segurança

Page 14: Tipos de Sistemas Distribuídos Sistemas Distribuídos Prof. Daniel Leite.

Tipos de Sistemas Distribuídos

• Camada de recursos– Responsável pelo gerenciamento de um único

recurso, o controle de acesso– Utiliza as funções fornecidas pela camada de

conectividade e chama diretamente as interfaces disponibilizadas pela camada-base

Page 15: Tipos de Sistemas Distribuídos Sistemas Distribuídos Prof. Daniel Leite.

Tipos de Sistemas Distribuídos

• Camada coletiva– Trata de manipular o acesso a múltiplos recursos e

normalmente consiste em serviços para descoberta de recursos, alocação e escalonamento de tarefas para múltiplos recursos, replicação de dados, etc.

Page 16: Tipos de Sistemas Distribuídos Sistemas Distribuídos Prof. Daniel Leite.

Tipos de Sistemas Distribuídos

• Camada de aplicação– Consiste em aplicação virtual que funcionam

dentro de uma organização virtual e fazem uso do ambiente de computação em grade

Page 17: Tipos de Sistemas Distribuídos Sistemas Distribuídos Prof. Daniel Leite.

Tipos de Sistemas Distribuídos

• As camadas coletivas, de conectividade e de recursos formam o cerne do que pode ser denominado de camada de middleware em grade

Page 18: Tipos de Sistemas Distribuídos Sistemas Distribuídos Prof. Daniel Leite.

Tipos de Sistemas Distribuídos

• Sistemas de Informação Distribuídos– Sistemas de Processamento de Transações– Integração de Aplicações Corporativas

Page 19: Tipos de Sistemas Distribuídos Sistemas Distribuídos Prof. Daniel Leite.

Tipos de Sistemas Distribuídos

• Sistemas de Informação Distribuídos– Encontrada em organização que possuem uma grande

quantidade de aplicações em rede que necessitam interoperarem

– Ex. Servidor, geralmente também de BD, disponibiliza acesso a programas remotos (clientes). Os clientes enviam requisições ao servidor e recebem uma resposta deste servidor. A aplicação de nível mais baixo permite que clientes empacotem várias requisições em uma única requisição maior, e as enviam para execução como uma transação distribuída. Esta transação ou executará todas as requisições, ou nenhuma

Page 20: Tipos de Sistemas Distribuídos Sistemas Distribuídos Prof. Daniel Leite.

Tipos de Sistemas Distribuídos

• Sistemas de Informação Distribuídos – A medida que as aplicações foram tornando-se mais

sofisticadas e eram gradualmente separadas em componentes independentes, distinguindo • Componentes de BDs• Componentes de processamento

– A integração deveria ocorre de modo a permitir a aplicação se comunicar diretamente uma com as outras

– Grande indústria voltada para Integração Empresariais (EAI – Enterprise Application Integration)

– Sistemas de Processamento de Transações– Integração de Aplicações Corporativas

Page 21: Tipos de Sistemas Distribuídos Sistemas Distribuídos Prof. Daniel Leite.

Tipos de Sistemas Distribuídos

• Sistemas de Processamento de Transações– Bancos de dados executam suas operações sob forma de

transações– Programar utilizando transações requer primitivas

especiais• BEGIN_TRANSACTION – Inicia a transação• END_TRANSACTION – Termine a transação e tente

comprometê-la• ABORT_TRANSACTION – Elimine a transação e restaure os

valores antigos• READ – Leia dados de um arquivo, tabela, etc.• WRITE – Escreva dados para um arquivo, tabela, etc.

Page 22: Tipos de Sistemas Distribuídos Sistemas Distribuídos Prof. Daniel Leite.

Tipos de Sistemas Distribuídos

• As transações precisam ser ACID:– Atômica: A transação é indivisível– Consistentes: Sai do estado inicial consistente e

vai até ao final também consistente– Isoladas: Transações concorrentes não interferem

umas com as outras– Duráveis: Uma vez comprometida uma transação,

as alterações são permanentes

Page 23: Tipos de Sistemas Distribuídos Sistemas Distribuídos Prof. Daniel Leite.

Tipos de Sistemas Distribuídos

• Atômica – Garante que cada transação aconteça

completamente ou não aconteça– Será como uma única ação indivisível e

instantânea– Enquanto uma transação está em progresso,

outros processos que estejam ou não envolvidos em transações, não podem ver nenhum dos estados intermediários

Page 24: Tipos de Sistemas Distribuídos Sistemas Distribuídos Prof. Daniel Leite.

Tipos de Sistemas Distribuídos

• Consistentes– Se o sistema tiver certos invariantes válidos antes

da transação, estes também deverão valer após a realização da transação

– Ex. Sistema bancário• Invariante é a lei a conservação do dinheiro• Após toda a transferência interna, o $ no banco deverá

ser o mesmo– Observe que durante o a transação, por um breve instante o

invariante pode ter sido violado. Porém não é visível para fora da transação

Page 25: Tipos de Sistemas Distribuídos Sistemas Distribuídos Prof. Daniel Leite.

Tipos de Sistemas Distribuídos

• Isoladas ou serializáveis– Se duas ou mais transações são executadas ao

mesmo tempo, o resultado final para cada uma delas e para outros processos se apresentará como se todas as transações fossem executadas em sequência em certa ordem

Page 26: Tipos de Sistemas Distribuídos Sistemas Distribuídos Prof. Daniel Leite.

Tipos de Sistemas Distribuídos

• Duráveis – Refere-se ao fato de que não importa o que

aconteça, uma vez comprometida uma transação, ela continua e os resultados tornam-se permanentes

– Nenhuma falha após o comprometimento pode desfazer os resultados ou provocar sua perda

Page 27: Tipos de Sistemas Distribuídos Sistemas Distribuídos Prof. Daniel Leite.

Tipos de Sistemas Distribuídos

• Até aqui foram definidas transações em um único BD

• Transação Aninhada– É construída com base em uma quantidade de

subtransações

Page 28: Tipos de Sistemas Distribuídos Sistemas Distribuídos Prof. Daniel Leite.

Tipos de Sistemas Distribuídos

• Subtransações– Possuem uma transação pai– Permite que as subtransações possam executar

transações em máquinas diferentes• Ganho de desempenho • Simplifica a programação

Page 29: Tipos de Sistemas Distribuídos Sistemas Distribuídos Prof. Daniel Leite.

Tipos de Sistemas Distribuídos

• Subtransações– Problema• Imagine uma transação inicia várias subtransações em

paralelo• Uma delas se compromete, tornando seus resultados

visíveis a transação pai• Após um certo tempo a transação pai é abortada

– Restaura-se o sistema ao estado que estava antes que a transação do nível mais alto começasse

Page 30: Tipos de Sistemas Distribuídos Sistemas Distribuídos Prof. Daniel Leite.

Tipos de Sistemas Distribuídos

• Integração de Aplicações Corporativas– Quanto mais crescia as aplicações distribuídas e se

desvinculavam dos BDs mais evidente ficava que eram necessárias facilidades para integrar as aplicações

– As aplicações deveriam poder se comunicar diretamente com outras aplicações• Não apenas através do comportamento requisição/resposta

– Existem vários de middleware de comunicação• RPC• RMI• MOM

Page 31: Tipos de Sistemas Distribuídos Sistemas Distribuídos Prof. Daniel Leite.

Tipos de Sistemas Distribuídos

• Integração de Aplicações Corporativas– RPC – Remote Procedure Calls

• Comunicação através de chamadas de procedimentos remotos

• Um componente da aplicação pode efetivamente enviar uma requisição a um outro componente de aplicação executando uma chamada de procedimento local

• Resulta no empacotamento da requisição como uma mensagem e em seu envio ao chamado

• Da mesma forma o resultado será enviado de volta e devolvido a aplicação como resultado da chamada do procedimento

Page 32: Tipos de Sistemas Distribuídos Sistemas Distribuídos Prof. Daniel Leite.

Tipos de Sistemas Distribuídos

• RMI - Remote Method Invocation– Popularização das linguagens OO• Java, C++

– Foram desenvolvidos técnicas que permitisse chamadas a objetos remotos• Invocações da métodos remotos

– A grande diferença entre RMI e RPC é que um funciona com objetos em vez de aplicações

Page 33: Tipos de Sistemas Distribuídos Sistemas Distribuídos Prof. Daniel Leite.

Tipos de Sistemas Distribuídos

• Desvantagem da RPC e RMI– O chamador e o chamado devem estar ligados e

em funcionamento no momento da comunicação– Precisam saber exatamente como se referir um ao

outro• Forte acoplamento ( muitas vezes percebido como

desvantagem)

Page 34: Tipos de Sistemas Distribuídos Sistemas Distribuídos Prof. Daniel Leite.

Tipos de Sistemas Distribuídos

• MOM – Message-oriented Middleware– As aplicações enviam mensagens a pontos lógicos

de contato– Aplicações indicam interesse por um tipo

específico de mensagem– O middleware de comunicação cuidará para que

todas as mensagens sejam entregues a essas aplicações

Page 35: Tipos de Sistemas Distribuídos Sistemas Distribuídos Prof. Daniel Leite.

Tipos de Sistemas Distribuídos

• Os sistemas distribuídos vistos até este momento são em grande parte caracterizados por:– Nós relativamente fixos– Conexão relativamente permanente– Alta qualidade de rede

• Sistemas Distribuídos Pervasivos– Dispositivos de computação móveis e embutidos

• Pequeno tamanho• Alimentação a bateria

– Sistemas Domésticos– Sistemas Eletrônicos para Transporte de Saúde– Rede de Sensores

Page 36: Tipos de Sistemas Distribuídos Sistemas Distribuídos Prof. Daniel Leite.

Tipos de Sistemas Distribuídos

• Sistemas domésticos– Sistemas comuns– Montados ao redor de redes domésticas– Integram eletrônicos • TVs• Equipamentos de audio e vídeo• Dispositivos para jogos• PDAs

Page 37: Tipos de Sistemas Distribuídos Sistemas Distribuídos Prof. Daniel Leite.

Tipos de Sistemas Distribuídos

• Sistemas domésticos– Desafios• Autoconfigurável• Autogerenciável

– Tirar do usuário a responsabilidade de configurar o sistema doméstico e deixá-lo funcionando

– O padrão UPnP (Universal Plug and Play) • Obtêm automaticamente endereços IP• Capacidade de descobrir uns aos outros

Page 38: Tipos de Sistemas Distribuídos Sistemas Distribuídos Prof. Daniel Leite.

Tipos de Sistemas Distribuídos

• Sistemas domésticos– Gerenciamento de dados• Espaço pessoal

– Dentro de um sistema doméstico consiste em muitos dispositivos pessoais e dados compartilhados, onde estão sujeitos a restrições de compartilhamento

Page 39: Tipos de Sistemas Distribuídos Sistemas Distribuídos Prof. Daniel Leite.

Tipos de Sistemas Distribuídos

• Sistema eletrônicos para tratamento de saúde– Consiste em dispositivos para monitorar o bem-

estar de indivíduos e entrar automaticamente em contato com médicos caso necessite

– Objetiva-se evitar que pessoas sejam hospitalizadas

Page 40: Tipos de Sistemas Distribuídos Sistemas Distribuídos Prof. Daniel Leite.

Tipos de Sistemas Distribuídos

• Sistema eletrônicos para tratamento de saúde– Costuma ser equipados com vários sensores

organizados em um rede de área corporal (BAN – Body-area Network) • Preferencialmente sem fio

Page 41: Tipos de Sistemas Distribuídos Sistemas Distribuídos Prof. Daniel Leite.

Tipos de Sistemas Distribuídos• Sistema eletrônicos para tratamento de saúde

Page 42: Tipos de Sistemas Distribuídos Sistemas Distribuídos Prof. Daniel Leite.

Tipos de Sistemas Distribuídos

• Redes de sensores– Consiste em espalhar sensores (podendo chegar a milhares)

para que algo seja monitorado– Esses sensores devem monitorar e se comunicar em rede

para responder a requisições sobre este ambiente– Ex. Monitoração de tráfego de carros em uma estrada,

poderia facilmente responder questões relacionadas ao tráfego dos veículos

– Ex. Utilização da rede de sensores para recolher informações sobre temperatura/humidade, onde com base nessas informações possa ser modificada para uma temperatura ideal.

Page 43: Tipos de Sistemas Distribuídos Sistemas Distribuídos Prof. Daniel Leite.

Tipos de Sistemas Distribuídos• Redes de sensores