Low Overhead Dynamic Binary Translation on ARM
The ARMv8 architecture introduced AArch64, a 64-bit execution mode with a new instruction set, while retaining binary compatibility with previous versions of the ARM architecture through AArch32, a 32-bit execution mode. Most hardware implementations of ARMv8 processors support both AArch32 and AArch64, which comes at a cost in hardware complexity.
We present MAMBO-X64, a dynamic binary translator which executes 32-bit ARM binaries using only the AArch64 instruction set. We have evaluated the performance of MAMBO-X64 on three existing ARMv8 processors which support both AArch32 and AArch64 instruction sets. The performance was measured with SPEC CPU2006 and PARSEC by comparing the runtime of 32-bit benchmarks running under MAMBO-X64 with the same benchmark running natively. On both sequential and multi-threaded benchmarks, we achieve a geometric mean overhead of less than 7.5% on Cortex-A53 processors and a performance improvement of 1% on X-Gene processors.
MAMBO-X64 achieves such low overhead by novel optimizations to map AArch32 floating-point registers to AArch64 registers dynamically, generate traces that harness hardware return address prediction, and efficiently handle operating system signals.
Mon 19 JunDisplayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change
16:10 - 17:50 | Dynamic Analysis and TestingPLDI Research Papers at Actes, Civil Engineering Chair(s): Michael Pradel TU Darmstadt | ||
16:10 25mTalk | Achieving High Coverage for Floating-point Code via Unconstrained Programming PLDI Research Papers Media Attached | ||
16:35 25mTalk | Instruction Punning: Lightweight Instrumentation for x86-64 PLDI Research Papers Buddhika Chamith Indiana University, Luke Dalessandro Indiana University, Bo Joel Svensson Chalmers University of Technology, Sweden, Ryan R. Newton Indiana University Media Attached | ||
17:00 25mTalk | Low Overhead Dynamic Binary Translation on ARM PLDI Research Papers Amanieu d'Antras University of Manchester, Cosmin Gorgovan University of Manchester, Jim Garside University of Manchester, Mikel Luján Media Attached | ||
17:25 25mTalk | Skeletal Program Enumeration for Rigorous Compiler Testing PLDI Research Papers Qirun Zhang University of California, Davis, Chengnian Sun University of California, Davis, Zhendong Su University of California, Davis Media Attached |