Profiling contínuo para determinação de unidades de tradução em tradução dinâmica de binários
| Ano de defesa: | 2012 |
|---|---|
| Autor(a) principal: | |
| Orientador(a): | |
| Banca de defesa: | |
| Tipo de documento: | Dissertação |
| Tipo de acesso: | Acesso aberto |
| dARK ID: | ark:/35916/001300000451n |
| Idioma: | por |
| Instituição de defesa: |
Universidade Estadual de Maringá
Brasil Departamento de Informática Programa de Pós-Graduação em Ciência da Computação UEM Maringá, PR Centro de Tecnologia |
| Programa de Pós-Graduação: |
Não Informado pela instituição
|
| Departamento: |
Não Informado pela instituição
|
| País: |
Não Informado pela instituição
|
| Palavras-chave em Português: | |
| Link de acesso: | http://repositorio.uem.br:8080/jspui/handle/1/2548 |
Resumo: | Efficient virtual machines are becoming increasingly important in the academy and industry in general. Thus, it is important to develop new techniques for efficient program execution in such runtime environments. A specific problem in system virtual machines is the need to execute the guest architecture instruction set by the host architecture in an efficient manner. Dynamic Binary Translation (DBT) allows such execution by allowing the execution of programs in binary format by translating the guest machine language program into host machine language program during runtime. Previous work shows that translating the entire program is not the best option, since it incurs in excessive translation overhead. Therefore, it is necessary to detect which regions of code should be translated in such a way that it does not cause excessive translations at the sime time executing most instructions by means of translation. Previous work presents profiling approaches that are used to collect information about a program's control flow, which is then inspected for hot regions deemed for translation. This dissertation proposes a DBT system that uses low-overhead continuous profiling techniques that allows the detection of hot translation units. More specifically, the execution profiling techniques, efficient control flow analysis algorithms along with a retranslation control mechanism are the main contributions of this work. Results obtained by implementing such techniques in a NES (Nintendo Entertainment System) emulator shows that the proposed system allows efficient program execution, with an average of 85,21% of instructions executed by means of translation, leading to a 6,29 speedup over traditional interpretation, and 2,34 speedup over an interpretative profiling approach. |
| id |
UEM-10_b04d7fd038167a26d8245cf1040663a4 |
|---|---|
| oai_identifier_str |
oai:localhost:1/2548 |
| network_acronym_str |
UEM-10 |
| network_name_str |
Repositório Institucional da Universidade Estadual de Maringá (RI-UEM) |
| repository_id_str |
|
| spelling |
Profiling contínuo para determinação de unidades de tradução em tradução dinâmica de bináriosLinguagem de programaçãoTradutores de linguagem de programaçãoMáquinas virtuaisTradução dinâmica de bináriosProfiling contínuoBrasil.Programming languageProgramming language translatorsVirtual machinesDynamic binary translationContinuous profilingBrazil.Ciências Exatas e da TerraCiência da ComputaçãoEfficient virtual machines are becoming increasingly important in the academy and industry in general. Thus, it is important to develop new techniques for efficient program execution in such runtime environments. A specific problem in system virtual machines is the need to execute the guest architecture instruction set by the host architecture in an efficient manner. Dynamic Binary Translation (DBT) allows such execution by allowing the execution of programs in binary format by translating the guest machine language program into host machine language program during runtime. Previous work shows that translating the entire program is not the best option, since it incurs in excessive translation overhead. Therefore, it is necessary to detect which regions of code should be translated in such a way that it does not cause excessive translations at the sime time executing most instructions by means of translation. Previous work presents profiling approaches that are used to collect information about a program's control flow, which is then inspected for hot regions deemed for translation. This dissertation proposes a DBT system that uses low-overhead continuous profiling techniques that allows the detection of hot translation units. More specifically, the execution profiling techniques, efficient control flow analysis algorithms along with a retranslation control mechanism are the main contributions of this work. Results obtained by implementing such techniques in a NES (Nintendo Entertainment System) emulator shows that the proposed system allows efficient program execution, with an average of 85,21% of instructions executed by means of translation, leading to a 6,29 speedup over traditional interpretation, and 2,34 speedup over an interpretative profiling approach.Máquinas virtuais eficientes estão se tornando cada vez mais importante no dia-a-dia da academia e da indústria em geral. Portanto, é importante o desenvolvimento de técnicas para a execução eficiente de programas nestes ambientes. Um problema específico em máquinas virtuais de sistema é a necessidade de executar o conjunto de instruções da arquitetura original na arquitetura hospedeira de maneira eficiente. Uma das técnicas desenvolvidas é a tradução dinâmica de binários (TDB), que permite a execução de programas em formato binário por meio de tradução em tempo de execução. Trabalhos anteriores constataram que traduzir o programa todo não é a melhor escolha, devido ao custo elevado da tradução. Desta forma, é necessário detectar quais regiões devem ser traduzidas, de maneira que não haja traduções excessivas ao mesmo tempo mantendo a execução das instruções a maior parte do tempo por meio de traduções. Trabalhos anteriores apresentam abordagens de monitoramento, ou profiling, da execução dos programas para determinar seu fluxo de execução, obtendo assim regiões candidatas a tradução. A principal contribuição deste trabalho é a proposta de um sistema TDB que utilize profiling contínuo de maneira que seu custo seja baixo frente ao benefício da execução eficiente oriunda da detecção de unidades de tradução quentes. Em específico, o mecanismo apresentado para o monitoramento da execução, os algoritmos de análise de fluxo de controle eficientes, juntamente com o mecanismo de controle de retraduções formam o conjunto de contribuições deste trabalho. Os resultados obtidos utilizando um emulador do NES (Nintendo Entertainment System) mostram que a abordagem sugerida permite a emulação eficiente de programas, com 85,21% das instruções executadas por meio de traduções, sendo até 6,29 vezes mais rápido que interpretação tradicional e 2,34 vezes mais rápido que a abordagem interpretativa.82 fUniversidade Estadual de MaringáBrasilDepartamento de InformáticaPrograma de Pós-Graduação em Ciência da ComputaçãoUEMMaringá, PRCentro de TecnologiaAnderson Faustino da SilvaRonaldo Augusto de Lara Gonçalves - UEMMarcelo Lobosco - UFJFFoleiss, Juliano Henrique2018-04-10T20:12:24Z2018-04-10T20:12:24Z2012info:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesishttp://repositorio.uem.br:8080/jspui/handle/1/2548ark:/35916/001300000451nporinfo:eu-repo/semantics/openAccessreponame:Repositório Institucional da Universidade Estadual de Maringá (RI-UEM)instname:Universidade Estadual de Maringá (UEM)instacron:UEM2018-10-18T19:17:39Zoai:localhost:1/2548Repositório InstitucionalPUBhttp://repositorio.uem.br:8080/oai/requestrepositorio@uem.bropendoar:2018-10-18T19:17:39Repositório Institucional da Universidade Estadual de Maringá (RI-UEM) - Universidade Estadual de Maringá (UEM)false |
| dc.title.none.fl_str_mv |
Profiling contínuo para determinação de unidades de tradução em tradução dinâmica de binários |
| title |
Profiling contínuo para determinação de unidades de tradução em tradução dinâmica de binários |
| spellingShingle |
Profiling contínuo para determinação de unidades de tradução em tradução dinâmica de binários Foleiss, Juliano Henrique Linguagem de programação Tradutores de linguagem de programação Máquinas virtuais Tradução dinâmica de binários Profiling contínuo Brasil. Programming language Programming language translators Virtual machines Dynamic binary translation Continuous profiling Brazil. Ciências Exatas e da Terra Ciência da Computação |
| title_short |
Profiling contínuo para determinação de unidades de tradução em tradução dinâmica de binários |
| title_full |
Profiling contínuo para determinação de unidades de tradução em tradução dinâmica de binários |
| title_fullStr |
Profiling contínuo para determinação de unidades de tradução em tradução dinâmica de binários |
| title_full_unstemmed |
Profiling contínuo para determinação de unidades de tradução em tradução dinâmica de binários |
| title_sort |
Profiling contínuo para determinação de unidades de tradução em tradução dinâmica de binários |
| author |
Foleiss, Juliano Henrique |
| author_facet |
Foleiss, Juliano Henrique |
| author_role |
author |
| dc.contributor.none.fl_str_mv |
Anderson Faustino da Silva Ronaldo Augusto de Lara Gonçalves - UEM Marcelo Lobosco - UFJF |
| dc.contributor.author.fl_str_mv |
Foleiss, Juliano Henrique |
| dc.subject.por.fl_str_mv |
Linguagem de programação Tradutores de linguagem de programação Máquinas virtuais Tradução dinâmica de binários Profiling contínuo Brasil. Programming language Programming language translators Virtual machines Dynamic binary translation Continuous profiling Brazil. Ciências Exatas e da Terra Ciência da Computação |
| topic |
Linguagem de programação Tradutores de linguagem de programação Máquinas virtuais Tradução dinâmica de binários Profiling contínuo Brasil. Programming language Programming language translators Virtual machines Dynamic binary translation Continuous profiling Brazil. Ciências Exatas e da Terra Ciência da Computação |
| description |
Efficient virtual machines are becoming increasingly important in the academy and industry in general. Thus, it is important to develop new techniques for efficient program execution in such runtime environments. A specific problem in system virtual machines is the need to execute the guest architecture instruction set by the host architecture in an efficient manner. Dynamic Binary Translation (DBT) allows such execution by allowing the execution of programs in binary format by translating the guest machine language program into host machine language program during runtime. Previous work shows that translating the entire program is not the best option, since it incurs in excessive translation overhead. Therefore, it is necessary to detect which regions of code should be translated in such a way that it does not cause excessive translations at the sime time executing most instructions by means of translation. Previous work presents profiling approaches that are used to collect information about a program's control flow, which is then inspected for hot regions deemed for translation. This dissertation proposes a DBT system that uses low-overhead continuous profiling techniques that allows the detection of hot translation units. More specifically, the execution profiling techniques, efficient control flow analysis algorithms along with a retranslation control mechanism are the main contributions of this work. Results obtained by implementing such techniques in a NES (Nintendo Entertainment System) emulator shows that the proposed system allows efficient program execution, with an average of 85,21% of instructions executed by means of translation, leading to a 6,29 speedup over traditional interpretation, and 2,34 speedup over an interpretative profiling approach. |
| publishDate |
2012 |
| dc.date.none.fl_str_mv |
2012 2018-04-10T20:12:24Z 2018-04-10T20:12:24Z |
| dc.type.status.fl_str_mv |
info:eu-repo/semantics/publishedVersion |
| dc.type.driver.fl_str_mv |
info:eu-repo/semantics/masterThesis |
| format |
masterThesis |
| status_str |
publishedVersion |
| dc.identifier.uri.fl_str_mv |
http://repositorio.uem.br:8080/jspui/handle/1/2548 |
| dc.identifier.dark.fl_str_mv |
ark:/35916/001300000451n |
| url |
http://repositorio.uem.br:8080/jspui/handle/1/2548 |
| identifier_str_mv |
ark:/35916/001300000451n |
| 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 Estadual de Maringá Brasil Departamento de Informática Programa de Pós-Graduação em Ciência da Computação UEM Maringá, PR Centro de Tecnologia |
| publisher.none.fl_str_mv |
Universidade Estadual de Maringá Brasil Departamento de Informática Programa de Pós-Graduação em Ciência da Computação UEM Maringá, PR Centro de Tecnologia |
| dc.source.none.fl_str_mv |
reponame:Repositório Institucional da Universidade Estadual de Maringá (RI-UEM) instname:Universidade Estadual de Maringá (UEM) instacron:UEM |
| instname_str |
Universidade Estadual de Maringá (UEM) |
| instacron_str |
UEM |
| institution |
UEM |
| reponame_str |
Repositório Institucional da Universidade Estadual de Maringá (RI-UEM) |
| collection |
Repositório Institucional da Universidade Estadual de Maringá (RI-UEM) |
| repository.name.fl_str_mv |
Repositório Institucional da Universidade Estadual de Maringá (RI-UEM) - Universidade Estadual de Maringá (UEM) |
| repository.mail.fl_str_mv |
repositorio@uem.br |
| _version_ |
1846637291065311232 |