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(a) principal: | |
---|---|
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 |