Análise de desempenho de programas paralelos - Inf

Propaganda
Análise de desempenho de programas paralelos
Prof. Lucas M. Schnorr (UFRGS)
Escola Regional de Alto Desempenho
Alegrete, RS, Brasil
Março 2014
Made with Org Mode
1/78
Apresentação do professor
I
I
I
Prof. Lucas M. Schnorr
Doutorado em co-tutela UFRGS/INPG (2005 2009)
Pesquisador CNRS na França (2009 2013)
I
I
I
I
I
I
I
Processamento Paralelo
Sistemas Distribuídos
Análise de Desempenho
Visualização de Rastros
Ferramentas: PajeNG, Viva, SimGrid, Akypuera, Poti, Tupi
Professor de Compiladores e MLP
Contato
I
I
I
UFRGS, Prédio 43425, Sala 202
http://www.inf.ufrgs.br/∼schnorr/
[email protected]
2/78
Funcionamento / Sondagem
I
Interrupções são bem-vindas
Dúvidas, pergunte imediatamente
I
Experiência prévia?
I
3/78
Introdução
e motivação
4/78
Introdução
I
I
Desenvolvimento de aplicações paralelas
→ Tarefa complexa
Diculdade de se programar em paralelo
I
I
Restrições na forma de se utilizar os recursos
I
I
CPU versus GPU
Indeterminismo da execução
I
I
Linguagens de programação não apropriadas
Comportamentos diferentes para a mesma entrada
Escalabilidade dos supercomputadores
5/78
Escalabilidade: Xeon Phi Knights Corner
64 cores (256 threads) para obter 1 Teraop
6/78
Escalabilidade: Kalray MPAA 256
256 cores com NoC para obter 0.5 Teraop, baixo consumo
7/78
Escalabilidade: NVidia Tesla K40
2888 processadores para obter 4.29 TF in precisão simples
8/78
Escalabilidade: Tianhe-2 Supercomputer
3120000 (cpu e gpu) cores para obter 34 Petaops
#1 na lista Top500 em novembro de 2013
9/78
Introdução Controlando a complexidade
I
Estratégias de controle da complexidade
I
I
I
Uso de interfaces de programação (MPI, OpenMP, CUDA)
Bom conhecimento do sistema de execução
Alto desempenho em uma aplicação paralela
I
I
Ótimo mapeamento dos requisitos da aplicação nos recursos
Vários ciclos de análise de desempenho
10/78
Introdução Melhorando o desempenho
I
Aplicação paralela/distribuída livre de erros de programação
I
Objetivo da análise de desempenho
I
I
Vericar bom desempenho considerando o sistema
Processo cíclico
I
I
I
Execuções experimentais
Coleta e análise de dados da execução
Modicação/reconguração da aplicação
11/78
Introdução Fases da análise de desempenho
I
Fase de coleta
I
I
I
Fase de análise dos dados
I
I
Ocorre durante a execução da aplicação
Registrar informações consideradas importantes
Identicar problemas de desempenho e suas causas
Na maioria das vezes, as fases são independentes
I
Não há consenso: alguns as realizam ao mesmo tempo
12/78
Introdução Análise de desempenho
I
Análise de desempenho é crucial
I
I
I
Durante o seu desenvolvimento
Portabilidade da aplicação paralela/distribuída
Objetivo do minicurso, dar uma visão geral de
I
I
I
I
conceitos básicos, terminologia
técnicas de coleta
técnicas de análise
algumas ferramentas
13/78
Roteiro
Apresentação
Introdução
Conceitos básicos
Técnicas de observação e registro
Intervalo / Coee-break
Técnicas para análise de desempenho
Ferramentas e bibliotecas
Conclusão e discussão
14/78
Conceitos básicos
e terminologia
15/78
Visão geral dos conceitos básicos
I
Efeito de sonda
Análise online
oine
Sincronização de relógios
I
Outros conceitos
I
I
versus
I
I
I
I
I
I
Casamento de eventos independentes
Execução não-determinística (e replay)
Obtenção de estado global
Resolução de relógios
Formato de arquivo
Observabilidade
16/78
Efeito de Sonda
I
Comportamento natural
I
I
Nenhum tipo de coleta de dados
Ausência de atividades de análise
I
Efeito de sonda: tempo gasto no registro do comportamento
I
Manifesta-se sob diferentes formas
I
I
I
I
I
I
Memória
CPU
Disco
Tempo (ex: 3% mais lento)
Quesitos na escolha de um sistema de coleta
I
I
I
I
I
Alteração do comportamento natural da aplicação
Funcionalidades
Facilidade de uso
Recursos necessários (memória, processamento e disco)
Efeito de sonda (intrusão)
(Discussão sobre fases da análise de desempenho)
17/78
Caracterização da intrusão
I
Medir a amplitude do efeito de sonda
I
I
Funcionamento
I
I
I
Medir o tempo de cada observação
Granularidade na
Uso principal da caracterização
I
I
I
Normalmente em tempo
Corrigir o comportamento alterado registro pela observação
Compensar com uma granularidade na os pontos de medição
Objetivo: anular o efeito de sonda
I
Difícil de ser obtido, depende do ambiente de execução
18/78
Intrusão zero, possível?
I
Caracterização → Compensação: nem sempre funcionam
I
Simulação
I
I
Tempo de simulação versus tempo de execução
No registro do comportamento: tempo de simulação é parado
19/78
Análise online versus oine
I
Análise de desempenho: fases de coleta e de análise
I
Abordagem
I
I
Coleta e análise simultâneas
Abordagem
I
online
oine
Coleta e análise separadas
20/78
Análise online
Coleta e análise simultâneas
I
Vantagens
I
I
Ausência do custo de gerência dos dados
→ Evita escrita em disco
Interatividade na análise
I
I
I
Desvantagens
I
Escalabilidade
I
I
I
Analista pode inuenciar os rumos da análise
Exemplo
Transferência dos dados
Processamento necessário para análise
(compete com a própria aplicação) → Efeito de sonda
Abordagem pouco implementada em ferramentas
21/78
post-mortem)
Análise oine (
Coleta e análise independentes
I
Desvantagens e vantagens opostas àquelas da análise
I
I
I
I
Gerenciamento dos dados comportamentais
Falta de interatividade
Melhor escalabilidade
online
Técnicas de baixa intrusão relacionadas à escalabilidade
I
I
Uso extensivo da memória durante a observação
Uso de formato binário de dados
22/78
Aplicabilidade das abordagens
I
I
I
online e oine
Qual é a melhor?
Abordagem
Abordagem
online relacionada a depuração de erros
post-mortem permite análise de desempenho
23/78
Sincronização de relógios
I
Sistemas distribuídos e paralelos
I
I
I
Cada máquina tem seu próprio relógio
Na grande maioria das vezes, não há sincronia
Principal problema (para a análise de desempenho)
I
Manter a causalidade entre os eventos
24/78
Técnicas de sincronização de relógios
Por software e hardware
I
NTP (
I
I
I
I
I
Capaz de obter sincronia na ordem de milisegundos
Problema: sincronização insuciente
PTP (
I
Network Time Protocol)
Precision Time Protocol)
Sincroniza na ordem de microsegundos
Em redes de baixa latência (supercomputadores)
Sincronização de relógio por
I
I
I
hardware
Relógios atômicos (fornecem hora precisa)
Receptores GPS (Global Positioning System)
Precisão na ordem de nanosegundos
25/78
Outros conceitos relacionados
I
Execução não-determinística
I
I
Diculdade de estudar um problema de desempenho
Reexecução determinística
I
I
I
Obtenção de estado global (
I
I
I
I
I
I
I
Registra-se o comportamento em um primeiro momento
Repete-se a execução obedecendo o comportamento inicial
snapshot)
Útil para vericar propriedades globais da aplicação
Diculdades: latência da rede,
Exemplo de incoerência
Observabilidade (níveis de abstração)
Casamento de informações independentes
Resolução de relógios
Formato de arquivo
26/78
Técnicas de observação e registro
conceitual e prática
27/78
Visão geral das técnicas de observação / coleta
I
Técnicas de observação
I
I
I
I
I
Monitoramento
Geração de índices estatísticos
Denição de um perl de execução
Observação comportamental
Técnicas de coleta e registro
I
I
I
I
Amostragem
Cronometragem
Contagem
Rastreamento
28/78
Técnicas de observação (conceitual)
I
Métodos utilizados para observar o comportamento
Internos
externos
I
Observação interna
I
versus
I
I
I
I
Fonte dos dados interna ao programa
Sondas de observação
Instrumentação
Externa
I
I
Fonte externa
Somente o efeito é observado
29/78
Técnicas de observação
I
Monitoramento (observação externa)
I
I
I
I
Aplicação paralela é inalterada
Poucos detalhes
Foco: sistemas computacionais, redes de interconexão
Geração de índices estatísticos (interna)
I
I
Tendências estatísticas através de métricas de desempenho
Métricas
I
I
I
I
Tempo de espera em regiões de código
Tempo médio de execução de uma tarefa
Útil para isolar uma parte do programa a ser melhorada
(necessita de uma técnica de coleta de dados)
30/78
Técnicas de observação
I
Denição de um perl de execução (interna ou externa)
I
I
I
Estima o tempo gasto em partes do programa
Função / método / módulo / região de código
Indicador global → cautela em execuções de longa duração
Observação comportamental (interna)
I
I
I
Indenticador preciso do comportamento
Fornece informações detalhadas para a análise
Desvantagens relacionadas ao efeito de sonda
31/78
Qual a melhor técnica de observação?
I
Depende
I
I
I
Exemplos
I
I
I
I
Tipo de análise de desempenho
Conhecimento do analista a respeito da aplicação
Perl de execução → observação comportamental
Monitoramento e índices estatísticos → perl de execução
Observação comportamental
Escolha deve ser feita caso a caso
I
Aplicação versus sistema paralelo
32/78
Técnicas de coleta e registro (prática)
I
Situação ideal
I
I
I
Registro preciso do comportamento
Nível de intrusão próximo de zero
Efeito de sonda passível de compensação
I
Difícil de se obter
I
Cada técnica de coleta traz um equilíbrio
I
precisão versus intrusão
33/78
Classicação das técnicas de coleta
I
De acordo como a maneira que o registro é lançado
I
Dirigida pelo tempo ou por eventos
34/78
Amostragem (guiada pelo tempo)
I
I
Examinar periodicamente o estado do programa
Intervalo de tempo → frequência da amostragem
I
I
Denido pelo analista
Funcionamento: no momento da medição
I
Sistema dispara uma ordem de observação
I
I
I
Recongura para que a medição ocorra novamente
Uso bastante comum → Gerar um perl de execução
I
I
Verica qual o estado do programa, registra em memória
Exemplo: frequência de 20 microsegundos, função em execução
Perl indica somente quantas vezes a função foi executada
I
Resultados são em porcentagem da quantidade de amostras
35/78
Amostragem
I
Qualidade dos resultados
I
I
Exemplo: 100 nanosegundos
I
I
versus 1 segundo
Funções em geral se executam na ordem de microsegundos
Efeito de sonda causado pelo amostragem
I
I
Inversamente proporcional ao tamanho do intervalo
Diretamente proporcional à frequência de amostragem
Achar um bom equilíbrio entre qualidade e intrusão
I
Caracterizar intrusão versus frequência da amostragem
Complexidade no uso em uma aplicação paralela
I
I
Vários processos e computadores
Múltiplos pers de execução
36/78
Cronometragem (guiada por evento)
I
I
Medir o tempo passado em uma região de código
Instrumentação manual ou automática do código do programa
I
I
Funcionamento
I
I
I
I
Inserir instruções extras responsáveis pela cronometragem
No local de início da medição, disparo do cronômetro
No local do m da medição, tempo é contabilizado
Medições são somadas e associadas à região observada
Gera um perl de execução
I
Comparação com a amostragem
37/78
Cronometragem
I
Intrusão
I
I
I
Diretamente relacionada a quantidade de cronômetros
Mais controlável quando comparada a amostragem
Exemplo e contra-exemplo
I
Cronometrar a região dentro de um laço
Vantagens e desvantagens
I
I
Flexível (analista dene os cronômetros)
Manual e eventualmente complexa
Complexidade no uso em uma aplicação paralela
I
I
Vários processos e computadores
Múltiplos pers de execução
38/78
Contagem (guiado por evento)
I
Medir a quantidade de ocorrências de um evento
I
I
I
Funcionamento
I
I
I
I
Execução de uma função
Uso de um recurso
Quando um evento é gerado
Procura-se o contador correspondente em memória
Incrementa o contador
Maior vantagem
I
I
Baixa intrusão (incremento de um contador para cada evento)
Uso em programas de longa duração com eventos frequentes
39/78
Contagem
I
Implementação multi-nível
I
I
I
Contadores em
I
I
Em
I
I
I
Contadores em software e hardware
Combinação entre eles
software
Flexibilidade, adaptação, portabilidade
hardware
Imutabilidade, intrusão próxima de zero
Esforço de padronização (PAPI)
Exemplos
I
I
Quantidade de faltas no acesso a memória cache
Quantas instruções foram executadas
Complexidade no uso em uma aplicação paralela
40/78
Rastreamento (guiada por evento)
I
Registrar dados signicativos na forma de eventos datados
Objetivo de análise: reconstrução do comportamento original
I
Funcionamento
I
I
I
I
Quando um ponto de geração de evento é atingido
Um evento é criado e registrado em um arquivo de rastro
Reconstrução do comportamento original
I
Precisão, coerência e qualidade versus intrusão
41/78
Rastreamento o que é um evento?
I
I
Ocorrência de comportamento especíco durante a execução
Contém
I
I
I
I
Um tipo
Uma data
Informações adicionadas de acordo com o seu tipo
Exemplos
I
I
I
I
Início da execução de uma função
Acesso ao um recurso de memória
Envio de uma mensagem
Liberação de um lock (mutex)
Discussão: abrangência do rastreamento
I
Abordagem mais genérica que as outras
42/78
Formas de rastreamento
hardware, software e híbrido
I
Por
I
I
I
I
Por
I
I
I
Equipamentos especializados
Falta de exibilidade
Baixa intrusão
software
Dentro da aplicação ou em bibliotecas associadas
Instruções extras embutidas
Híbrido
I
I
I
I
hardware
Procura-se obter um bom equilíbrio entre os dois
Eventos frequentes são registrados em hardware
Menos frequentes e conguráveis em software
Maioria das ferramentas → rastreamento por
software
Complexidade no uso em uma aplicação paralela
43/78
Qual a melhor técnica de coleta e registro?
Amostragem, cronometragem, contagem, rastreamento?
I
I
Depende do nível de conhecimento que se pretende obter
Exemplos
I
I
I
I
I
Panorama geral (sem alterar código) → perl por amostragem
Histograma temporal → perl por cronometragem
I
Registrando o comportamento das funções suspeitas
I
Mesclando informações do nível da aplicação
Enriquecer com contadores de hardware do processador
Rastreamento investiga problemas de comunicação
Escolha deve ser feita caso a caso
I
I
Aplicação versus sistema paralelo
Suposição do analista e conhecimento prévio
44/78
Intervalo
Coee-break
45/78
Técnicas para análise de desempenho
46/78
Técnicas para análise de desempenho
I
Lembrando as fases de análise
I
I
I
Inúmeras técnicas para a análise do comportamento
I
I
Coleta / registro de comportamento
Interpretação / análise do comportamento
Inspiradas e inuenciadas pela forma da coleta
Exemplos
I
I
Análise através de índices estatísticos
Construção de uma representação visual dos dados
Variabilidade de técnicas de análise
I
I
Visão global de desempenho
Análise local de desempenho
47/78
Objetivos da análise de desempenho
I
Melhorar o desempenho da aplicação paralela
I
I
I
Tempo de execução
Aceleração
Eciência
I
Aumentar a eciência de utilização de recursos
I
Outros objetivos?
48/78
Visão geral das técnicas de análise de desempenho
I
I
I
I
Análise
Análise
Análise
Análise
de pers de execução
automática
por transformação de dados
interativa por visualização de rastros
49/78
Análise de pers de execução
I
I
Forma mais simples de ter uma ideia do desempenho
Funcionamento
I
I
Amostragem / cronometragem
Criação de um histograma
I
I
I
Histograma global
I
I
versus local
Aplicação inteira / processos individuais
Lembrete: perl condizente com a realidade
I
I
Quantidade de vezes detectada (amostragem)
Tempo de execução (cronometragem)
Discussão sobre a frequência de coleta
Histograma baseado em dados de rastreamento
50/78
Análise automática
I
Supercomputadores compostos de milhares de processadores
I
I
Aplicações cada vez maiores
Rastreamento e a grande quantidade de dados gerados
I
Ondes3D: propagação de ondas sísmicas em 3D
I
I
LU.A.32: Solver Lower-upper gauss-seidel
I
I
32p, 4.79s, cerca de 7 milhões de eventos (142 Mbytes)
Simulador de partículas: BSP, implementação quadrática
I
I
32p, execução de 50s , 100K eventos
32p, 6.26s, cerca de 200 milhões de eventos (2.5 Gbytes)
Análise manual e interativa se torna difícil
51/78
Análise automática
I
I
Detectar problemas de desempenho automaticamente
Funcionamento através de um programa de computador
I
Utiliza como entrada o registro de comportamento
amostragem / cronometragem / contagem / rastros
I
I
I
Rastreamento é mais utilizada devido ao nível de detalhamento
Investiga problemas de desempenho (data mining)
Apresenta os problemas identicados ao analista
Escalabilidade
I
I
Uma quantidade maior de dados penaliza menos a análise
Mineração de dados pode ser paralelizada e distribuída
52/78
Análise automática padrões de desempenho ruim
I
I
Problemas de desempenho devem ser previamente conhecidos
Um padrão de desempenho ruim deve conter
I
I
I
I
Quantidade de processos envolvidos
Qual o comportamento de cada processo (estados e variáveis)
Estado das comunicações entre os processos
Desvantagens
I
I
Limitada aos padrões conhecidos
Necessidade de se conhecer a semântica dos dados
53/78
Análise por transformações de dados
I
Transformar os dados comportamentais coletados
I
Razões para a transformação
I
I
I
Alterar a natureza das métricas comportamentais
I
I
Reduzir o volume dos dados originais
Necessidade de criação de (novas) métricas de desempenho
Colocar em evidência características relevantes da aplicação
Exemplo
I
Aplicação de larga escala
I
I
Muitos processos com comportamento semelhante
Agrupar comportamento semelhantes
54/78
Análise por transformações de dados
I
Melhor aplicada em dados oriundos do rastreamento
I
I
I
Mais detalhes, estado da aplicação, do sistema
Maiores possibilidades de transformação
Duas abordagens
I
Agregação
I
Agrupamento (clustering)
I
Operadores de agregação para redução dos dados
I
Agrupar o comportamento por semelhança
55/78
Análise por transformação de dados agregação
I
Utilização de operadores de agregação
I
I
Objetivo
I
I
I
Agregar o comportamento de um conjunto de processos
Obter um valor que representa o comportamento do conjunto
Dados de amostragem / cronometragem
I
I
Média, Max, Min, Soma, Subtração, . . .
Feita diretamente sobre os pers de execução obtidos
Dados de rastreamento
I
I
I
Integração temporal sobre variáveis e métricas de um processo
Integração espacial sobre vários processos da aplicação
Ambas
56/78
Análise por transformação de dados agrupamento
I
Procura por comportamentos similares
I
I
Escolhe-se um processo representativo
I
I
Minimizando as diferenças entre ele o os outros do grupo
Amostragem / cronometragem
I
I
Utilizando uma ou mais métricas disponíveis
Pers semelhantes de execução
Rastreamento
I
I
Comportamento semelhante ao longo do tempo
Reduz a complexidade da análise
57/78
Análise por transformação de dados
I
Vantagens (sumário)
I
I
Reduz a complexidade, o volume dos dados
Permite denir uma nova visão sobre o comportamento
Desvantagens
I
Agregação
I
I
Suavização demasiada do comportamento heterogêneo
Agrupamento
I
Processo representativo muito diferente da média do grupo
58/78
Análise por visualização de rastros
I
Criar uma representação visual dos dados comportamentais
I
Interatividade
I
Se apoia sobre a experiência do analista
I
Exemplo de visualização espaço/tempo
59/78
Análise por visualização de rastros categorias
I
Técnicas de visualização comportamental
I
I
I
I
Espaço / tempo (grácos de Gantt)
Eixo vertical, eixo horizontal
Eventual organização hierárquica no espaço
Pontos fortes
I
I
I
Técnicas estruturais
I
I
I
Evidenciam a estrutura da aplicação ou do sistema
Correlacionam o comportamento da aplicação
Independentes da linha do tempo
I
I
Ênfase na causalidade entre eventos
Análise de desempenho de grão no
Valores instantâneos ou agregados temporalmente
Técnicas estatísticas
I
I
Grácos estatísticos de dispersão
Duas ou mais variáveis correlacionadas
60/78
Análise de visualização de rastros
Exemplo de técnica estrutural
Hosts
Clusters
Sites
Grid
61/78
Análise de visualização de rastros
I
Vantagens (sumário)
I
I
I
I
Representação visual
Interatividade
Experiência do analista
Desvantagens
I
I
Escalabilidade (análise manual, limitação técnica)
Necessidade de combinar com outras técnicas
I
Transformação de dados / análise automática
62/78
Qual a melhor técnica de análise?
Pers, automática, transformação, visualização?
I
I
Depende do tipo do problema de desempenho
Técnicas de análise são complementares
I
I
Pers → Visualização de rastros
Combinação diversa de técnicas
I
Global versus local
63/78
Ferramentas e bibliotecas
apresentação não exaustiva
64/78
Visão geral de ferramentas e bibliotecas
I
Coleta e registro
I
I
I
I
I
I
Score-P
TAU
EZTrace
Akypuera
SimGrid
Análise
I
I
I
I
I
Vampir
Scalasca
Vite
PajéNG
Viva
65/78
Score-P
I
Scalable Performance Measurement Infrastructure for Parallel
Codes
I
I
I
Desenvolvido por
I
I
I
I
Focado em aplicações paralelas MPI
http://www.score-p.org/
German BMBF project SILC
US DOE project PRIMA
Consórcio de laboratórios europeus e americanos
Implementa várias técnicas de coleta
I
I
Rastreamento (com o formato OTF2)
Geração de pers de execução (com o formato CUBE3)
66/78
TAU
I
Tuning and Analysis Utilities
I
I
I
Desenvolvido por
I
I
Universidade do Oregon (Estados Unidos)
Implementa
I
I
I
Suporta várias linguagens (Fortran, C, C++, Java, Python)
http://www.cs.uoregon.edu/research/tau/
Rastreamento (formato próprio)
Amostragem
Colaboração com o projeto Score-P
67/78
EZTrace
I
EZTrace easy to use trace generator
I
I
I
I
Desenvolvido na França
Implementa rastreamento
I
I
I
Focado em aplicações MPI e OpenMP
http://eztrace.gforge.inria.fr/
Exporta rastros em Pajé e OTF
Extensível (novos tipos de eventos)
Interceptação dinâmica
68/78
Akypuera
I
Akypuera (rastro em guarani)
I
I
I
I
Desenvolvido em Porto Alegre, foco em aplicações MPI
https://github.com/schnorr/akypuera
librastro
Utiliza a
(formato binário conciso)
Conversores de TAU, OTF, OTF2 para Pajé
69/78
SimGrid
I
SimGrid Versatile Simulation of Distributed Systems
I
I
I
Desenvolvido na França
http://simgrid.gforge.inria.fr/
Módulo de rastreamento
70/78
Vampir
I
Ferramenta comercial oriunda de laboratório de pesquisa
I
I
I
I
TU-Dresden, Germany
http://vampir.eu/
Visualização de rastros, pers de execução, agrupamento
Altamente escalável com distribuição
71/78
Scalasca
I
Scalasca
I
I
I
Análise automática, pers de execução
I
I
I
Forschungszentrum Jülich (Alemanha)
http://www.scalasca.org/
Algoritmos de mineração de dados
Uma centena de padrões de desempenho ruim
Formato CUBE4 (gerado por Score-P)
72/78
Vite
I
Vite
I
I
I
Desenvolvido pelo INRIA Bordeaux
http://vite.gforge.inria.fr/
Visualização de rastros
I
Formato Pajé e OTF
73/78
PajéNG
I
PajéNG
I
I
I
I
Visualização comportamental de rastros
I
I
Desenvolvido em Porto Alegre
https://github.com/schnorr/pajeng
Reimplementação em C++ do Pajé original (http://paje.sf.net)
pajeng, pj_dump
Utiliza exclusivamente o formato Pajé
I
Exporta para formato CSV
74/78
Viva
I
Viva
I
I
I
Visualização estrutural, agregação espaço-temporal
I
I
I
Desenvolvido em Porto Alegre
https://github.com/schnorr/viva
Topologia da rede (posicionamento dinâmico)
Treemaps
Simbiose com rastros gerados pelo SimGrid
B Hierarchy: Site (10) - Cluster(10) - Machine (10) - Processor (100)
C Hierarchy: Site (10) - Cluster(10) - Machine (10) - Processor (100)
D Hierarchy: Site (10) - Cluster(10) - Machine (10) - Processor (100)
E Maximum Aggregation
75/78
Conclusão e discussão
76/78
Conclusão
I
I
Desenvolvimento de aplicações paralelas de alto desempenho
→ Tarefa complexa
Análise de desempenho
I
Etapa crucial no desempenho de aplicações de alto desempenho
I
I
Portabilidade
Processo cíclico
I
Execução e coleta, seguidas por análise
77/78
Discussão
I
I
Como utilizar estes conceitos na prática?
Diculdades possíveis?
78/78
Download