Вы находитесь на странице: 1из 31

Sistemas Dsitribudos

Comunicao orientada a mensagem e

Comunicao orientada a fluxo

Agenda

Comunicao orientada a mensagem Comunicao transiente: MPI Comunicao persistente: Sistema de Enfileiramento de Mensagens Comunicao orientada a fluxo Tipos de Fluxo Qualidade de Servio

Comunicao orientada a mensagem

Algumas vezes mecanismos de comunicao RPC podem ser inadequados. O que acontece caso no seja possvel considerar que o receptor esteja sempre 'acordado'? Comportamento padro em RPC <sincronismo, bloqueia at que a requisio processada> muito restritivo Como contornar estas limitaes: Mensagens

Interface de troca de mensagens (MPI)

Com multicomputadores de alto desempenho, desenvolvedores comearam a procurar primitivas orientadas a mensagem Objetivo: Escrever com facilidade aplicaes de alta eficincia Observando a necessidade de independncia de hardware e de plataforma

Interface de troca de mensagens (MPI)

Considerado como um padro de troca de mensagens para escrever programas paralelos a serem executados em clusters Comunicao transiente mensagem armazenada no sistema enquanto remetente e receptor estiverem ativos

MPI Como funciona?

A comunicao ocorre dentro de um grupo conhecido de processos Cada grupo recebe um identificador Cada processo dentro de um grupo recebe um indentificador O par (groupID,processID) identifica fonte ou destinatrio de uma mensagem Vrios grupos de processos processos podero estar envolvidos em um servio de computao, podendo estar em execuo ao mesmo tempo

MPI

Mais de 100 funes diferentes para troca de mensagens: MPI_recv recebimento de mensagem; bloqueia o chamador at chegar uma mensagem MPI_irecv receptor pode verificar se a mensagem realmente chegou ou no MPI_ALLtoall distribui igualmente os dados entre todos os ns participantes da computao

Middleware
Definindo:

Um middleware pode ser visto como uma camada de software intermediria localizada entre o sistema operacional e a aplicao.
um mediador! Objetivo: Facilitar o desenvolvimento de aplicaes, tipicamente distribudas. Facilitar a integrao de sistemas legados ou desenvolvidos de forma no integrada automtica. Exemplo: Servidor de Aplicao Java EE

Middleware orientado a mensagem (MOM)

Conhecidos como sistemas de enfileiramento de mensagens Suporte para comunicao assncrona persistente Capacidade de armazenamento de mdio prazo para as mensagens trocadas Idia bsica: Aplicaes se comunicam retirando e colocando mensagens em filas especficas Mensagem ser eventualmente entregue ao receptor

MOM - Exemplo
Consulta que abranja vrios bancos de dados pode ser repartida em subconsultas que so repassadas para bancos de dados individuais. Sistemas de enfileiramento de mensagens ajudam fornecendo meios bsicos para empacotar cada subconsulta em uma mensagem e rote-la at o banco de dados adequado.

MOM Outras Aplicaes

E-mail, fluxo de trabalho, groupware, processamento em lotes, integrao de banco de dados e aplicaes.

MOM x RPC
O RPC funciona como uma conversa via rdio entre duas pessoas, Joo e Jos. Nesta conversa, Joo escuta pacientemente enquanto Jos conclui sua ideia, para em seguida responder. Assim funciona o modelo RPC, baseandose em requisies e respostas.
Diferente do modelo RPC, um middleware orientado a mensagens como um servio de e-mail. Quando quer se comunicar com algum voc envia um e-mail e continua fazendo as coisas que tem para fazer, sem ter que parar para aguardar por uma resposta. Essa comunicao atravs de e-mail ocorreu de forma assncrona, isto , sem interromper as atividades do remetente.

MOM Como funciona?


1 Aplicaes se comunicam inserindo mensagens em filas especficas 2 Mensagens so repassadas por uma srie de servidores de comunicao 3 Mensagens so entregues ao destinatrio, mesmo que ele no esteja em funcionamento quando a mensagem foi enviada Remetente e Receptor podem executar em completa independncia

MOM Estados do Remetente e Receptor

MOM Caractersticas das Mensagens

Mensagens podem conter qualquer tipo de dado Mensagens devem ser adequadamente endereadas O endereamento feito com o fornecimento de um nome exclusivo da fila destinatria no mbito do sistema

MOM Arquitetura Geral


Fila de Fonte Fila de Destino Gerenciadores de Fila Repassadores

MOM Arquitetura Geral

Fila de Fonte: Fila na qual o remetente envia a mensagem. Estas filas so filas locais do remetente Fila de Destino: Uma mensagem colocada em uma fila contm a especificao de uma fila de destino para a qual ela deve ser transferida

MOM Como encontrar uma fila dentro do sistema?

MOM Arquitetura Geral

Gerenciadores de Fila: Um gerenciador de fila interage diretamente com a aplicao que est enviando ou recebendo uma mensagem Repassadores: Repassam mensagens que chegam para outros gerenciadores de fila.

Sistema de enfileiramento de mensagens pode crescer at uma rede de sobreposio (overlay) completa de nvel de aplicao

MOM Arquitetura Geral

MOM Repassadores

Repassadores podem ajudar a construir sistemas escalveis de gerenciamento de fila Atualizaes de remoo e adio de filas devem ser feitas somente nos repassadores Gerenciadores de fila somente devem saber onde est o repassador mais prximo

Sistemas de Enfileiramento de Mensagens versus E-mail

Sistemas de E-mail: Requisitos de filtragem automtica de mensagens No precisam garantir entrega de mensagens, prioridades de mensagens, facilidades de registro, balanceamento de carga, tolerncia a falha

Sistemas de Enfileiramento de Mensagens versus E-mail


Sistemas de Enfileiramento de Mensagens
Fornece recursos mais amplos para tratamento de diversas aplicaes diferentes Possibilitam comunicao persistente entre processos

Manipular acesso a banco de dados


Realizar clculos Prioridades de mensagens

At o momento...

Troca de unidades de informao mais ou menos completas e independentes Ex: Requisio para invocar um procedimento

Quais so as facilidades que um sistema distribudo deve oferecer para trocar informaes dependentes de tempo (fluxos de udio e vdeo)?
TEMPO CRUCIAL!!!

Comunicao Orientada a Fluxo Tipos de Fluxo

Fluxos Simples Sequncia simples de dados. Ex: Voz Fluxos Complexos Consiste em vrios fluxos simples relacionados denominados subfluxos Relao temporal entre os subfluxos Ex: Transmisso de um filme: vdeo,som, legenda

Qualidade de Servio (QoS)

Requisitos que descrevem o que necessrio para garantir que as relaes temporais em um fluxo possam ser preservadas Est relacionada com: Pontualidade Volume Confiabilidade Sistemas operacionais e redes no suportam QoS!!! Servio IP best-effort

Best-effort?
um modelo de servio atualmente usado na Internet.
Consiste num servio que envia um fluxo de dados, ao mesmo tempo que a largura de banda partilhada com todos os fluxos de dados enviados por outros utilizadores, ou seja, estas transmisses so concorrentes entre si. Em caso de congestionamento de dados, os pacotes so descartados sem qualquer critrio nem distino, o que obviamente no garante que este servio seja bem sucedido, nem que tenha um bom desempenho.

Em caso de trfego sensvel a atrasos (delay) ou perdas de pacotes, estes tipos de rudos podem originar perdas acentuadas de qualidade de transmisso em tempo real e em casos extremos inviabiliza-la.

Como garantir QoS?


Servio Diferenciados

Bufferizao para reduzir varincia de atraso no receptor

Como garantir QoS?

Correo de Erro de Envio (Forward Error Correction - FEC)

CURIOSIDADE: Como o Brasil se protege de ataques virtuais!


Reportagem

Continuao da Prtica em laboratrio


Instalar as VMs.(win2008, win7, win8 e Linux) Criar o Controlador de Dominio na VM Win 2008 Fazer as outras vms parte do domnio criado.

Continuar a produo do Artigo sobre virtualizao.