Benchmarking para sistemas de alto desempenho

593 views

Published on

Intel Software Conference – Maio, 2014
Igor Freitas
igor.freitas@intel.com

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
593
On SlideShare
0
From Embeds
0
Number of Embeds
5
Actions
Shares
0
Downloads
19
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Benchmarking para sistemas de alto desempenho

  1. 1. Benchmarking para Sistemas de Alto Desempenho Intel Software Conference – Maio, 2014 Igor Freitas igor.freitas@intel.com
  2. 2. Agenda 2  Principais conceitos em Benchmarking  Metodologia  Conclusões
  3. 3. 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
  4. 4. 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
  5. 5. 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
  6. 6. 6 Metodologia para Benchmarking
  7. 7. 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
  8. 8. Metodologia 8
  9. 9. 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
  10. 10. 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
  11. 11. 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.
  12. 12. 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
  13. 13. Metodologia 13 Benchmarking Execution Phase Analysis Tree Profiling & Tuning Regular Performance Regression Tests Analyze & Interpret Data Present ResultsDesign 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
  14. 14. Conclusões 14
  15. 15. 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
  16. 16. [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
  17. 17. ©2014, Intel Corporation. All rights reserved. Intel, the Intel logo, Intel Inside, Intel Xeon, and Intel Xeon Phi are trademarks of Intel Corporation in the U.S. and/or other countries. *Other names and brands may be claimed as the property of others. 17

×