论文标题
采用仿真来促进动态代码生成器的设计
Employing Simulation to Facilitate the Design of Dynamic Code Generators
论文作者
论文摘要
动态翻译(DT)是一种复杂的技术,允许实现高性能模拟器和高级语言虚拟机。在此技术中,访客代码在运行时进行动态编译。因此,实现良好的性能取决于几个设计决策,包括要翻译的代码区域的形状。研究人员和工程师探索了这些决定,以带来最好的表现。但是,真正的DT引擎是一件非常复杂的软件,修改它是一项艰巨而艰巨的任务。因此,我们建议使用仿真来评估设计决策对动态翻译器的影响和当前的降雨,这是一种开源DT模拟器,促进了DT设计决策的测试,例如区域形成技术(RFTS)。降雨输出几个统计数据,这些统计数据支持设计决策如何影响实际DT的行为和性能。我们验证了雨水进行了一组实验,其中有六个众所周知的RFT(Net,Mret2,Lei,NetPlus,Net-R和NetPlus-E-R),并表明它可以从文献中重现知名的结果,而无需在真实且复杂的动态翻译器上实施它们。
Dynamic Translation (DT) is a sophisticated technique that allows the implementation of high-performance emulators and high-level-language virtual machines. In this technique, the guest code is compiled dynamically at runtime. Consequently, achieving good performance depends on several design decisions, including the shape of the regions of code being translated. Researchers and engineers explore these decisions to bring the best performance possible. However, a real DT engine is a very sophisticated piece of software, and modifying one is a hard and demanding task. Hence, we propose using simulation to evaluate the impact of design decisions on dynamic translators and present RAIn, an open-source DT simulator that facilitates the test of DT's design decisions, such as Region Formation Techniques (RFTs). RAIn outputs several statistics that support the analysis of how design decisions may affect the behavior and the performance of a real DT. We validated RAIn running a set of experiments with six well known RFTs (NET, MRET2, LEI, NETPlus, NET-R, and NETPlus-e-r) and showed that it can reproduce well-known results from the literature without the effort of implementing them on a real and complex dynamic translator engine.