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

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

Sistemas Distribuídos

Apresentações semelhantes


Apresentação em tema: "Sistemas Distribuídos"— Transcrição da apresentação:

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

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 <sincronismo,bloqueia> é muito restritivo? Como contornar estas limitações? Mensagens é a resposta! 2

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 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 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 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 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 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 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 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 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 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 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 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 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 Sistemas de Enfileiramento de Mensagens versus e-mail
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 Sistemas de Enfileiramento de Mensagens versus e-mail
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 Sistemas de Enfileiramento de Mensagens versus e-mail
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 Sistemas de Enfileiramento de Mensagens versus e-mail
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 Exemplos Cenário de venda de ingressos

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 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 Exemplos 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.

24 Exemplos 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.

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 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 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 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 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 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 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 Exemplos Cenário de corretagem de ações

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 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 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 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 QoS – Garantia de Qualidade
Serviço Diferenciados Bufferização para reduzir variância de atraso no receptor

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

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

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 Multicasting Multicasting de Nível de Aplicação (MNA) No caso da estrutura em árvore, o problema é construir uma árvore eficiente!

42 MNA - Qualidade da estrutura
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 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 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 Idéia Básica: Um nó P escolhe aleatoriamente um outro nó Q
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 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 Fonte: Tanenbaum, Andrew S. e Steen, Marteen Van. Sistemas Distribuídos, São Paulo: Prentice Hall, 2008. Copyright © 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.


Carregar ppt "Sistemas Distribuídos"

Apresentações semelhantes


Anúncios Google