TY - GEN
T1 - HQEMU
T2 - 10th International Symposium on Code Generation and Optimization, CGO 2012
AU - Hong, Ding Yong
AU - Hsu, Chun Chen
AU - Yew, Pen Chung
AU - Wu, Jan Jan
AU - Hsu, Wei Chung
AU - Liu, Pangfeng
AU - Wang, Chien Min
AU - Chung, Yeh Ching
PY - 2012
Y1 - 2012
N2 - 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.
AB - 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.
KW - Dynamic binary translation
KW - Feedback-directed optimization
KW - Hardware performance monitoring
KW - LLVM
KW - Multi-threaded
KW - Multicores
KW - Traces
UR - http://www.scopus.com/inward/record.url?scp=84863482967&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=84863482967&partnerID=8YFLogxK
U2 - 10.1145/2259016.2259030
DO - 10.1145/2259016.2259030
M3 - Conference contribution
AN - SCOPUS:84863482967
SN - 9781605586359
T3 - Proceedings - International Symposium on Code Generation and Optimization, CGO 2012
SP - 104
EP - 113
BT - Proceedings - International Symposium on Code Generation and Optimization, CGO 2012
Y2 - 31 March 2012 through 4 April 2012
ER -