tipos de sistemas distribuídos sistemas distribuídos prof. daniel leite

Post on 22-Apr-2015

141 Views

Category:

Documents

3 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Tipos de Sistemas Distribuídos

Sistemas DistribuídosProf. 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

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

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

Tipos de Sistemas Distribuídos

Front-end

Switch

Nós

...

Tipos de Sistemas Distribuídos

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.

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

Tipos de Sistemas Distribuídos

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

Tipos de Sistemas Distribuídos

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

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

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

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.

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

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

Tipos de Sistemas Distribuídos

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

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

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

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.

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

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

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

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

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

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

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

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

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

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

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

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)

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

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

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

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

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

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

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

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

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.

Tipos de Sistemas Distribuídos• Redes de sensores

top related