HQEMU: A multi-threaded and retargetable dynamic binary translator on multicores

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

Research output: Chapter in Book/Report/Conference proceedingConference contribution

78 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. On the dynamic binary translator itself, the issues also include its retargetability to support guest applications from different instruction-set architectures (ISAs) to host machines also with different ISAs, an important feature for system virtualization. In this work, we take advantage of the ubiquitous multicore platforms, using multithreaded approach to implement DBT. By running the translators and the dynamic binary optimizers on different threads on different cores, it could off-load the overhead caused by DBT on the target applications; thus, afford DBT of more sophisticated optimization techniques as well as the support of its retargetability. Using QEMU (a popular retargetable DBT for system virtualization) and LLVM (Low Level Virtual Ma- chine) as our building blocks, we demonstrated in a multi- threaded DBT prototype, called HQEMU, that it could improve QEMU performance by a factor of 2.4X and 4X on the SPEC 2006 integer and floating point benchmarks for x86 to x86-64 emulations, respectively, i.e. it is only 2.5X and 2.1X slower than native execution of the same benchmarks on x86-64, as opposed to 6X and 8.4X slowdown on QEMU. For ARM to x86-64 emulation, HQEMU could gain a factor of 2.4X speedup over QEMU for the SPEC 2006 integer benchmarks.

Original languageEnglish (US)
Title of host publicationProceedings - International Symposium on Code Generation and Optimization, CGO 2012
Pages104-113
Number of pages10
DOIs
StatePublished - Jul 9 2012
Event10th International Symposium on Code Generation and Optimization, CGO 2012 - San Jose, CA, United States
Duration: Mar 31 2012Apr 4 2012

Publication series

NameProceedings - International Symposium on Code Generation and Optimization, CGO 2012

Other

Other10th International Symposium on Code Generation and Optimization, CGO 2012
Country/TerritoryUnited States
CitySan Jose, CA
Period3/31/124/4/12

Keywords

  • Dynamic binary translation
  • Feedback-directed optimization
  • Hardware performance monitoring
  • LLVM
  • Multi-threaded
  • Multicores
  • Traces

Fingerprint

Dive into the research topics of 'HQEMU: A multi-threaded and retargetable dynamic binary translator on multicores'. Together they form a unique fingerprint.

Cite this