A Dynamic Binary Translation Framework Based on Page Fault Mechanism in Linux Kernel
Fan Xu, Li Shen, Zhiying Wang · 2010
Dynamic binary translation and optimization is one of the most important essential techniques for computing system virtualization. This paper proposes a new dynamic translation framework for co-designed virtual machines. It generates and handles translation requests based on page fault mechanism provided in Linux kernel. In this new framework, the translation of guest codes and the execution of translated codes can be performed on different processors in parallel. The framework support the coprocessor translating guest code pages and the host CPU executing translated pages simultaneously, thus the translator becomes more efficient. The paper also presents a qualitative analysis of the time cost in our framework on an x86-ARM co-designed dynamic binary translation system, and suggests that the performance of this framework can be further improved if shared memory between host CPU and coprocessor is used. The framework can also be used in a dynamic binary translator on multi-core platforms.