Benchmarking para sistemas de alto desempenho

17
Benchmarking para Sistemas de Alto Desempenho Intel Software Conference – Maio, 2014 Igor Freitas [email protected]

description

Intel Software Conference – Maio, 2014 Igor Freitas [email protected]

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

©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