DocumentCode :
74430
Title :
Efficient and Retargetable Dynamic Binary Translation on Multicores
Author :
Ding-Yong Hong ; Jan-Jan Wu ; Pen-Chung Yew ; Wei-Chung Hsu ; Chun-Chen Hsu ; Pangfeng Liu ; Chien-Min Wang ; Yeh-Ching Chung
Author_Institution :
Dept. of Comput. Sci., Nat. Tsing Hua Univ., Hsinchu, Taiwan
Volume :
25
Issue :
3
fYear :
2014
fDate :
Mar-14
Firstpage :
622
Lastpage :
632
Abstract :
Dynamic binary translation (DBT) is a core technologyto 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 retargetabilitythat 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.6x and 4.1x 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.5x 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 instru- tions across ISAs. Our experimental results show that for multithread applications, HQEMU achieves 25X speedups over QEMU for the PARSEC benchmarks.
Keywords :
multi-threading; multiprocessing systems; optimisation; IBTC; LLVM; QEMU; coarse-grained locks; dynamic binary optimizer; dynamic binary translation; emulation overhead; indirect branch translation caching; instruction-set architectures; lightweight memory transactions; low-level virtual machine; multithreaded DBT prototype; multithreaded approach; optimization overhead; shared data structures; system virtualization; translated code quality; translation overhead; ubiquitous multicore platforms; Benchmark testing; Emulation; Instruction sets; Merging; Multicore processing; Optimization; Scalability; Dynamic binary translation; feedback-directed optimization; hardware performance monitoring; multicores; traces;
fLanguage :
English
Journal_Title :
Parallel and Distributed Systems, IEEE Transactions on
Publisher :
ieee
ISSN :
1045-9219
Type :
jour
DOI :
10.1109/TPDS.2013.56
Filename :
6471968
Link To Document :
بازگشت