20-08-1999INPE / 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.

Slides:



Advertisements
Apresentações semelhantes
UTFPR – CEAUT 2011 Tópicos em Controle Sistemas Discretos.
Advertisements

CES-10 INTRODUÇÃO À COMPUTAÇÃO
Arquitetura de Computadores
Construção de Algoritmos AULA 07
Potenciação.
TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS ESTRUTURAS DE DADOS AVANÇADAS Aula /08/2011 Professor Leomir J. Borba-
TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS ESTRUTURAS DE DADOS AVANÇADAS Aula /08/2011 Professor Leomir J. Borba-
03/08/2011 Professor Leomir J. Borba- –
Cálculo - Thomas Capítulo 4.
Cálculo - Thomas Capítulo 5.
Cálculo Integração Numérica Amintas Paiva Afonso
Medidas de Tendência Central DADOS AGRUPADOS
Algoritmos e Programação Linguagens de Programação Teoria Aula (09/06)
Integração Numérica.
VELOCIDADE MÉDIA ACELARAÇÃO GRÁFICO V x t
Tópico Avançados em Sistemas de Computação (Pesquisa Operacional)
CES-10 INTRODUÇÃO À COMPUTAÇÃO Aulas Práticas – 2013 Capítulo II Confecção de Tabelas.
7. INTEGRAÇÃO NUMÉRICA Parte 4
Linguagem C Funções.
Vetores, Matrizes e Funções
Matrizes e Funções - Continuação
Matrizes. 2MF. Matrizes e vectores Multi-dimensionais Não há limite para o número de dimensões de um vector São uma estrutura de dados homogênea multidimensional.
O Portal do Estudante de Computação
Vetor de Ponteiros Exemplo de Alocação. Escrever Vetor de Vetores de floats int main() { int i, k, n; float **vetor; // vetor de vetores int *tamanho;
APRESENTAÇÃO: GIANCARLO DE GUSMÃO GONÇALVES CURSO DE C AULA 08: Tipos Estruturados.
Aprendizado de Máquina
Prof. André Leon S. Gradvohl, Dr.
Prof. Rafael Mesquita Integração Numérica Prof. Rafael Mesquita
Aula 5 - Exercícios Prof. Leandro M. Almeida.
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.
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:
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:
Propriedades da Integral Definidas
Construção de Algoritmos Professor: Aquiles Burlamaqui Construção de Algoritmos AULA 07 Aquiles Burlamaqui UERN
Programação II Estruturas de Dados Aula 02 - continuação
Integral definida Profª Ana Cristina Corrêa Munaretto
Integração numérica.
Eliane Martins - Instituto de Computação - UNICAMP Processo de desenvolvimento proposto Eliane Martins Criação: mar/2011.
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.
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.
A integral definida Seja y = f(x) uma função definida e limitada no
Tópicos em Física Moderna Cinemática e Dinâmica Relativísticas.
Introdução à Linguagem C
Cálculo Numérico Prof. Guilherme Amorim 17/07/2014 Aula 26 – Integração Numérica - Erros.
Cálculo Numérico Aula 21 – Integração Numérica Prof. Rafael Mesquita
Declarando e Chamando Funções
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.
 São utilizadas para dividir um código maior (mais complexo) em partes menores (mais simples).  Quando uma mesma tarefa é realizada várias vezes em um.
MPI - Message Passing Interface Mestrado em Matemática Computacional 2003.
Métodos de Computação Paralela em Álgebra Linear
Aula 5 - Exercícios Prof. Leandro M. Almeida.
Integração numérica Aula 10 Fórmulas de Newton-Cotes: Trapézios;
Métodos Numéricos Computacionais
Algoritmo e Estrutura de Dados I
Alô, mundo!. Vamos ao Dev C++ discutir os seguintes tópicos: – case sensitive – edentação – define – \n, \t, \a – tipos basicos: int, float, char – printf,
CÁLCULO NUMÉRICO. MÉTODO DA BISSECÇÃO Esse método é utilizado para diminuir o intervalo que contém o zero da função. O processo consiste em dividir o.
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.
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.
Introdução ao Processamento Vetorial
Fundamentos de Programação 1 Aula N. 02 Prof. SIMÃO Jean Marcelo SIMÃO Linguagem C “Laços de Repetição em C”
Integração Numérica MCEF 2011/12. Cálculo de integrais desempenha um papel importante em muitas aplicações, sendo necessário dispor de ferramentas para.
CÁLCULO NUMÉRICO Aula de Revisão AV2.
Transcrição da apresentação:

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 com MPI Modelos de Desempenho Interface para Medidas em MPI Referência: Pacheco,P.S. Parallel Programming with MPI Morgan Kaufmann, San Francisco, 1997.

INPE / CAP-315 Airam J. Preto, Celso L. Mendes Aula 34 (2) Exemplo: Integração Numérica Dada: função não-negativa f(x) Objetivo: Calcular a integral de f(x) em [a,b] Método: Regra do Trapézio –Dividir intervalo [a,b] em n partes, largura h = (b-a)/n –Aproximar área de cada intervalo com um trapázio –i-ésimo intervalo: [ x i-1, x i-1 + h ] = [ x i-1, x i ] –Área do i-ésimo intervalo  [ f(x i-1 ) + f(x i ) ]. h / 2 –Área total: [f(x 0 )/2 + f(x n )/2 +f(x 1 )+f(x 2 )+... +f( xn-1 )]. h

INPE / CAP-315 Airam J. Preto, Celso L. Mendes Aula 34 (3) Ex.: Integração Numérica (cont.) Implementação Serial: float f(float x);  função externa printf("Enter a, b, and n\n"); scanf("%f %f %d", &a, &b, &n); h = (b-a)/n; integral = (f(a) + f(b))/2.0; x = a; for (i = 1; i <= n-1; i++) { x = x + h; integral = integral + f(x); } integral = integral*h;

INPE / CAP-315 Airam J. Preto, Celso L. Mendes Aula 34 (4) Ex.: Integração Numérica (cont.) Estratégia de Paralelização: –Dividir os n intervalos pelos P processadores –Cada processador calcula a integral em sua parte –Cada processador envia seu resultado ao proc.0 –Processador 0 calcula área total Questões a serem resolvidas: –Fazer entrada de dados (a,b,n) para os processadores  Solução trivial: Processador 0 lê dados –Determinar intervalos de trabalho de cada processador  Possível solução:Cada proc.pega intervalos vizinhos

INPE / CAP-315 Airam J. Preto, Celso L. Mendes Aula 34 (5) Ex.: Integração Numérica (cont.) Implementação Paralela: h = (b-a)/n; local_n = n/p; local_a = a + my_rank*local_n*h; local_b = local_a + local_n*h; integral = Trap(local_a, local_b, local_n, h); if (my_rank == 0) { total = integral; for (source = 1; source < p; source++) { MPI_Recv(&integral, 1, MPI_FLOAT, source, tag, MPI_COMM_WORLD, &status); total = total + integral; } } else { MPI_Send(&integral, 1, MPI_FLOAT, dest, tag, MPI_COMM_WORLD); }

INPE / CAP-315 Airam J. Preto, Celso L. Mendes Aula 34 (6) Medição de Tempo com MPI Função para leitura de tempo: double MPI_Wtime( ) : Retorna tempo “atual”, em seg. Uso Típico: double inicio, final, delta;... MPI_Barrier( ); inicio = MPI_Wtime( );... (código a ser medido) MPI_Barrier( ); final = MPI_Wtime( ); delta = final - inicio ;

INPE / CAP-315 Airam J. Preto, Celso L. Mendes Aula 34 (7) Modelos de Desempenho Definição: –Modelos matemáticos que representam o tempo de execução de um programa Utilidade: –Representação do tempo de execução como função de n (tamanho do problema) ou p (número de processadores) –Capacidade de predição, para diferentes valores de n, p Em Geral: –Tempo de um programa serial: T = T  ( n ) –Tempo de um programa paralelo: T = T  ( n, p )

INPE / CAP-315 Airam J. Preto, Celso L. Mendes Aula 34 (8) Modelos de Desempenho (cont.) Speedup de uma execução paralela: S( n, p ) = T  ( n ) / T  ( n, p ) Eficiência de uma execução paralela: E( n, p ) = S( n, p ) / p = T  ( n ) / p. T  ( n, p ) Componentes do Custo de Execução: –Tempo de Computação: proporc. ao núm.comandos –Tempo de Comunicação: Tempo de uma mensagem:  +  x, onde x = tam.da msg Tempo de várias mensagens: depende do hardware do sistema –Tempo de E/S : iremos ignorar

INPE / CAP-315 Airam J. Preto, Celso L. Mendes Aula 34 (9) Modelos de Desempenho (cont.) Parâmetros do tempo de uma mensagem:  : latência  : 1/larg.faixa Valores Típicos em Sistemas Reais (em  s):   Intel Paragon Intel iPSC/ IBM SP nCUBE TMC-CM

INPE / CAP-315 Airam J. Preto, Celso L. Mendes Aula 34 (10) Modelos de Desempenho (cont.) Caso de várias mensagens (Ex: broadcast) –Num sistema do tipo hipercubo: T = k. log 2 p –Num sistema com barramento: T = k. (p-1) Tempo Total do Ex. de Integração Numérica: –Num hipercubo: T  = k 1 n / p + k 2. log 2 p + k 3 –Com barramento: T  = k 1 n / p + k 2 (p-1) + k 3 Speedup (supondo barramento): S( n, p ) = ( k 4 n + k 5 ) / [ k 1 n / p + k 2 (p-1) + k 3 ]

INPE / CAP-315 Airam J. Preto, Celso L. Mendes Aula 34 (11) Interface para Medidas em MPI Objetivo: –Obter estatísticas sobre o uso de funções de MPI –Ex: Número de chamadas a MPI_Send( ) ; Tempo, etc. Problema: –Chamadas a MPI_Send podem estar dentro de outras funções de MPI (p.ex. MPI_Bcast) Solução: –No padrão MPI: MPI_Send( )  PMPI_Send( ) –MPI_Send( ): pode ser reescrita pelo usuário, incluindo cálculo de estatísticas e chamada a PMPI_Send( )

INPE / CAP-315 Airam J. Preto, Celso L. Mendes Aula 34 (12) Interface para Medidas em MPI (cont.) Exemplo: acumular o tempo gasto em MPI_Send( ) static double send_time = 0.0; int MPI_Send(void* buffer, int count, MPI_Datatype datatype, int dest, int tag, MPI_Comm comm) { double start_time, finish_time; int return_val; start_time = MPI_Wtime(); return_val = PMPI_Send(buffer, count, datatype, dest, tag, comm); finish_time = MPI_Wtime(); send_time = send_time + finish_time - start_time; return return_val; } Obs: Esta rotina deve ser “linkada” antes da bibliot. de MPI