METACOM – Uma análise de correlação entre métricas de produto e propensão à m...Gabriel Moreira
Artigo apresentado no SBQS 2011 - Simpósio Brasileiro de Métodos Ágeis, em Curitiba no dia 08/06/2011.
Abstract: Considerando-se que as características de qualidade de um software
influenciam no esforço de sua manutenção, este artigo apresenta um Método
para Análise de Correlação entre Métricas de Produto de Software e
Propensão à Manutenção denominado METACOM. O método proposto define
um processo de extração, transformação e carga de métricas de software
orientado a objetos e de volume de manutenções. O METACOM é composto
por um modelo de análise de correlação entre as medidas obtidas, visando
identificar métricas de produto mais preditivas. Descrevem-se também a
aplicação do METACOM na análise de projetos reais da indústria de software
e as considerações de especialistas sobre os principais resultados.
Esta palestra tem como objetivo demonstrar ao desenvolvedor, de forma prática, como a modernização de código traz um ganho de desempenho considerável explorando diferentes níveis de paralelismo (vetorização e multithreading) disponíveis nas arquiteturas multi-core (processadores Core™ e Xeon®) e many-core (co-processador Xeon Phi™). De forma breve, também será abordado nesta palestra temas como “Visão da Intel para computação Exascale” e iniciativas da Intel® em HPC no Brasil.
METACOM – Uma análise de correlação entre métricas de produto e propensão à m...Gabriel Moreira
Artigo apresentado no SBQS 2011 - Simpósio Brasileiro de Métodos Ágeis, em Curitiba no dia 08/06/2011.
Abstract: Considerando-se que as características de qualidade de um software
influenciam no esforço de sua manutenção, este artigo apresenta um Método
para Análise de Correlação entre Métricas de Produto de Software e
Propensão à Manutenção denominado METACOM. O método proposto define
um processo de extração, transformação e carga de métricas de software
orientado a objetos e de volume de manutenções. O METACOM é composto
por um modelo de análise de correlação entre as medidas obtidas, visando
identificar métricas de produto mais preditivas. Descrevem-se também a
aplicação do METACOM na análise de projetos reais da indústria de software
e as considerações de especialistas sobre os principais resultados.
Esta palestra tem como objetivo demonstrar ao desenvolvedor, de forma prática, como a modernização de código traz um ganho de desempenho considerável explorando diferentes níveis de paralelismo (vetorização e multithreading) disponíveis nas arquiteturas multi-core (processadores Core™ e Xeon®) e many-core (co-processador Xeon Phi™). De forma breve, também será abordado nesta palestra temas como “Visão da Intel para computação Exascale” e iniciativas da Intel® em HPC no Brasil.
Conheça as novidades que o KitKat trouxe relacionadas a economia, como isso pode afetar sua aplicação e como você pode ajudar o Android a gastar menos energia
Esta apresentação define o conceito de meta, indicador de desempenho e métrica. Demonstra com desenvolver indicadores para medir o desempenho de TI, boas práticas, técnicas e ferramentas.
Conheça as novidades que o KitKat trouxe relacionadas a economia, como isso pode afetar sua aplicação e como você pode ajudar o Android a gastar menos energia
Esta apresentação define o conceito de meta, indicador de desempenho e métrica. Demonstra com desenvolver indicadores para medir o desempenho de TI, boas práticas, técnicas e ferramentas.
A apresentação aborda motivação para a realização dessa modalidade de testes, bem como os conceitos principais que precisam ser compreendidos. Também apresenta uma metodologia básica de um teste de desempenho, as principais métricas que necessitam ser capturadas e analisadas e as ferramentas atualmente disponíveis no mercado. Por último são abordados ainda os erros mais comuns ao se planejar e executar essa classe de testes.
Indicadores de políticas públicas e métricas de software: uma visão em paraleloRoberto de Pinho
Material da Disciplina "Metodologia de Análise e Solução de Problemas - MASP" ministrada nos MBA em Gestão de Projetos e Mba Em Gestão da Informação da Universidade Salvador - 2003 a 2010 (material da edição de 2010). (4/4)
Palestra realizada por Luciano Palma no Intel Software Day 2013 (22/10/2013)
Conheça a arquitetura do Intel Xeon Phi, um coprocessador capaz de entregar mais de 2 TFlops de processamento para sua solução de HPC (High Performance Computing).
Across the Silicon Spectrum: Xeon Phi to Quark – Unleash the Performance in Y...Intel Software Brasil
Paul Butler's presentation at Intel Software Day 2013 (10/22/2013)
Learn how to access robust Intel resources (programs, initiatives, content, tools) available to software developers in Brazil supporting their software development life cycle across all platforms (Windows, Linux, Mac/iOS, and Android)
Aprenda como usar dois padrões abertos (ePUB3 e HTML5) para criar livros eletrônicos interativos.
São livros com apps embarcados, tirando o máximo do que a tecnologia pode lhe oferecer hoje para prover uma experiência de leitura, interação e aprendizado compatível com os nativos digitais que temos nas escolas de hoje e de amanhã !
O número crescente de dispositivos móveis e sistemas operacionais que encontramos hoje na indústria, traz aos desenvolvedores um desafio técnico adicional: Como escrever aplicações com o menor custo e maior alcance de audiência ?
Apps híbridos com HTML5 possibilitam aos desenvolvedores manter uma única base de código e gerar a partir dela Apps para diversos dispositivos e sistemas operacionais móveis, com maior flexibilidade e menor time to market.
O Intel XDK New é uma ferramenta gratuita e completa para o desenvolvimento, testes, emulação, depuração e compilação na nuvem de aplicativos híbridos em HTML5.
Apresentação realizada na trilha de educação durante o Intel Software Day 2013. O tema trata das transformações no modelo de educação como o conhecemos e como uma solução educacional pode ajudar nesta tranformação.
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. 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. 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
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
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. 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. 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. 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. 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
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. [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