Employing Simulation to Facilitate the Design of Dynamic Code Generators
Vanderson Martins do Rosario, Raphael Zinsly, Sandro Rigo, Edson Borin

TL;DR
This paper introduces RAIn, an open-source simulation tool that helps evaluate and compare different design decisions in dynamic code generators, specifically for dynamic translation, without the complexity of modifying real engines.
Contribution
The paper presents RAIn, a novel simulation framework for dynamic translation, enabling easier testing of design decisions and reproducing known results efficiently.
Findings
RAIn accurately reproduces results from existing literature.
Simulation reduces complexity in evaluating dynamic translation design choices.
RAIn supports analysis of various Region Formation Techniques.
Abstract
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…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsParallel Computing and Optimization Techniques · Advanced Data Storage Technologies · Distributed and Parallel Computing Systems
