Efficient Instrumentation Profiling Strategy for Translation Unit Incremental Discovery in Dynamic Binary Translation.

2014 
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 a 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 same time executing most instructions by means of translated code. 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 work presents 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 translated code, leading to a 6.29 speedup over traditional indirect-threaded interpretation, and 2.34 speedup over an interpretive profiling approach.
    • Correction
    • Source
    • Cite
    • Save
    • Machine Reading By IdeaReader
    8
    References
    0
    Citations
    NaN
    KQI
    []