Estudo e implementação de técnicas de perfilamento por amostragem e análise de fluxo de controle em máquinas virtuais de processo

Detalhes bibliográficos
Autor(a) principal: Napoli, Otávio Oliveira
Data de Publicação: 2015
Tipo de documento: Trabalho de conclusão de curso
Idioma: por
Título da fonte: Repositório Institucional da UTFPR (da Universidade Tecnológica Federal do Paraná (RIUT))
Texto Completo: http://repositorio.utfpr.edu.br/jspui/handle/1/6022
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.
id UTFPR-12_89489d37ad83ea3e0783fb88b0a528e9
oai_identifier_str oai:repositorio.utfpr.edu.br:1/6022
network_acronym_str UTFPR-12
network_name_str Repositório Institucional da UTFPR (da Universidade Tecnológica Federal do Paraná (RIUT))
repository_id_str
spelling 2020-11-09T19:10:28Z2020-11-09T19:10:28Z2015-12-02NAPOLI, 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.http://repositorio.utfpr.edu.br/jspui/handle/1/6022Má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.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.porUniversidade Tecnológica Federal do ParanáCampo MouraoCiência da ComputaçãoUTFPRBrasilDepartamento Acadêmico de ComputaçãoCNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAOSistemas de computação virtualAmostragemAlgorítmos computacionaisVirtual computer systemsSamplingComputer algorithmsEstudo e implementação de técnicas de perfilamento por amostragem e análise de fluxo de controle em máquinas virtuais de processoinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/bachelorThesisCampo MourãoFoleiss, Juliano HenriqueFoleiss, Juliano HenriqueHübner, RodrigoSilva, Marco Aurélio GraciottoNapoli, Otávio Oliveirainfo:eu-repo/semantics/openAccessreponame:Repositório Institucional da UTFPR (da Universidade Tecnológica Federal do Paraná (RIUT))instname:Universidade Tecnológica Federal do Paraná (UTFPR)instacron:UTFPRTEXTCM_COCIC_2015_2_02.pdf.txtExtracted texttext/plain96783http://repositorio.utfpr.edu.br:8080/jspui/bitstream/1/6022/1/CM_COCIC_2015_2_02.pdf.txt87ff55bbe9583c9caba4a5d67be92440MD51THUMBNAILCM_COCIC_2015_2_02.pdf.jpgGenerated Thumbnailimage/jpeg1266http://repositorio.utfpr.edu.br:8080/jspui/bitstream/1/6022/2/CM_COCIC_2015_2_02.pdf.jpg19495299217c07635cee698a7b68c3b2MD52LICENSElicense.txttext/plain1291http://repositorio.utfpr.edu.br:8080/jspui/bitstream/1/6022/3/license.txtdfb14e53a8c6b76b85e77d7a5a3b3809MD53ORIGINALCM_COCIC_2015_2_02.pdfapplication/pdf1054927http://repositorio.utfpr.edu.br:8080/jspui/bitstream/1/6022/4/CM_COCIC_2015_2_02.pdf3fa8ad59567b8092f36a33e5bd959317MD541/60222020-11-09 17:10:28.126oai:repositorio.utfpr.edu.br:1/6022IE5hIHF1YWxpZGFkZSBkZSB0aXR1bGFyIGRvcyBkaXJlaXRvcyBkZSBhdXRvciBkYSBwdWJsaWNhw6fDo28sIGF1dG9yaXpvIGEgVVRGUFIgYSB2ZWljdWxhciwgCmF0cmF2w6lzIGRvIFBvcnRhbCBkZSBJbmZvcm1hw6fDo28gZW0gQWNlc3NvIEFiZXJ0byAoUElBQSkgZSBkb3MgQ2F0w6Fsb2dvcyBkYXMgQmlibGlvdGVjYXMgCmRlc3RhIEluc3RpdHVpw6fDo28sIHNlbSByZXNzYXJjaW1lbnRvIGRvcyBkaXJlaXRvcyBhdXRvcmFpcywgZGUgYWNvcmRvIGNvbSBhIExlaSBubyA5LjYxMC85OCwgCm8gdGV4dG8gZGVzdGEgb2JyYSwgb2JzZXJ2YW5kbyBhcyBjb25kacOnw7VlcyBkZSBkaXNwb25pYmlsaXphw6fDo28gcmVnaXN0cmFkYXMgbm8gaXRlbSA0IGRvIArigJxUZXJtbyBkZSBBdXRvcml6YcOnw6NvIHBhcmEgUHVibGljYcOnw6NvIGRlIFRyYWJhbGhvcyBkZSBDb25jbHVzw6NvIGRlIEN1cnNvIGRlIEdyYWR1YcOnw6NvIGUgCkVzcGVjaWFsaXphw6fDo28sIERpc3NlcnRhw6fDtWVzIGUgVGVzZXMgbm8gUG9ydGFsIGRlIEluZm9ybWHDp8OjbyBlIG5vcyBDYXTDoWxvZ29zIEVsZXRyw7RuaWNvcyBkbyAKU2lzdGVtYSBkZSBCaWJsaW90ZWNhcyBkYSBVVEZQUuKAnSwgcGFyYSBmaW5zIGRlIGxlaXR1cmEsIGltcHJlc3PDo28gZS9vdSBkb3dubG9hZCwgdmlzYW5kbyBhIApkaXZ1bGdhw6fDo28gZGEgcHJvZHXDp8OjbyBjaWVudMOtZmljYSBicmFzaWxlaXJhLgoKICBBcyB2aWFzIG9yaWdpbmFpcyBlIGFzc2luYWRhcyBwZWxvKHMpIGF1dG9yKGVzKSBkbyDigJxUZXJtbyBkZSBBdXRvcml6YcOnw6NvIHBhcmEgUHVibGljYcOnw6NvIGRlIApUcmFiYWxob3MgZGUgQ29uY2x1c8OjbyBkZSBDdXJzbyBkZSBHcmFkdWHDp8OjbyBlIEVzcGVjaWFsaXphw6fDo28sIERpc3NlcnRhw6fDtWVzIGUgVGVzZXMgbm8gUG9ydGFsIApkZSBJbmZvcm1hw6fDo28gZSBub3MgQ2F0w6Fsb2dvcyBFbGV0csO0bmljb3MgZG8gU2lzdGVtYSBkZSBCaWJsaW90ZWNhcyBkYSBVVEZQUuKAnSBlIGRhIOKAnERlY2xhcmHDp8OjbyAKZGUgQXV0b3JpYeKAnSBlbmNvbnRyYW0tc2UgYXJxdWl2YWRhcyBuYSBCaWJsaW90ZWNhIGRvIEPDom1wdXMgbm8gcXVhbCBvIHRyYWJhbGhvIGZvaSBkZWZlbmRpZG8uIApObyBjYXNvIGRlIHB1YmxpY2HDp8O1ZXMgZGUgYXV0b3JpYSBjb2xldGl2YSBlIG11bHRpY8OibXB1cywgb3MgZG9jdW1lbnRvcyBmaWNhcsOjbyBzb2IgZ3VhcmRhIGRhIApCaWJsaW90ZWNhIGNvbSBhIHF1YWwgbyDigJxwcmltZWlybyBhdXRvcuKAnSBwb3NzdWEgdsOtbmN1bG8uCg==Repositório de PublicaçõesPUBhttp://repositorio.utfpr.edu.br:8080/oai/requestopendoar:2020-11-09T19:10:28Repositório Institucional da UTFPR (da Universidade Tecnológica Federal do Paraná (RIUT)) - Universidade Tecnológica Federal do Paraná (UTFPR)false
dc.title.pt_BR.fl_str_mv Estudo e implementação de técnicas de perfilamento por amostragem e análise de fluxo de controle em máquinas virtuais de processo
title Estudo e implementação de técnicas de perfilamento por amostragem e análise de fluxo de controle em máquinas virtuais de processo
spellingShingle Estudo e implementação de técnicas de perfilamento por amostragem e análise de fluxo de controle em máquinas virtuais de processo
Napoli, Otávio Oliveira
CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO
Sistemas de computação virtual
Amostragem
Algorítmos computacionais
Virtual computer systems
Sampling
Computer algorithms
title_short Estudo e implementação de técnicas de perfilamento por amostragem e análise de fluxo de controle em máquinas virtuais de processo
title_full Estudo e implementação de técnicas de perfilamento por amostragem e análise de fluxo de controle em máquinas virtuais de processo
title_fullStr Estudo e implementação de técnicas de perfilamento por amostragem e análise de fluxo de controle em máquinas virtuais de processo
title_full_unstemmed Estudo e implementação de técnicas de perfilamento por amostragem e análise de fluxo de controle em máquinas virtuais de processo
title_sort Estudo e implementação de técnicas de perfilamento por amostragem e análise de fluxo de controle em máquinas virtuais de processo
author Napoli, Otávio Oliveira
author_facet Napoli, Otávio Oliveira
author_role author
dc.contributor.advisor1.fl_str_mv Foleiss, Juliano Henrique
dc.contributor.referee1.fl_str_mv Foleiss, Juliano Henrique
dc.contributor.referee2.fl_str_mv Hübner, Rodrigo
dc.contributor.referee3.fl_str_mv Silva, Marco Aurélio Graciotto
dc.contributor.author.fl_str_mv Napoli, Otávio Oliveira
contributor_str_mv Foleiss, Juliano Henrique
Foleiss, Juliano Henrique
Hübner, Rodrigo
Silva, Marco Aurélio Graciotto
dc.subject.cnpq.fl_str_mv CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO
topic CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO
Sistemas de computação virtual
Amostragem
Algorítmos computacionais
Virtual computer systems
Sampling
Computer algorithms
dc.subject.por.fl_str_mv Sistemas de computação virtual
Amostragem
Algorítmos computacionais
Virtual computer systems
Sampling
Computer algorithms
description 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.
publishDate 2015
dc.date.issued.fl_str_mv 2015-12-02
dc.date.accessioned.fl_str_mv 2020-11-09T19:10:28Z
dc.date.available.fl_str_mv 2020-11-09T19:10:28Z
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/bachelorThesis
format bachelorThesis
status_str publishedVersion
dc.identifier.citation.fl_str_mv 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.
dc.identifier.uri.fl_str_mv http://repositorio.utfpr.edu.br/jspui/handle/1/6022
identifier_str_mv 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.
url http://repositorio.utfpr.edu.br/jspui/handle/1/6022
dc.language.iso.fl_str_mv por
language por
dc.rights.driver.fl_str_mv info:eu-repo/semantics/openAccess
eu_rights_str_mv openAccess
dc.publisher.none.fl_str_mv Universidade Tecnológica Federal do Paraná
Campo Mourao
dc.publisher.program.fl_str_mv Ciência da Computação
dc.publisher.initials.fl_str_mv UTFPR
dc.publisher.country.fl_str_mv Brasil
dc.publisher.department.fl_str_mv Departamento Acadêmico de Computação
publisher.none.fl_str_mv Universidade Tecnológica Federal do Paraná
Campo Mourao
dc.source.none.fl_str_mv reponame:Repositório Institucional da UTFPR (da Universidade Tecnológica Federal do Paraná (RIUT))
instname:Universidade Tecnológica Federal do Paraná (UTFPR)
instacron:UTFPR
instname_str Universidade Tecnológica Federal do Paraná (UTFPR)
instacron_str UTFPR
institution UTFPR
reponame_str Repositório Institucional da UTFPR (da Universidade Tecnológica Federal do Paraná (RIUT))
collection Repositório Institucional da UTFPR (da Universidade Tecnológica Federal do Paraná (RIUT))
bitstream.url.fl_str_mv http://repositorio.utfpr.edu.br:8080/jspui/bitstream/1/6022/1/CM_COCIC_2015_2_02.pdf.txt
http://repositorio.utfpr.edu.br:8080/jspui/bitstream/1/6022/2/CM_COCIC_2015_2_02.pdf.jpg
http://repositorio.utfpr.edu.br:8080/jspui/bitstream/1/6022/3/license.txt
http://repositorio.utfpr.edu.br:8080/jspui/bitstream/1/6022/4/CM_COCIC_2015_2_02.pdf
bitstream.checksum.fl_str_mv 87ff55bbe9583c9caba4a5d67be92440
19495299217c07635cee698a7b68c3b2
dfb14e53a8c6b76b85e77d7a5a3b3809
3fa8ad59567b8092f36a33e5bd959317
bitstream.checksumAlgorithm.fl_str_mv MD5
MD5
MD5
MD5
repository.name.fl_str_mv Repositório Institucional da UTFPR (da Universidade Tecnológica Federal do Paraná (RIUT)) - Universidade Tecnológica Federal do Paraná (UTFPR)
repository.mail.fl_str_mv
_version_ 1805923118915518464