Efficient and retargetable dynamic binary translation on multicores

Ding Yong Hong, Jan Jan Wu, Pen Chung Yew, Wei Chung Hsu, Chun Chen Hsu, Pangfeng Liu, Chien Min Wang, Yeh Ching Chung

Research output: Contribution to journalArticlepeer-review

9 Scopus citations

Abstract

Dynamic binary translation (DBT) is a core technology to many important applications such as system virtualization, dynamic binary instrumentation, and security. However, there are several factors that often impede its performance: 1) emulation overhead before translation; 2) translation and optimization overhead; and 3) translated code quality. The issues also include its retargetability that supports guest applications from different instruction-set architectures (ISAs) to host machines also with different ISAs-an important feature to system virtualization. In this work, we take advantage of the ubiquitous multicore platforms, and use a multithreaded approach to implement DBT. By running the translator and the dynamic binary optimizer on different cores with different threads, it could off-load the overhead incurred by DBT on the target applications; thus, afford DBT of more sophisticated optimization techniques as well as its retargetability. Using QEMU (a popular retargetable DBT for system virtualization) and Low-Level Virtual Machine (LLVM) as our building blocks, we demonstrated in a multithreaded DBT prototype, called Hybrid-QEMU (HQEMU), that it could improve QEMU performance by a factor of (2.6 ×) and (4.1 ×) on the SPEC CPU2006 integer and floating point benchmarks, respectively, for dynamic translation of x86 code to run on x86-64 platforms. For ARM codes to x86-64 platforms, HQEMU can gain a factor of (2.5 ×) speedup over QEMU for the SPEC CPU2006 integer benchmarks. We also address the performance scalability issue of multithreaded applications across ISAs. We identify two major impediments to performance scalability in QEMU: 1) coarse-grained locks used to protect shared data structures, and 2) inefficient emulation of atomic instructions across ISAs. We proposed two techniques to mitigate those problems: 1) using indirect branch translation caching (IBTC) to avoid frequent accesses to locks, and 2) using lightweight memory transactions to emulate atomic instructions across ISAs. Our experimental results show that for multithread applications, HQEMU achieves (25 ×) speedups over QEMU for the PARSEC benchmarks.

Original languageEnglish (US)
Article number6471968
Pages (from-to)622-632
Number of pages11
JournalIEEE Transactions on Parallel and Distributed Systems
Volume25
Issue number3
DOIs
StatePublished - Mar 2014

Keywords

  • Dynamic binary translation
  • feedback-directed optimization
  • hardware performance monitoring
  • multicores
  • traces

Fingerprint

Dive into the research topics of 'Efficient and retargetable dynamic binary translation on multicores'. Together they form a unique fingerprint.

Cite this