Use este identificador para citar ou linkar para este item: http://repositorio.roca.utfpr.edu.br/jspui/handle/1/5144
Título: Estudo e implementação de técnicas de perfilamento por amostragem e análise de fluxo de controle em máquinas virtuais de processo
Autor(es): Napoli, Otávio Oliveira
Orientador(es): Foleiss, Juliano Henrique
Palavras-chave: Sistemas de computação virtual
Amostragem
Algorítmos computacionais
Virtual computer systems
Sampling
Computer algorithms
Data do documento: 2-Dez-2015
Editor: Universidade Tecnológica Federal do Paraná
Câmpus: Campo Mourao
Referência: NAPOLI, Otávio Oliveira. Estudo e implementação de técnicas de perfilamento por amostragem e análise de fluxo de controle em máquinas virtuais de processo. 2015. 41 f. Trabalho de Conclusão de Curso (Graduação) – Universidade Tecnológica Federal do Paraná, Campo Mourão, 2015.
Resumo: Máquinas virtuais estão se tornando cada vez mais importantes no cotidiano. Portanto, o maior desempenho e a maior segurança destas também estão se tornando cada vez mais requisitadas. Um problema relacionado a máquinas virtuais consiste em emular um conjunto de instruções de uma arquitetura convidada em uma arquitetura hospedeira de maneira eficiente. Para isso, perfis de execução são coletados e um grafo de fluxo de controle que denota o fluxo do programa é construído para determinar o comportamento do programa, servindo como base para a tomada de decisões dos processos de otimização. Todavia, as técnicas utilizadas para realizar a coleta destes dados podem degradar bastante o desempenho da máquina virtual. O objetivo deste trabalho foi realizar um estudo das técnicas de perfilamento baseadas em amostragem, para coleta de dados, que possuem um custo adicional relativamente baixo sobre a emulação em relação as abordagens tradicionais baseadas em instrumentação. Além disso, uma técnica de amostragem baseada em contagem e tempo foi implementada em um emulador de Nintendo Entertainment System (NES). Um algoritmo de baixo custo para construção do grafo de fluxo de controle das regiões recorrentes (regiões de real interesse para otimizações) baseado em amostragem, chamado GFCGaussiano, foi proposto e implementado. Este algoritmo é incremental e dinâmico, utilizando apenas de funções gaussianas para construção do grafo de fluxo de controle. O algoritmo constrói um grafo de fluxo de controle com aproximadamente 1,5% das instruções totais executadas pela máquina virtual que consegue ser até 83% similar ao grafo de fluxo de controle real, obtido por instrumentação.
Abstract: Virtual machines play a big role in modern computing. Therefore it is crucial to provide higher performance implementations. A problem related to high performance virtual machine consists in efficiently emulating the instruction set of a guest architecture in a host machine. In order to achieve this, execution profiles must be collected and a control flow graph must be build in order to determine program execution behavior and serve as basis for decision making in dynamic optimization techniques. The main challenge related to collecting execution profile data is that this process incurs in considerable overhead to the virtual machine. The aim of this work was to study sampling-based profiling techniques to collect execution profile data, which are less costly then traditional instrumentation-based approaches, albeit having a performance-accuracy trade-off. Furthermore, a sampling-based technique was implemented in a Nintendo Entertainment System (NES) emulator. The most significant contribution of this work is a sampling-based profiling hot control flow graph construction algorithm named GFCGaussiano, along with its experimental implementation. This is a lowcost incremental algorithm that is based on simple gaussian measures that builds a control flow graph depicting the hot regions of a program during runtime. The algorithm achieves this by sampling just 1.5% of all instructions executed by the virtual machine and generates graphs with up to 83% similarity to the exact hot control flow graph gathered by instrumentation.
URI: http://repositorio.roca.utfpr.edu.br/jspui/handle/1/5144
Aparece nas coleções:CM - Ciência da Computação

Arquivos associados a este item:
Arquivo Descrição TamanhoFormato 
CM_COCIC_2015_2_02.pdf1,03 MBAdobe PDFVisualizar/Abrir


Os itens no repositório estão protegidos por copyright, com todos os direitos reservados, salvo quando é indicado o contrário.