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

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

Padrão MPI – Message Passing Interface

Apresentações semelhantes


Apresentação em tema: "Padrão MPI – Message Passing Interface"— Transcrição da apresentação:

1 Padrão MPI – Message Passing Interface
Marcos da Costa Barros – RA Nov, 2012 MO_601

2 Outline Passagem de Mensagem Histórico Padrão MPI Uso do Padrão MPI
Estrutura Programa MPI Group, Communicator e Rank Comunicação Ponto a Ponto Comunicação Coletiva Tipos de Dados Derivados Topologias Virtuais MPI-2 / MPI-3

3 Passagem de Mensagem Modelo de programação por passagem de mensagem
Necessário suporte de uma biblioteca Necessidade de padronização da interface Necessidade de executar em diferentes plataformas de hardware Compilador ou Biblioteca Memória Compartilhada Passagem De Mensagem Dados Paralelos Multi- Programação Sistema Operacional MPI Artigo Capítulo 1 - INTRODUÇÃO

4 Passagem de Mensagem Modelo de programação por passagem de mensagem
Dados privados Sincronização explícita Nomeação dos processos Controle de coerência e compartilhamento de dados controlados pelo programador Ender.X PROCESSO P PROCESSO Q Ender Y Memoria Local Envia X, Q, t Receb Y, P, t Match Artigo Capítulo 1 - INTRODUÇÃO

5 Histórico Padrão MPI Desenvolvimento de inúmeros sistemas de computação paralela – necessidade de padronização 1992 Congresso em Virginia-USA - Centro de Pesquisa em Computação Paralela de Williamsburg – requisitos essenciais para passagem de mensagem Criação do MPI Fórum 1994 Publicação da primeira revisão do padrão MPI 1996 Publicação da revisão do padrão MPI-2 2012 Publicação do ultima revisão padrão MPI-3 Não é um padrão ISO ou IEEE Artigo Capítulo 2 - HISTÓRIA DO PADRÃO MPI

6 Uso Padrão MPI Define interface de rotinas de biblioteca que suportam comunicação por passagem de mensagem Implementações variam de plataforma para plataforma Pode ser utilizado em plataformas de hardware de memória distribuída, memória compartilhada ou sistemas híbridos Desenvolvido para linguagens C e Fortran na versão MPI-1 e C++ e Fortran90 na versão MPI-2 Bibliotecas disponíveis – Linux : MVAPICH MPI e OPEN MPI – IBM BlueGene – IBM MPI Artigo Capítulo 3 - USO PADRÃO MPI

7 Estrutura Programa MPI
Início código paralelo Finalização do ambiente MPI Execução e Troca de Mensagens Inicialização do ambiente MPI Inclusão arquivo MPI Declarações, protótipos, etc Início do Programa . Código Serial Fim código paralelo Fim do Programa Alocação de Processos Criação Grupos de Processos Comunicação Ponto a Ponto Artigo Capítulo 4 - ESTRUTURA GERAL DE UM PROGRAM MPI Comunicação Coletiva Finalização de Processos

8 Groups, Communicator e Rank
MPI_COMM_WORLD Group – conjunto de processos Communicator – objeto associado ao grupo Rank – número único de identificação de cada processo 2 8 6 3 4 1 7 5 9 8 9 1 6 2 3 4 5 7 GROUP_1 GROUP_2 Artigo Capítulo 5 - GROUPS, COMMUNICATOR E RANK 8 1 9 3 2 4 6 7 5 COMM_1 COMM_2

9 Comunicação Ponto a Ponto
Conceitos Buffering Synchronous x Asynchronous Blocking x Non-Blocking Tipos de comunicação Synchronous Send Blocking send / Blocking receive Non-blocking send / Non blocking receive Buffered send Combined send/receive Ready send PROCESSADOR 1 PROCESS A Aplicaçao ENVIA buffer sistema dado PROCESSADOR 2 PROCESS B Aplicaçao RECEBE REDE Artigo Capítulo 6 - COMUNICAÇÃO PONTO A PONTO - Conceitos

10 Comunicação Ponto a Ponto
Argumentos buffer data count data type destination source tag communicator status request Artigo Capítulo 6 - COMUNICAÇÃO PONTO A PONTO - Argumentos

11 Comunicação Coletiva Synchronization barriers Data movement broadcast
scatter gather Collective computation reduction broadcast scatter 1 3 5 7 Artigo Capítulo 7 - COMUNICAÇÃO COLETIVA 16 gather reduction soma

12 Tipos de Dados Derivados
Conceitos contiguous: permite redefinir o tipo de dados de uma região contínua do espaço de memória para um novo tipo de dados MPI. -vector: permite redefinir o tipo de dados de blocos de dados de mesmo tamanho e espaçados pela mesma distância -indexed: permite redefinir o tipo de dados de blocos de dados de tamanho diferentes e espaçados por diferentes distâncias. -struct: é a estrutura mais geral de tipos de dados que permite a definição de blocos constituídos de diferentes tipos de dados e espaçados por diferentes distâncias Artigo Capítulo 8 - TIPOS DE DADOS DERIVADOS

13 Topologias Virtuais associação linear
organizados em padrões topológicos, como por exemplo, grades de duas ou três dimensões ou mais genericamente, grafos o mapeamento e ordenação de processos num formato geométrico, porém, sem necessariamente ter uma correlação com a topologia de conexão física dos processadores paralelos Cartesiano e Grafo Artigo Capítulo 9 - TOPOLOGIAS VIRTUAIS

14 Padrão MPI-2 / MPI-3 MPI-2 processos dinâmicos comunicação unilateral
operações de comunicação coletiva estendidas interface externa suporte a novas linguagens I/O paralelo MPI-3 suporte para comunicações coletivas non-blocking funções adicionais para comunicações unidirecionais suporte para Fortran 2008 Artigo Capítulo 10 e 11 - PADRÃO MPI-2 e PADRÃO MPI-3


Carregar ppt "Padrão MPI – Message Passing Interface"

Apresentações semelhantes


Anúncios Google