LnQ: Building high performance dynamic binary translators with existing compiler backends

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

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

13 Scopus citations

Abstract

This paper presents an LLVM+QEMU (LnQ) framework for building high performance and retargetable binary translators with existing compiler modules. Dynamic binary translation is a just-in-time (JIT) compilation from binary code of guest ISA to binary code of host ISA. The quality of translated code is critical to the performance of a dynamic binary translator, which translates code between different ISAs, so the translated code is often carefully hand-optimized. As a result, it takes tremendous implementation efforts for software engineers to port an existing dynamic binary translator to a new host ISA. The goal of LnQ framework is to enable the process of building high performance and retargetable dynamic binary translators with existing optimizers and code generation backends. LnQ framework consists of a translation module and an emulation engine. We deisgn the translation module based on LLVM compiler infrastructure, and use QEMU as our emulation engine.We implement an x86-to-x86-64 dynamic binary translator with our LnQ framework to show that the framework is retargetable, and conduct experiments on SPEC CPU2006 benchmarks to show that the resulting binary translator has good perfromance. The experiment results indicate that the x86-to-x86-64 LnQ translator achieves an average speedup of 1.62X in integer benchmarks, and 3.02X in floating point benchmarks than QEMU.

Original languageEnglish (US)
Title of host publicationProceedings - 2011 International Conference on Parallel Processing, ICPP 2011
Pages226-234
Number of pages9
DOIs
StatePublished - 2011
Externally publishedYes
Event40th International Conference on Parallel Processing, ICPP 2011 - Taipei City, Taiwan, Province of China
Duration: Sep 13 2011Sep 16 2011

Publication series

NameProceedings of the International Conference on Parallel Processing
ISSN (Print)0190-3918

Other

Other40th International Conference on Parallel Processing, ICPP 2011
Country/TerritoryTaiwan, Province of China
CityTaipei City
Period9/13/119/16/11

Keywords

  • Dynamic binary translation
  • LLVM
  • Optimization
  • QEMU

Fingerprint

Dive into the research topics of 'LnQ: Building high performance dynamic binary translators with existing compiler backends'. Together they form a unique fingerprint.

Cite this