Profiling contínuo para determinação de unidades de tradução em tradução dinâmica de binários

Detalhes bibliográficos
Ano de defesa: 2012
Autor(a) principal: Foleiss, Juliano Henrique
Orientador(a): Não Informado pela instituição
Banca de defesa: Não Informado pela instituição
Tipo de documento: Dissertação
Tipo de acesso: Acesso aberto
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.