C Conferentia Proceedings
SICITE2015-0878 Ciências Exatas e da Terra

ESTUDO E DESENVOLVIMENTO DE TÉCNICAS DE PERFILAMENTO POR AMOSTRAGEM EM AMBIENTE GNU/LINUX X86_64

Otávio Oliveira Napoli; Juliano Henrique Foleiss

doi:10.20906/CPS/SICITE2015-0878

Resumo

Desenvolver técnicas de otimização para melhorar o desempenho de programas e arquiteturas é um objetivo em aberto na área de arquitetura de computadores. Este trabalho consiste em um estudo de técnicas de perfilamento por amostragem, que em tempo de execução permite gerar um perfil de execução do programa, denominado perfilamento. O perfil é utilizado para guiar o processo de otimização dinâmica, cujo benefício é geralmente superior em relação à otimização estática, realizada em tempo de compilação. Um dos principais objetivos é determinar as regiões que apresentam localidade temporal, ou seja, regiões de código frequentemente executadas (regiões quentes), que normalmente são alvo das otimizações. O perfilamento por amostragem é menos custoso que abordagens baseadas em instrumentação, porém de menor acurácia. No entanto, partindo da premissa que as regiões quentes são as mais frequentemente utilizadas e que, segundo estudos, a maioria dos programas tendem a executar a maioria de seu tempo em pequenas regiões, uma abordagem baseada em amostragem é suficiente, uma vez que a probabilidade de amostrar essas regiões é alta. Assim, o objetivo deste trabalho é construir uma técnica de perfilamento baseada em amostragem para construção de um grafo de fluxo de controle (Control Flow Graph - CFG) para regiões quentes. Foi implementada uma técnica de amostragem baseada em contagem e tempo, que coleta lotes de n amostras consecutivas a cada x unidades de tempo. Cada lote de amostras é analisado utilizando janelas deslizantes por meio de medidas gaussianas aplicadas sobre as janelas. A partir dos experimentos realizados, propriedades interessantes para construção de CFG foram determinadas. A partir destas propriedades é possível desenvolver um algoritmo de construção de CFG sobre as regiões quentes do programa. Nossos próximos passos consistem em implementar o algoritmo de construção do CFG e avaliar sua eficácia em relação a uma abordagem de perfilamento por instrumentação.

Palavras-chave: Máquinas Virtuais; Perfilamento por amostragem; Grafo de Fluxo de Controle; Medidas Gaussianas

Como citar

Otávio Oliveira Napoli; Juliano Henrique Foleiss. “ESTUDO E DESENVOLVIMENTO DE TÉCNICAS DE PERFILAMENTO POR AMOSTRAGEM EM AMBIENTE GNU/LINUX X86_64”. XX Seminário de Iniciação Científica e Tecnológica. SICITE2015. 2015. DOI: 10.20906/CPS/SICITE2015-0878