A System-Level Dynamic Binary Translator using Automatically-Learned Translation Rules
2024 IEEE/ACM International Symposium on Code Generation and Optimization (CGO)(2024)
摘要
System-level emulators have been used extensively for system design,
debugging and evaluation. They work by providing a system-level virtual machine
to support a guest operating system (OS) running on a platform with the same or
different native OS that uses the same or different instruction-set
architecture. For such system-level emulation, dynamic binary translation (DBT)
is one of the core technologies. A recently proposed learning-based DBT
approach has shown a significantly improved performance with a higher quality
of translated code using automatically learned translation rules. However, it
has only been applied to user-level emulation, and not yet to system-level
emulation. In this paper, we explore the feasibility of applying this approach
to improve system-level emulation, and use QEMU to build a prototype. ... To
achieve better performance, we leverage several optimizations that include
coordination overhead reduction to reduce the overhead of each coordination,
and coordination elimination and code scheduling to reduce the coordination
frequency. Experimental results show that it can achieve an average of 1.36X
speedup over QEMU 6.1 with negligible coordination overhead in the system
emulation mode using SPEC CINT2006 as application benchmarks and 1.15X on
real-world applications.
更多查看译文
关键词
Translation Rules,Real-world Applications,Learning-based Approaches,Debugging,Instruction Set Architecture,Helper Function,Context Switching,Set Of Rules,Blockchain,System In Mode,Learning Rule,Binary Code,Application Of Rules,Bitstream,Translational Approach,Memory State,Local Memory,End Of Block,Rule-based Approach,Automatic Learning,Formal Verification,Code Fragments,Storage Operations,Memory Operations,Prototype-based
AI 理解论文
溯源树
样例
生成溯源树,研究论文发展脉络
Chat Paper
正在生成论文摘要