Risotto: A Dynamic Binary Translator for Weak Memory Model Architectures

8Citations
Citations of this article
13Readers
Mendeley users who have this article in their library.
Get full text

Abstract

Dynamic Binary Translation (DBT) is a powerful approach to support cross-architecture emulation of unmodified binaries. However, DBT systems face correctness and performance challenges, when emulating concurrent binaries from strong to weak memory consistency architectures. As a matter of fact, we report several translation errors in QEMU, when emulating x86 binaries on Arm hosts. To address these challenges, we propose an end-to-end approach that provides correct and efficient emulation for weak memory model architectures. Our contributions are twofold: we formalize QEMU's intermediate representation's memory model, and use it to propose formally verified mapping schemes to bridge the strong-on-weak memory consistency mismatch. Secondly, we implement these verified mappings in Risotto, a QEMU-based DBT system that optimizes memory fence placement while ensuring correctness. Risotto further enhances the emulation performance via cross-architecture dynamic linking of native shared libraries, and fast and correct translation of compare-and-swap operations. We evaluate Risotto using multi-threaded benchmark suites and real-world applications, and show that Risotto improves the emulation performance by 6.7% on average over "erroneous"QEMU, while ensuring correctness.

Cite

CITATION STYLE

APA

Gouicem, R., Sprokholt, D., Ruehl, J., Rocha, R. C. O., Spink, T., Chakraborty, S., & Bhatotia, P. (2023). Risotto: A Dynamic Binary Translator for Weak Memory Model Architectures. In International Conference on Architectural Support for Programming Languages and Operating Systems - ASPLOS (Vol. 1, pp. 107–122). Association for Computing Machinery. https://doi.org/10.1145/3567955.3567962

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free