A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Sistemas Distribuídos Jorge Surian Sistemas Distribuídos: Comunicação: MPI, MOM, Fluxo e Multicasting.

Apresentações semelhantes


Apresentação em tema: "Sistemas Distribuídos Jorge Surian Sistemas Distribuídos: Comunicação: MPI, MOM, Fluxo e Multicasting."— Transcrição da apresentação:

1 Sistemas Distribuídos Jorge Surian Sistemas Distribuídos: Comunicação: MPI, MOM, Fluxo e Multicasting

2 2 2 MPI – Interface de Troca de Mensagens Conceitos –O que acontece caso não seja possível considerar que o receptor esteja sempre 'acordado'? –O comportamento padrão é muito restritivo? –Como contornar estas limitações? »Mensagens é a resposta! 2

3 3 3 MPI – Interface de Troca de Mensagens Conceitos –O advento de multicomputadores de alto desempenho os desenvolvedores passaram a procurar primitivas orientadas a mensagens que lhes permitissem escrever com facilidade aplicações de alta eficiência. –Isso obriga essas primitivas estarem em um nível conveniente de abstração e que sua implementação incorra em sobrecarga mínima. –Depois de muitas avaliações com redes de interconexão e multicomputadores usando bibliotecas proprietárias, de altíssima eficiência mas incompatíveis entre si, conclui-se pela necessidade de criação de uma plataforma padrão para troca de mensagens, a interface de passagem de mensagens (Message-Passing Interface), ou simplesmente MPI, que fosse independente do hardware. 3

4 4 4 MPI – Interface de Troca de Mensagens Conceitos –Considerado como um padrão de troca de mensagens para escrever programas paralelos a serem executados em clusters. –Comunicação transiente mensagem é armazenada no sistema enquanto remetente e receptor estiverem ativos. –A comunicação ocorre dentro de um grupo conhecido de processos. 4

5 5 5 MPI – Interface de Troca de Mensagens Conceitos –Cada grupo recebe um identificador. –Cada processo dentro de um grupo recebe um identificador. –Par (groupID,processID) identifica fonte ou destinatário de uma mensagem. –Vários grupos de processos poderão estar envolvidos em um serviço de computação, podendo estar em execução simultaneamente. 5

6 6 6 MPI – Interface de Troca de Mensagens Conceitos –Mais de 100 funções diferentes para troca de mensagens: »MPI_recv recebimento de mensagem; bloqueia o chamador ate chegar uma mensagem. »MPI_irecv receptor pode verificar se a mensagem realmente está chegando, mas não bloqueia. »MPI_ALLtoall distribui igualmente os dados entre todos os nos participantes da computação. »MPI_ssend envia uma mensagem e espera até o recebimento começar. »MPI_send envia uma mensagem e espera até que seja copiada para o buffer local ou remoto. –Suportada por: IBM, Intel, TMC, Meiko, Cray, Convex, Ncube 6

7 7 7 MOM – Middleware Orientado a Mensagens Conceitos –Conhecidos como sistemas de enfileiramento de mensagens. –Suporte para comunicação assíncrona persistente. –Capacidade de armazenamento de médio prazo para as mensagens trocadas –Idéia básica: Aplicações se comunicam retirando e colocando mensagens em filas específicas. –Mensagem será eventualmente entregue ao receptor. 7

8 8 8 MOM – Middleware Orientado a Mensagens Conceitos –Exemplo: »Consulta que abranja vários bancos de dados pode ser repartida em subconsultas que são repassadas para bancos de dados individuais. –Sistemas de enfileiramento de mensagens ajudam fornecendo meios básicos para empacotar cada subconsulta em uma mensagem e roteá-la até o banco de dados adequado. 8

9 9 9 MOM – Middleware Orientado a Mensagens Aplicações MOM – , –Fluxo de trabalho, –Groupware, –Processamento em lotes, –Integração de banco de dados e –Aplicações em Geral 9

10 10 MOM – Middleware Orientado a Mensagens Funcionamento 1 – Aplicações se comunicam inserindo mensagens em filas específicas. 2 – Mensagens são repassadas por uma série de servidores de comunicação. 3 – Mensagens são entregues ao destinatário, mesmo que ele não esteja em funcionamento quando a mensagem foi enviada Remetente e Receptor podem executar em completa independência. 10

11 11 MOM – Middleware Orientado a Mensagens Estados do Remetente e do Receptor (quanto a Execução) –A ideia básica é a comunicação por filas. Assim as aplicações se comunicam inserindo mensagens em filas específicas. Nenhuma garantia é dada sobre quando, e nem ao menos se, a mensagem será lida. –Uma fila só pode ser lida por sua aplicação associada, mas é possível que várias aplicações compartilhem uma mesma fila. 11

12 12 MOM – Características das Mensagens Mensagens podem conter qualquer tipo de dado Mensagens devem ser adequadamente endereçadas O endereçamento é feito com o fornecimento de um nome exclusivo da fila destinatária no âmbito do sistema 12

13 13 MOM - Arquitetura Conceitos –Fila de Fonte: Fila na qual o remetente envia a mensagem. Estas filas são filas locais do remetente. –Fila de Destino: Uma mensagem colocada em uma fila contém a especificação de uma fila de destino para a qual ela deve ser transferida. –Gerenciadores de Fila: Um gerenciador de fila interage diretamente com a aplicação que está enviando ou recebendo uma mensagem. –Repassadores: Repassam mensagens que chegam para outros gerenciadores de fila. 13

14 14 MOM - Arquitetura Conceitos –Sistema de enfileiramento de mensagens pode crescer até uma rede de sobreposição (overlay) completa de nível de aplicação. 14

15 15 Mensagens Sistemas de Enfileiramento de Mensagens versus e- mail –Sistemas de »Requisitos de filtragem automática de mensagens »Não precisam garantir entrega de mensagens, prioridades de mensagens, facilidades de registro, balanceamento de carga, tolerância a falha

16 16 Mensagens Sistemas de Enfileiramento de Mensagens versus e- mail –Sistemas de Enfileiramento de Mensagens »Fornecem recursos mais amplos para tratamento de diversas aplicações diferentes –Suporte de várias plataformas. Integra computadores pessoais e sistemas legados. Por exemplo, um pacote contábil pode residir em um sistema MVS de mainframe IBM e pode se comunicar, usando Microsoft MSMQ- MQSeries Bridge, com aplicativos dos Serviços de Enfileiramento de Mensagens residentes em computadores pessoais.

17 17 Mensagens Sistemas de Enfileiramento de Mensagens versus e- mail –Sistemas de Enfileiramento de Mensagens »Possibilitam comunicação persistente entre processos –Entrega segura de mensagens. Assegura a entrega de cada mensagem e ajuda a garantir um sistema de entrega seguro. –Desempenho. Como as mensagens podem ser rapidamente enviadas, elas podem controlar processos de produção em tempo real, como a temperatura de cozimento.

18 18 Mensagens Sistemas de Enfileiramento de Mensagens versus e- mail –Sistemas de Enfileiramento de Mensagens »Possibilitam comunicação persistente entre processos –Envio assíncrono. Permite que dispositivos mais rápidos continuem o processamento sem esperar pela resposta de dispositivos mais lentos. »Manipular acesso a banco de dados

19 19 Mensagens Sistemas de Enfileiramento de Mensagens versus e- mail –Sistemas de Enfileiramento de Mensagens »Realizar cálculos »Priorização de mensagens. Faz o roteamento eficiente das mensagens. Por exemplo, embora as mensagens da garantia da qualidade (QA) precisem ser entregues no final, elas não devem obstruir a entrega eficiente de mensagens para as quais o tempo é fator crítico. Serviço de mensagens sem conexão. Habilita todos os computadores e máquinas a interagir como um sistema único.

20 20 Exemplos Cenário de venda de ingressos

21 21 Exemplos Cenário de venda de ingressos A figura mostra como vários clientes podem acessar um servidor Web de venda de ingressos pela Internet. Os clientes Web exibem páginas HTML que mostram disponibilidade e preço de ingressos e diagramas dos assentos. Uma empresa que venda ingressos para eventos pode usar os seguintes recursos dos Serviços de Enfileiramento de Mensagens para melhorar seu sistema: –Serviço de mensagens sem conexão. Atualização de conta e envio de ingresso, realizados de maneira assíncrona.

22 22 Exemplos Cenário de venda de ingressos –Conexão à Internet. Aceita pedidos pela Internet usando um aplicativo dos Serviços de Enfileiramento de Mensagens e componentes COM, em conjunto com páginas ASP e IIS (Serviços de Informação da Internet). Isto é feito por meio de formulários da Web, que dão um suporte de segurança e de várias plataformas. –Suporte de várias plataformas. Integra computadores pessoais e sistemas legados. Por exemplo, o servidor de venda de ingressos pode estar sendo executando em um computador com UNIX.

23 23 Cenário de publicação e assinatura Os Serviços de Enfileiramento de Mensagens podem ser usados para simplificar o desenvolvimento de programas genéricos de publicação e assinatura, como novos serviços de conexão e de assinatura de dados financeiros. Embora um programa de servidor deva continuamente enviar dados atualizados de um tipo específico para o cliente, o servidor não tem que reenviar os dados se o cliente estiver off-line ou indisponível. Exemplos

24 24 Cenário de publicação e assinatura A figura mostra um cenário de publicação e assinatura que mantém a equipe de vendas móveis atualizada sobre o status das mercadorias disponíveis. Um aplicativo dos Serviços de Enfileiramento de Mensagens também pode ser usado para receber pedidos e os dois sistemas podem ser integrados. Contudo, para simplificar os detalhes do exemplo, este cenário de publicação e assinatura abrange somente a disseminação de informações. Exemplos

25 25 Exemplos Cenário de publicação e assinatura Nesta figura, os clientes móveis recuperam dados no campo. Os servidores regionais recuperam dados do servidor principal somente de tipos de informação para os quais os clientes fazem assinatura. Cada cliente recebe, então, apenas as informações que assinou para receber. Isto reduz o custo da comunicação entre os locais e da comunicação móvel.

26 26 Exemplos Cenário de publicação e assinatura Neste cenário, os servidores regionais e o centro de dados estão localizados em locais diferentes. As mensagens são roteadas entre o centro de dados e os locais por links de roteamento nos quais o servidor principal do centro de dados e os servidores regionais estão configurados para serem entradas de local.

27 27 Exemplos Cenário de publicação e assinatura –Serviço de mensagens sem conexão e priorização de mensagens. Coloca a carga do envio da mensagem nos Serviços de Enfileiramento de Mensagens. Você não precisa lidar com informações que expiram (as quais, portanto, não são mais úteis), nem com informações que não podem ser enviadas de maneira pontual.

28 28 Exemplos Cenário de publicação e assinatura Os seguintes recursos dos Serviços de Enfileiramento de Mensagens são críticos para o sucesso de programas tradicionais de publicação e assinatura: –Segurança. Garante o envio de informações para o cliente correto e que os serviços não sejam usados sem pagamento.

29 29 Exemplos Cenário Bancário As transações financeiras exigem segurança e programação de acordo com transações. As transações de máquinas ATM (caixas eletrônicos) também exigem serviço de mensagens sem conexão. Na figura anexa, cada ATM tem seu próprio banco de dados local. Ainda que o banco de dados local, regional ou central esteja temporariamente off-line, a ATM ainda pode processar as transações.

30 30 Exemplos Cenário Bancário Neste cenário, os centros de dados regionais, cada um dos quais tem conexões diretas com vários centros de dados locais, que se comunicam diretamente com várias ATMs, estão situados em locais diferentes. As mensagens são roteadas entre o centro de dados principal e os locais por links de roteamento nos quais o servidor principal do centro de dados principal e os servidores de centros de dados regionais estão configurados para serem entradas de local.

31 31 Exemplos Cenário Bancário Este cenário bancário usa estes recursos dos Serviços de Enfileiramento de Mensagens: –Serviço de mensagens sem conexão. Para comunicação entre ATMs e centros regionais. –Serviços de mensagens transacionais. Para envio de mensagens que ocorrem de maneira sincronizada com a atualização dos bancos de dados financeiros. As mensagens são enviadas apenas uma vez. –Segurança. Para garantir a integridade do sistema. Supostos ladrões não podem imitar uma ATM e as transações não podem ser monitoradas por pessoas que estejam tentando roubar números de contas e de identificação pessoal.

32 32 Exemplos Cenário de corretagem de ações

33 33 Exemplos Cenário de corretagem de ações No exemplo, os clientes se comunicam por telefone com agentes que fazem negócios em seu nome. O servidor de negociações realiza as seguintes tarefas na ordem abaixo: Consulta o servidor de conta para verificar se a transação pode ser concluída. Verifica a transação com o servidor de gerenciamento de riscos. Coloca a solicitação de transação no servidor da bolsa de valores. O servidor da bolsa de valores faz a transação de ações e, depois, de maneira assíncrona, atualiza o servidor da conta do cliente e de gerenciamento de riscos.

34 34 Exemplos Cenário de corretagem de ações Este cenário de transação de ações usa estes recursos dos Serviços de Enfileiramento de Mensagens: –Segurança. Para autenticação e criptografia de mensagens e auditoria de acesso, para garantir um ambiente seguro. –Suporte de várias plataformas. Integra computadores pessoais e sistemas legados. –Transações (exatamente depois de enviado). Para envio garantido de mensagens, assegurando uma contabilização exata. –Serviço de mensagens sem conexão. Para atualização de contas e avaliação de riscos, de maneira assíncrona.

35 35 Comunicação Orientada ao Fluxo Fluxos Simples –Sequência simples de dados. –Ex: Voz Fluxos Complexos –Consiste em vários fluxos simples relacionados denominados sub-fluxos –Relação temporal entre os sub-fluxos –Ex: Transmissão de um filme: vídeo, som, legenda

36 36 Qualidade de Serviço (QoS) – Garantia de Qualidade Requisitos que descrevem o que é necessário para garantir que as relações temporais em um fluxo possam ser preservadas Está relacionada com: –Pontualidade –Volume –Confiabilidade Sistemas operacionais e redes não suportam QoS!!!

37 37 QoS – Garantia de Qualidade Serviço Diferenciados Bufferização para reduzir variância de atraso no receptor

38 38 QoS – Garantia de Qualidade Correção de Erro de Envio (Forward Error Correction - FEC)

39 39 QoS – Garantia de Qualidade Exemplo (transmissão de imagens)

40 40 Multicasting Idéia Básica: Nós se organizam em uma rede de sobreposição que é usada para disseminar informações para seus membros Nós na rede de sobreposição podem cruzar vários enlaces físicos: roteamento pode não ser ótimo Construção do overlay –Árvore: único caminho entre cada par de nós –Malha: Cada nó terá vários vizinhos, em geral, existem vários caminhos entre cada par de nós

41 41 Multicasting Multicasting de Nível de Aplicação (MNA) No caso da estrutura em árvore, o problema é construir uma árvore eficiente!

42 42 Multicasting MNA - Qualidade da estrutura –Estresse de enlace: Quantas vezes uma mensagem atravessa o mesmo enlace? »Exemplo: mensagem de A a D atravessa Ra,Rb duas vezes –Penalidade de atraso relativo: Razão entre o atraso entre dois nós na sobreposição e o atraso que esses dois nós sofreriam na rede subjacente. »Exemplo: mensagens de B a C possuem um atraso de 71 no overlay, mas de 47 no nível de rede, que gera uma penalidade de 1.51 –Custo da árvore: parâmetro de medição global, relacionado com a minimização dos custos agregados de enlaces. »Exemplo: atraso entre dois nós finais spanning tree

43 43 Multicasting Disseminação de Dados – Algoritmos Epidêmicos –Idéia Básica: propagar informações rapidamente entre um grande conjunto de nós usando somente informações locais. Não há nenhum componente central que coordena a disseminação de informações. –Atualizações para um item de dado específico são iniciadas em um único nó, evitando conflito de escrita.

44 44 Multicasting Modelos de Disseminação de Dados Três tipos de nós: –Infectado: se contiver dados que está disposto a espalhar para outros nós –Suscetível: nó que ainda não tenha visto esses dados –Removido: nó atualizado que não está disposto ou capacitado para propagar os dados.

45 45 Multicasting Antientropia –Idéia Básica: Um nó P escolhe aleatoriamente um outro nó Q »Push: P envia suas próprias atualizações a Q »Pull: P recebe novas atualizações de Q »Push-Pull: P e Q enviam atualizações um ao outro (abordagem enviar-receber)

46 46 Multicasting Gossiping –Idéia Básica: Se um nó P acabou de ser atualizado com o item de dado x, ele contata um nó arbitrário Q e tenta enviar a atualização a Q. Contudo, é possível que Q já tenha sido atualizado por um outro nó. Nesse caso, P pode perder o interesse em levar adiante a propagação da atualização, com probabilidade 1/k –Problema: Nós poderão não receber atualizações!

47 47 Copyright © 2010 Prof. Jorge Surian Todos direitos reservados. Reprodução ou divulgação total ou parcial deste documento é expressamente proíbido sem o consentimento formal, por escrito, do Professor Surian. Fonte: Tanenbaum, Andrew S. e Steen, Marteen Van. Sistemas Distribuídos, São Paulo: Prentice Hall, 2008.


Carregar ppt "Sistemas Distribuídos Jorge Surian Sistemas Distribuídos: Comunicação: MPI, MOM, Fluxo e Multicasting."

Apresentações semelhantes


Anúncios Google