HyperMAMBO-X64: Using Virtualization to Support High-Performance Transparent Binary Translation
Current computer architectures - ARM, MIPS, PowerPC, SPARC, x86 - have evolved from a 32-bit architecture to a 64-bit one. Computer architects often consider whether it could be possible to eliminate hardware support for a subset of the instruction set as to reduce hardware complexity, which could improve performance, reduce power usage and accelerate processor development. This paper considers the scenario where we want to eliminate 32-bit hardware support from the ARMv8 architecture.
Dynamic binary translation can be used for this purpose and generally comes in one of two forms: application-level translators that translate a single user mode process on top of a native operating system, and system-level translators that translate an entire operating system and all its processes.
Application-level translators can have good performance but is not totally transparent; system-level translators may be 100% compatible but performance suffers. HyperMAMBO uses a new approach that gets the best of both worlds, being able to run the translator as an application under the hypervisor but still react to the behavior of guest operating systems. It works with complete transparency with regards to the virtualized system whilst delivering performance close to that provided by hardware execution.
A key factor in the low overhead of HyperMAMBO is its deep integration with the virtualization and memory management features of ARMv8. These are exploited to support caching of translations across multiple address spaces while ensuring that translated code remains consistent with the source instructions it is based on. We show how these attributes are achieved without sacrificing either performance or accuracy.
Presentation Slides (Antras_final_presentation.pdf) | 742KiB |
Sun 9 AprDisplayed time zone: Azores change
10:45 - 12:15 | |||
10:45 30mTalk | Content Look-Aside Buffer for Redundancy-Free Virtual Disk I/O and Caching Session 6 Chun Yang Peking University, China, Xianhua Liu Peking University, China, Xu Cheng Peking University, China | ||
11:15 30mTalk | HyperMAMBO-X64: Using Virtualization to Support High-Performance Transparent Binary Translation Session 6 Amanieu d'Antras University of Manchester, Cosmin Gorgovan University of Manchester, Jim Garside University of Manchester, John Goodacre University of Manchester, Mikel Luján File Attached | ||
11:45 30mTalk | HA-VMSI: A Lightweight Virtual Machine Isolation Approach with Commodity Hardware for ARM Session 6 |