View
141
Download
3
Category
Preview:
Citation preview
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
Recommended