CrossMapping: Harmonizing Memory Consistency in Cross-ISA Binary Translation
Chen Gao, Xiangwei Meng, Wei Li, Jinhui Lai, Yiran Zhang, Fengyuan Ren
Abstract
The increasing prevalence of new Instruction Set Architectures (ISAs) necessitates the migration of closed-source binary programs across ISAs. Dynamic Binary Translation (DBT) stands out as a crucial technology for the cross-ISA emulation of binary programs. However, due to the mismatch in memory consistency between guest ISA and host ISA, DBT systems face substantial challenges in guaranteeing correctness and translation performance for concurrent programs. Despite several attempts to bridge the memory inconsistency between guest and host ISA, prior work is either not universal for cross-ISA DBT systems or inefficient and even error-prone in translation.
This work presents CrossMapping, a general primitive mapping framework to enhance existing DBT systems for cross-ISA translation. By harmonizing memory consistency across diverse ISAs, CrossMapping enables smooth cross-ISA translation and accomplishes correct emulation. CrossMapping introduces specification tables to describe memory models in a unified and precise format, which facilitates the derivation of concurrent primitive mapping schemes based on a convenient comparison and analysis of memory models. The correctness of cross-ISA emulation is guaranteed by harmoniously integrating the derived mapping schemes with existing DBT systems. We evaluate CrossMapping for x86, ARMv8, and RISC-V on top of QEMU using the PARSEC benchmark suite. The results show that the average performance improvement can reach 8.5% when emulating x86 on ARMv8 and 7.3% when emulating x86 on RISC-V.
Ask about this paper
Your agent reads all of it.
Lune indexed this paper to the last equation, along with the top-tier papers that cite it. Ask a question and the answer quotes them.
Your agent calls
Luneget_paper_fulltext
Free to start. No credit card required.
Terminal
Install the CLIlune papers fulltext 83136500-5c64-4cad-b1e5-e8301f96e87fCited by top-tier papers1
Ask how each one uses itBuilds on4
- VSync: push-button verification and optimization for synchronization primitives on weak memory modelsJonas Oberhauser, Rafael Lourenco de Lima Chehab, Diogo Behrens, Ming Fu et al.ASPLOS 2021 · 40 citations
- Lasagne: a static binary translator for weak memory model architecturesRodrigo C. O. Rocha, Dennis Sprokholt, Martin Fink, Redha Gouicem et al.PLDI 2022 · 21 citations
- No barrier in the road: a comprehensive study and optimization of ARM barriersNian Liu, Binyu Zang, Haibo ChenPPoPP 2020 · 10 citations
- Risotto: A Dynamic Binary Translator for Weak Memory Model ArchitecturesRedha Gouicem, Dennis Sprokholt, Jasper Ruehl, Rodrigo C. O. Rocha et al.ASPLOS 2023 · 7 citations
Related papers
- Direct Memory Translation for Virtualized CloudsJiyuan Zhang, Weiwei Jia, Siyuan Chai, Peizhe Liu et al.ASPLOS 2024 · 5 citations
- FADATest: Fast and Adaptive Performance Regression Testing of Dynamic Binary Translation SystemsJin Wu, Jian Dong, Ruili Fang, Wen Zhang et al.ICSE 2022 · 3 citations
- Translation Pass-Through for Near-Native Paging Performance in VMsShai Bergman, Mark Silberstein, Takahiro Shinagawa, Peter R. Pietzuch et al.USENIX ATC 2023 · 10 citations
- More with Less - Deriving More Translation Rules with Less Training Data for DBTs Using ParameterizationJinhu Jiang, Rongchao Dong, Zhongjun Zhou, Changheng Song et al.MICRO 2020 · 10 citations
- Flick: Fast and Lightweight ISA-Crossing Call for Heterogeneous-ISA EnvironmentsShenghsun Cho, Han Chen, Sergey Madaminov, Michael Ferdman et al.ISCA 2020 · 11 citations
