Benchmarking para sistemas de alto desempenho
-
Upload
intel-software-brasil -
Category
Documents
-
view
248 -
download
7
description
Transcript of Benchmarking para sistemas de alto desempenho
Benchmarking para Sistemas de Alto Desempenho Intel Software Conference – Maio, 2014 Igor Freitas [email protected]
Agenda
2
Principais conceitos em Benchmarking
Metodologia
Conclusões
Principais conceitos em Benchmarking
Nomenclatura p/ a Metodologia proposta
Workload:
Carga computacional submetida ao sistema. Tarefas, transações e dados processados em um período de tempo
Sistema:
Componentes de Software (Sistema Operacional, Drivers e Aplicativos)
Componentes de Hardware (Unidades de processamento, Arquitetura de Rede)
Fatores:
Parâmetros que variam e afetam diretamente a performance do sistema. Ex.: Inputs da aplicação definidos pelo usuário.
Métricas
Critérios baseados em medidas computacionais para comparar a performance entre sistemas. Geralmente baseadas em throughput, tempo de resposta e utilização do sistema (HW + SW).
Métricas mais comuns:
– MIPS (Millions of Instructions per Second)
– CPI (Cycles per Instructions)
– MFLOPS (Millions of Floating Point Operations per second)
3
Principais conceitos em Benchmarking
Definições de Benchmarking / Benchmark
Definição 1: Um ou mais workloads utilizados no processo de Benchmarking
Exemplo: Caracterização do ambiente de extração e reserva de óleo e gás através de injeção
de CO², para que este seja modelado, simulado e analisado.
Definição 2: Ferramentas de workloads sintéticos: EuroBen, HPCC, NAS Parallel
Benchmarks, SPEC.
Exemplo: HPC Challenge Benchmark
PTRANS : Estressa a comunicação entre cores (processadores) de um sistema para avaliar a capacidade da rede.
FFT : Mede o taxa (ratio) de precisão dupla (double) em cálculos de FFT (Fast Fourier Transform) em uma dimensão.
Definição 3: Método científico para testar e aprofundar o conhecimento sobre um
sistema complexo através de metodologias sistemáticas.
4
Principais conceitos em Benchmarking
Objetivo do Benchmarking:
Sistemas existentes:
Caracteriza-lo, identificar os hotspots (pontos de melhoria), medir sua performance,
testar workloads, obter uma medida de performance inicial para otimizações ou
comparações.
Novos sistemas:
Caracterizar o problema a ser resolvido, criar workloads representativos, criar uma
medida de performance para otimizações ou comparações
5
Metodologia
Benchmarking Plan:
Definir os objetivos do projeto através da descrição de suas funcionalidades, seleção de métricas e listagem dos parâmetros de entrada.
Requirements Definition:
Definir uma técnica de medição através dos fatores de estudo e definição dos workloads. Importante: nesta fase é definida a complexidade do benchmarking.
Benchmarking Execution:
Criar os test cases, analisar e interpretar os resultados, apresentar as conclusões.
7
Metodologia Técnicas de medição
9
Critério Analytical Modeling Simulation Measurement
Estágio (Sistema pronto,
protótipo, inexistente)
Indiferente Indiferente Protótipo
Tempo requerido Pequeno Médio Variado
Ferramentas Analistas Linguagens
Programação
Instrumentação
Precisão Baixa Moderada Variada
Facilidade em identificar
conclusões
Fácil Moderado Difícil
Custo Pequeno Médio Alto
Credibilidade dos
resultados
Baixo Médio Alto
Tipos de métricas
Métricas definidas pelo usuário
Métricas para profiling e otimização
Tempo de execução é a métrica principal
Considerar a perspectiva do usuário
Exemplos: em algumas simulações, a métrica utilizada pode ser “milhões de células processadas por segundo”
– Neste caso, MIPS, CPI, latência de memória entre outras métricasnão são relevantes
Metodologia
10
Definição das métricas podem gerar problemas
Dependência entre Objetivos, Serviços e Métricas de Performance
Não podemos melhorar uma métrica em detrimento de outra !
Metodologia
11
O desfio é otimizar o sistema de acordo com a prioridade
definida para as métricas, serviços e objetivos do projeto.
Cuidado na análise dos resultados
Throuput: MIPS depende da arquitetura (CISC, RISC, MIC etc)
Uso da CPU através de MPIS: processamento ou overhead de comunicação ?
Workloads não-representativos: os testes devem utilizar inputs mais próximos possíveis da aplicação real.
Fatores significantes: A variação dos parâmetros do sistema (Fatores) influenciam na performance, não podemos ignora-los no versionamento dos testes.
Ignorar variação nos resultados: poucas medidas podem trazer falsas conclusões
Metodologia
12
Metodologia
13
Benchmarking Execution Phase
Analysis
Tree
Profiling &
Tuning
Regular Performance
Regression Tests
Analyze & Interpret Data Present Results Design Experiments
Timeline
Analysis
TopDown
Tree
Source
Analysis ...
WHAT and
HOW Analyze
Command Line tools, GUI and
Script interaction
Summary
Window
Bottom Up
Pane
Timeline
Pane
Callstack
Pane
Top-down
Tree Pane
Benchmarking != Benchmark
Metodologia de Benchmarking: Conhecer o sistema (HW + SW)
Implica no uso de Metodologia sistemática:
Definir Objetivos
Métricas de sucesso
Métricas de profiling e tunning
Workloads representativos
Análise dos resultados
Intel® VTune™ Amplifier Ferramenta de apoio para a Metodologia de Benchmarking na fase de Execução
Prepara e rodar testes
Analisar e interpretar resultados
Apresentação de resultados
Conclusões
15
[1] Technical Recomendations for Benchmarking, Freitas, I. J. F.; Intel Corporation, July 2013
[2] A systematic benchmarking approach for geologic CO2 injection and storage. Kolditz, O.; Bauer, S.; Beyer, C.; Böttcher, N.; Dietrich, P.; Görke, U. J.; Kalbacher, T.;Park, C. H.; Sauer, U.; Schütze, C., ENVIRONMENTAL EARTH SCIENCES; 67, 2; 613-632, Springer Science, 2012, ISSN: 1866-6280
[3] Simulation of Computer Architectures: Simulators, Benchmarks, Methodologies, and Recommendations. Joshua J.; David J. Lilja. IEEE TRANSACTIONS ON COMPUTERS, VOL. 55, NO. 3, MARCH 2006
[4] Performance Evaluation of Intel Xeon ES-2600 Family Cluster Using Scientific and Engineering Benchmarks, Pawel Gepner.; David L. Fraser.; Victor Gamayunov, 2012 2nd IEEE International Conference on Parallel, Distributed and Grid Computing.
[5] Buzen, J. P. (1976). Fundamental Laws of Computer System Performance, Proc. SIGMETRICS’76,Cambridge, MA, 200–210.
[6] Thermo-hydro-mechanical modeling of carbon dioxide injection for enhanced gas-recovery (CO2-EGR): a benchmarking study for code comparison, Zhengmeng Hou.; Yang Gou.; Joshua Taron. Environ Earth Sci (2012)
[7] Tianshi Chen; Yunji Chen; Qi Guo; Temam, O.; Yue Wu; Weiwu Hu, "Statistical performance comparisons of computers," High Performance Computer Architecture (HPCA), 2012 IEEE 18th International Symposium on , vol., no., pp.1,12, 25-29 Feb. 2012 doi: 10.1109/HPCA.2012.6169043
[8] Art of Computer Systems Performance Analysis Techniques For Experimental Design
Measurements Simulation And Modeling, Raj Jain, Wiley Computer Publishing, John Wiley & Sons, Inc. ISBN: 0471503363 Pub Date: 05/01/91
[9] Performance Benchmark Test Disclosure at: http://www.intel.com/content/www/us/en/benchmarks/benchmark.html. Accessed at 07/22/2013.
[10] Processor Benchmark Limitations at: http://www.intel.com/performance/ . Accessed at 07/22/2013.
Bibliografia
16