02-12-1998INPE / 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.

Slides:



Advertisements
Apresentações semelhantes
Desempenho da Computação Paralela em Ambientes Virtualizados
Advertisements

Desenvolvimento de Plug-ins Orientado a Testes
gerador de código intermediário
Arquitetura e organização de computadores.
UML Visões – Parte 2.
Projeto conceitual Mostra ao cliente exatamente o que o sistema fará
Análise e Projeto de Sistemas I
SISTEMAS DE INFORMAÇÃO
ATSI ExtendingAndFormalizingTheFrameworkForInormati onStyleArchitecture Alunos: Manuel Mendes- nº49703 Francisco Silva – nº51298 Cristina Fraga- nº51383.
ARQUITETURAS RISC E CISC
Unidades de Execução e de Controle Sistemas Digitais.
Professor Sandro Carvalho
Arquitetura de Sistemas Operacionais
OpenMP MO801/MC972. Visão geral Biblioteca de mais alto nível para programação paralela Prevê memória compartilhada Requer suporte do compilador Exige.
Modelo de Arquitetura Diagrama de Componentes
Avaliação de Desempenho Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Sistemas de Computação Marcos José
Avaliação de Desempenho
Avaliação de Desempenho de Sistemas Computacionais
CAPÍTULO Sistemas de supervisão 2. Sistema SCADA
Injeção de Falhas Técnicas e Ferramentas
Professor: Erivelto Tschoeke – UDESC/CEPLAN
Complexidade de Algoritmos
RUP: Fluxo de Análise e Projeto
SISTEMA INTEGRADO DE APOIO À ANÁLISE DE PERTURBAÇÕES
Protocolo CMB em simulação distribuída
Desafios do desenvolvimento de software
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:
Algoritmos paralelos eficientes para alguns problemas de processamento de Cadeia de Caracteres Alunos: Diego Alencar dos Santos Melo Felipe Formagini Brant.
Tópicos em redes e sistemas distribuídos B Carlos Oberdan Rolim Ciência da Computação.
Tópicos em redes e sistemas distribuídos Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação.
Análise e Projeto de Sistemas
Introdução a Linguagens de Programação
Diagramas de Atividade
Sistemas Distribuídos Carlos A. G. Ferraz DI/UFPE Aula 05.
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 34 (1) Desempenho de Programas com MPI Tópicos: Exemplo: Integração Numérica Medição de Tempo.
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.
Capítulo 5 Análise de processos 1.
Experimentação Algorítmica
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.
Recursividade Bruno Silva.
Integração de Ferramentas CASE
Engenharia de Sistemas Embarcados Aula 9: Salvo RTOS.
Chamada Remota de Procedimentos. Remote Procedure Call O fluxo de informações em uma implementação de clientes e servidores por passagem de mensagem requer.
A música e a voz A música e a voz © 2001 Wilson de Pádua Paula Filho.
Engenharia de Sistemas Embarcados Aula 5: Um Conjunto Básico de Ferramentas.
Expansão dos Casos de Uso
Análise e Projeto de Sistemas Unified Modeling Language Renata Araujo Ricardo Storino Núcleo de Computação Eletrônica Curso de Programação de Computadores.
Introdução à modelagem orientada a objetos
Sistemas Operacionais Aula 2 Danielle Costa
Análise e Projeto de Sistemas
TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS ANÁLISE E PROJETO DE SISTEMAS Aula /08/2012 Professor Leomir J. Borba-
Gráfico de Gantt.
Estilos Arquiteturais
UML (Unified Modeling Language) Linguagem Unificada de Modelagem
O QUE SÃO... FERRAMENTAS DA QUALIDADE
TÉCNICAS DE ESTIMATIVAS
Copyright © 2011 Ramez Elmasri and Shamkant Navathe slide 1 Tópicos  Introdução  Um exemplo  Características da abordagem de banco de dados  Vantagens.
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
1 Especificação de Sistemas de Software e a UML. 2 Modelagem de sistema A modelagem de sistema auxilia o analista a entender a funcionalidade do sistema.
Modelos de Troca de Dados em Nível Elétrico ARQUITETURA DE COMPUTADORES II Prof. César Augusto M. Marcon.
 Evolução constante das linguagens de programação de alto nível (LAN) desde o Fortran (primeira LAN)  Surgimento de novos paradigmas como a OO, Orientação.
Transcrição da apresentaçã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 de Desempenho Processamento/Visualiz.de Dados de Desempenho Ferramentas de Análise de Desempenho Referência: Foster, Ian Designing and Building Parallel Programs Addison-Wesley, 1995 (versão online em )

INPE / CAP-315 Airam J. Preto, Celso L. Mendes Aula 33 (2) Introdução Fases da Ánálise de Desempenho de um Programa: –Aquisição de Dados de Desempenho Feita durante a execução do programa Dados de desempenho podem ser armazenados num arquivo –Transformação ou Redução dos Dados Redução da massa total de dados adquiridos Pode ser feita durante a execução ou a posteriori –Visualização dos Dados Exibir os dados de desempenho, para análise visual Informar ao programador os gargalos de desempenho

INPE / CAP-315 Airam J. Preto, Celso L. Mendes Aula 33 (3) Introdução (cont.) Fatores a considerar: –Precisão dos dados adquiridos: Depende dos recursos disponíveis para a aquisição –Simplicidade das ferramentas utilizadas: Ferramentas automáticas são mais convenientes –Flexibilidade das ferramentas utilizadas: Ferramentas que podem ser expandidas são mais úteis –Perturbação causadas no experimento: Sempre há um overhead se a aquisição for via software Idealmente, aquisição deveria ser por hardware –Modelo de abstração: Dados de desempenho adquiridos devem ser facilmente relacionados com o programa-fonte original

INPE / CAP-315 Airam J. Preto, Celso L. Mendes Aula 33 (4) Aquisição de Dados de Desempenho Principais Técnicas de Aquisição: –Perfil de Execução (profiling) –Contadores –Rastreio da Execução (tracing) Perfil de Execução: –Mostra o tempo gasto em diferentes partes do programa –Implementado através de amostragens periódicas do contador de programa –Técnica originada em programas seqüenciais

INPE / CAP-315 Airam J. Preto, Celso L. Mendes Aula 33 (5) Aquisição de Dados de Desempenho (cont.) Exemplo (programa seqüencial): {aldebaran}/tmp/celso% cc -p -o serial serial.c {aldebaran}/tmp/celso% serial Enter a, b, and n With n = trapezoids, our estimate of the integral from to = {aldebaran}/tmp/celso% /usr/ccs/bin/prof %Time Seconds Cumsecs #Calls msec/call Name main f

INPE / CAP-315 Airam J. Preto, Celso L. Mendes Aula 33 (6) Aquisição de Dados de Desempenho (cont.) Vantagens do uso de perfis: –Podem ser obtidos de forma automática –Fornecem rapidamente uma visão “geral” da execução Desvantagens do uso de perfis: –Não capturam variações temporais durante a execução –Eventos periódicos podem acabar sendo mascarados Problemas adicionais no caso de programa paralelo: –Em princípio, 1 arquivo de perfil para cada processador –Problema de desempenho em um processador pode ser causado pelo comportamento de outro processador!

INPE / CAP-315 Airam J. Preto, Celso L. Mendes Aula 33 (7) Aquisição de Dados de Desempenho (cont.) Contadores : –Registros que gravam o número de ocorrências de um certo fenômeno –Dois tipos principais: Contadores de Eventos: contam eventos específicos Contadores de Intervalo: contam número de ciclos de relógio entre dois eventos –Podem ser implementados manualmente, ou por código gerado pelo compilador, automaticamente –Exemplos: Número de mensagens enviadas, duração de um loop, número de chamadas a uma sub-sotina, etc.

INPE / CAP-315 Airam J. Preto, Celso L. Mendes Aula 33 (8) Aquisição de Dados de Desempenho (cont.) Algumas observações: –Perfis e Contadores fornecem recursos complementares (Ex: Perfil  Duração total gasta numa sub-rotina, Contad.  Número de chamadas  duração média) –Como em perfis, contadores também ignoram variacões temporais ao longo da execução do programa –Como em perfis, é difícil relacionar contagens obtidas em processadores distintos, no caso de prog. paralelos –Quase todos os processadores recentes oferecem recursos de suporte em hardware

INPE / CAP-315 Airam J. Preto, Celso L. Mendes Aula 33 (9) Aquisição de Dados de Desempenho (cont.) Rastreio da Execução (tracing): –Visão detalhada da execução do programa –Na execução, a cada ocorrência do evento de interesse é gerado um registro, com o valor corrente do clock –Outras informações possíveis no registro: tipo de evento, número do processador, duração, etc. –Trace: seqüência de registros gerados na execução; pode ser armazenado num arquivo –Programa original + código p/ geração de registros = programa instrumentado –Instrumentação pode ser feita pelo programador ou automaticamente

INPE / CAP-315 Airam J. Preto, Celso L. Mendes Aula 33 (10) Aquisição de Dados de Desempenho (cont.) Exemplo de arquivo de trace: Tipo Proc Clock...

INPE / CAP-315 Airam J. Preto, Celso L. Mendes Aula 33 (11) Processamento e Visualização de Dados de Desempenho Objetivo: –A partir dos dados de desempenho adquiridos, gerar dados mais simples e exibí-los ao programador Apresentação Típica: –Forma gráfica Com Perfis e Contagens: –Forma gráfica mais conveniente: histograma –Histogramas podem ser 1-D ou 2-D (ou até 3-D!) Ex 1-D: Duração total  Sub-rotina Ex 2-D: Duração total  {Sub-rotina, Processador}

INPE / CAP-315 Airam J. Preto, Celso L. Mendes Aula 33 (12) Processamento e Visualização de Dados de Desempenho (cont.) Com Traces: –Histogramas 1-D/2-D/3-D, após filtragem dos dados –Gantt charts (carta de barras horizontais): Eixo horizontal representa o tempo ao longo da execução Cada barra horizontal corresponde a um processador Forma da barra (largura, cor, etc.) representa o estado do proc. Obs: Assume-se que os clocks dos proc. estão sincronizados Conexões entre barras horizontais representam mensagens Também conhecidas como diagrama espaço/tempo Relações causa-efeito ficam evidentes no diagrama Não podem ser usadas c/ número alto de processadores

INPE / CAP-315 Airam J. Preto, Celso L. Mendes Aula 33 (13) Ferramentas de Análise de Desempenho Ferramentas de domínio público: –Paragraph: Gant charts, histogramas, etc. Feita para exibir traces gerados por PICL –Upshot Feita especialmente para programas com MPI Maior flexibilidade de uso que Paragraph –Pablo Mais poderosa (e mais complexa); dados em formato SDDF Baseada num editor gráfico para processamanto de traces Versão atual: SvPablo (ligação com o código-fonte)