13-08-1999INPE / CAP-315 Airam J. Preto, Celso L. Mendes Aula 29 (1) Comunicação Coletiva em MPI Tópicos: Operação de Broadcast Operações de Redução Exemplo:

Slides:



Advertisements
Apresentações semelhantes
Adaptações Curriculares Coordenadoria de Educação Especial
Advertisements

Introdução à Programação Engenharia da Computação
SELIC A generalidade dos processos e potenciais candidatos a extensão Gustavo Carvalho.
Arquitetura de Computadores
TEORIA DE CONTROLE II (CEL039) Apresentação do Curso
APRESENTAÇÃO DA DISCIPLINA Prof. Esp. Mick Lennon Machado
MPI – Comunicações Com. Colectiva esquecida Barrier não há troca de dados, apenas sincroniza os processos int MPI_Barrier( MPI_Comm, comm) T com = T lat.
Aula Inicial.
CONGRESSO BRASILEIRO DE CONTABILIDADE 29/08/2012
Modelos de Comunicação em Sistemas Distribuídos
Comunicação Cliente-Servidor
Padrão MPI – Message Passing Interface
Message Passing Interface (MPI)
Técnicas de Apoio ao Processo de Engenharia de Requisitos
Fundamentos de Educação a Distância
Sistemas Distribuídos
Curso de PHP O comando // serve para comentário linear no php
CONCEITO DE AVALIAÇÃO - A avaliação do rendimento do aluno, isto é do processo ensino-aprendizagem, tem sido uma preocupação constante de todos educadores.
Sincronização de Processos (6) - Troca de Mensagens -
Experiments with Strassen’s Algorithm: from sequential to parallel
Campus de Caraguatatuba
Aula 2 Manutenção Corretiva Manutenção Preventiva
Operações com Complexos
Tópicos em Gestão de Serviços – Regressão Linear
Assessoria de Comunicação Clipping Impresso Segunda-feira e Terça-feira, 28 e 29 de Outubro de 2013.
INPE / CAP-315 Airam J. Preto, Celso L. Mendes Aula 30 (1) Empacotamento de Dados em MPI Tópicos: Buffer de Mensagem Empacotamento/Desempacotamento.
INPE / CAP-315 Airam J. Preto, Celso L. Mendes Aula 27 (1) Programação com MPI Tópicos: Modelo de Programação Funções de Ambiente Funções Básicas.
INPE / CAP-315 Airam J. Preto, Celso L. Mendes Aula 6 (1) Reestruturação de Programas em Sistemas Vetoriais Tópicos: Técnicas de Otimização Notação.
INPE / CAP-315 Airam J. Preto, Celso L. Mendes Aula 8 (1) Exploração de Paralelismo em Sistemas Vetoriais Tópicos: Vetorização Paralelização.
Airam J. Preto , Celso L. Mendes
INPE / CAP-315 Airam J. Preto, Celso L. Mendes Aula 32 (1) Entrada/Saída em MPI Tópicos: Operações de E/S Sincronização de Processadores Referência:
Unidade de Técnologias e Informação - FMUL
Concorrência Imperfeita Prof. Jorge Mendes de Sousa
O Papel do Monitor.
Tópicos em redes e sistemas distribuídos Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação.
Tópicos em redes e sistemas distribuídos Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação.
Vivendo em um mundo centrado em redes
Assessoria de Comunicação Clipping Impresso Quinta-feira, 29 de Agosto de 2013.
IF696 - Integração de Dados e DW
Protocolos de Recuperação
Estrutura do Artigo Científico
Prof. Celso Cardoso Neto. (2) ALINHAMENTO Caso 1.
AULA 06 A GLOBALIZAÇÃO E A TI
INPE / CAP-315 Airam J. Preto, Celso L. Mendes Aula 35 (1) Comunicação Avançada em MPI Tópicos: Exemplo: Difusão de Dados em Anel Armazenamento.
INPE / CAP-315 Airam J. Preto, Celso L. Mendes Aula 5 (1) Análise de Dependência Tópicos: Restrições à Vetorização Detecção de Dependência Teste.
Claudio de Oliveira – Processos 09/03/10 20:13 Claudio de Oliveira –
INPE / CAP-315 Airam J. Preto, Celso L. Mendes Aula 34 (1) Desempenho de Programas com MPI Tópicos: Exemplo: Integração Numérica Medição de Tempo.
Algoritmos - Propriedades Desejáveis (1)
INPE / CAP-315 Airam J. Preto, Celso L. Mendes Aula 26 (1) Troca de Mensagens Troca de Mensagens Tópicos: Características de Mensagens Implementação.
CALENDÁRIO 2013 MÓDULO II.
INPE / CAP-315 Airam J. Preto, Celso L. Mendes Aula 3 (1) Exemplos de Sistemas Vetoriais Tópicos: Sistemas Cray Sistemas NEC.
INPE / CAP-315 Airam J. Preto, Celso L. Mendes Aula 24 (1) Redes de Interconexão Tópicos: Redes com Topologia Dinâmica Comparação entre Topologias.
MPI - Message Passing Interface Mestrado em Matemática Computacional 2003.
Métodos de Computação Paralela em Álgebra Linear
MPI – Message Passing Interface Algumas Funções. Funções básicas As 6 funções que permitem escrever muitos dos programas: MPI_Init -- inicia a computação.
PowerPoint Aula-4 Exercício de Fixação.
Tecnologia da Informação e Comunicação no Ensino de Física Danilo Mendes Vieira Roberta Parra da Silva Victor Erlacher Dias Wilhelm Kroskinsque Prof° Ewout.
Trabalho de IF11 Prof.: Adriano Cota. Trabalho de IF11 5 Grupos Data de Entrega da parte escrita: 29/03/2011 Data da Apresentação: 29/03/2011 Desenvolvimento.
Morgana Scheller BLACKBOARD PROGRAMA DE PÓS-GRADUAÇÃO EM EDUCAÇÃO EM CIÊNCIAS E MATEMÁTICA Seminário de Pesquisa e TIC no ensino.
INPE / CAP-315 Airam J. Preto, Celso L. Mendes Aula 33 (1) Análise de Desempenho em Programas Paralelos Tópicos: Introdução Aquisição de Dados.
Trabalho Peso 5 – nota de participação (50%). Estrutura do trabalho 6 Grupos Pesquisa sobre o tema no Brasil e no mundo (base SOFA – FAO 2015); Apresentação.
1 Middleware Marcellus Tavares. 2 Roteiro Sistemas distribuídos Motivação Middleware  MPI  RMI Referências.
INPE / CAP-315 Airam J. Preto, Celso L. Mendes Aula 34 (1) Formas de Programação Paralela Tópicos: Compilação de Linguagens de Alto Nível Padrão.
INPE / CAP-315 Airam J. Preto, Celso L. Mendes Aula 4 (1) Introdução à Programação de Processadores Vetoriais Tópicos: Conceitos Básicos Encadeamento.
Uma ferramenta do próprio WINDOWS Outlook Unidade curricular : Tecnologias da comunicação Docente : Luís Varela Autora : Isabel Moisés.
Introdução ao Processamento Vetorial
Flávia enviou uma mensagem a 4 amigos. Bruna Assil Brasil Alves, Digital.
Anotações.  Definição:  Exemplo:  Definição:  Exemplo:
Airam J. Preto , Celso L. Mendes
INSTITUTO NACIONAL DE PESQUISAS ESPACIAIS - INPE Pós-Graduação em Engenharia e Tecnologia Espaciais - ETE Título: Título Título ... Autores: Nome1.
Transcrição da apresentação:

INPE / CAP-315 Airam J. Preto, Celso L. Mendes Aula 29 (1) Comunicação Coletiva em MPI Tópicos: Operação de Broadcast Operações de Redução Exemplo: Produto Escalar Operações de Redução Globais Referência: Pacheco,P.S. Parallel Programming with MPI Morgan Kaufmann, San Francisco, 1997.

INPE / CAP-315 Airam J. Preto, Celso L. Mendes Aula 29 (2) Operação de Broadcast Objetivo: Enviar mensagens com o mesmo conteúdo, de uma certa CPU para todas as demais Forma Trivial: if (my_rank == 0) { for (dest=1; dest<P ; dest++) MPI_Send(&dado,1,MPI_INT,dest,tag,commun); } else { MPI_RECV(&dado,1,MPI_INT,0,tag,commun,stat); } ; Problema: Execução serializada (pouco eficiente quando há muitos processadores)

INPE / CAP-315 Airam J. Preto, Celso L. Mendes Aula 29 (3) Operação de Broadcast (cont.) Otimização: Criar uma árvore de transmissão

INPE / CAP-315 Airam J. Preto, Celso L. Mendes Aula 29 (4) Operação de Broadcast (cont.) Transmissão convencional: P-1 passos Transmissão otimizada: log 2 P passos Obs: Número total de mensagens é o mesmo (P-1) Ganho de tempo só ocorre se mensagens puderem ser transmitidas simultaneamente Em MPI: MPI_Bcast(...) –Implementação interna dependente de cada sistema –Facilita a codificação para o programador

INPE / CAP-315 Airam J. Preto, Celso L. Mendes Aula 29 (5) Operação de Broadcast (cont.) Tempos de broadcast (em ms, usando MPICH) nCUBE2 Paragon SP2 # CPUs conv. otim. conv. otim. conv. otim

INPE / CAP-315 Airam J. Preto, Celso L. Mendes Aula 29 (6) Operação de Broadcast (cont.) Função de Broadcast em MPI: int MPI_Bcast( void* buffer, int count, MPI_Datatype datatype, int root, MPI_Comm communicator ) Observações: –CPU root envia dados; as demais recebem dados –Todas as CPUs devem participar da operação –NÃO há sincronização de tempo entre as CPUs –É importante observar a ordem em sucessivas chamadas a MPI_Bcast( )

INPE / CAP-315 Airam J. Preto, Celso L. Mendes Aula 29 (7) Operação de Broadcast (cont.) Exemplo de utilização (supondo root =A) : Tempo CPU A CPU B CPU C 1 MPI_Bcast(x) proc.local proc.local 2 MPI_Bcast(y) proc.local proc.local 3 proc.local MPI_Bcast(y) MPI_Bcast(x) 4 proc.local MPI_Bcast(x) MPI_Bcast(y) CPU A envia dados (x e y) CPU C recebe dados na ordem certa ( x x, y y ) CPU B recebe dados invertidos ( y x, x y )

INPE / CAP-315 Airam J. Preto, Celso L. Mendes Aula 29 (8) Operações de Redução Conceito: Operação que combina diversos valores, produzindo um único resultado Exemplos: –Soma total de N números: S = k 1 + k 2 + k k N –Máximo de N números: M = max{k 1, k 2, k 3,..., k N } Requisito: Operação deve ter propriedade associativa –Exemplos: +,, max, min,,, –Contra-Exemplos:,

INPE / CAP-315 Airam J. Preto, Celso L. Mendes Aula 29 (9) Operações de Redução (cont.) Redução em MPI: MPI_Reduce( ) int MPI_Reduce( void* operand, void* result, int count, MPI_Datatype datatype, MPI_Op operator, int root, MPI_Comm communicator ) Todas as CPUs entram com seus valores de operand Apenas a CPU root sai com o valor de result Exemplos de operator : MPI_SUM,MPI_MAX,...

INPE / CAP-315 Airam J. Preto, Celso L. Mendes Aula 29 (10) Exemplo: Produto Escalar X. Y = x 0 y 0 + x 1 y 1 + x 2 y x N-1 y N-1 Supondo P CPUs, com N divisível por P: –CPU 0 armazena x 0, x 1,..., x N/P-1, y 0, y 1,..., y N/P-1 –CPU 1 armazena x N/P,x N/P+1,..,x 2N/P-1,y N/P,y N/P+1,..,y 2N/P-1 –... X: Y: CPU: P-1

INPE / CAP-315 Airam J. Preto, Celso L. Mendes Aula 29 (11) Exemplo: Produto Escalar (cont.) Algoritmo: –Realizar produto escalar interno em cada CPU –Combinar (somar) resultados entre as várias CPUs float Parallel_dot( float local_x[] /* in */, float local_y[] /* in */, int n_bar /* in */) { float local_dot; float dot = 0.0; float Serial_dot(float x[], float y[], int m); local_dot = Serial_dot(local_x, local_y, n_bar); MPI_Reduce(&local_dot, &dot, 1, MPI_FLOAT, MPI_SUM, 0, MPI_COMM_WORLD); return dot; } /* Parallel_dot */

INPE / CAP-315 Airam J. Preto, Celso L. Mendes Aula 29 (12) Operações de Redução Globais Objetivo: Produzir o resultado da redução em todas as CPUs MPI_Allreduce( ) int MPI_Allreduce( void* operand, void* result, int count, MPI_Datatype datatype, MPI_Op operator, MPI_Comm communicator ) Todas as CPUs entram com seus valores de operand Todas as CPUs saem com o mesmo valor de result Possível implementação interna: log 2 P passos