Generalized just-in-time trace compilation using a parallel task farm in a dynamic binary translator

Generalized just-in-time trace compilation using a parallel task farm in a dynamic binary translator
复制标题

在动态二进制翻译器中使用并行任务场的广义即时跟踪编译

DOI:
10.1145/1993498.1993508
复制
发表时间:
2011
期刊:
--
影响因子:
--
通讯作者:
Böhm I
Böhm I
中科院分区:
--
文献类型:
--
作者:
Böhm I

文献摘要

参考文献

被引文献

相似文献

动态二进制翻译(DBT)是跨平台虚拟化背后的关键技术,允许为一个指令集架构(伊萨)编译的软件在支持不同伊萨的处理器上执行。在幕后,DBT通常使用频繁执行的程序区域(也称为跟踪)的即时(JIT)编译来实现。主要的挑战是将频繁执行的程序区域尽可能快地翻译成高效的本机代码。由于JIT编译的时间增加了总执行时间,因此JIT编译器通常是解耦的,并且在独立于主模拟循环的单独线程中操作,以减少JIT编译的开销。在本文中,我们提出了两个创新的贡献。第一个贡献是ageneralizedtrace编译的方法,认为所有经常执行的路径在一个程序中的JIT编译,而不是以前的方法,跟踪编译仅限于通过循环的路径。第二个贡献通过在并发任务场中编译多个热跟踪来降低JIT编译成本。综合运用联合收割机、广义轻量跟踪、大翻译单元、并行JIT编译和动态工作调度等技术,保证了热跟踪的及时高效处理。我们已经针对三个基准套件(EEMBC、BioPerf和SPEC CPU2006)评估了我们的行业实力,基于LLVM的并行DBT实现了ARCompact伊萨,并在标准四核Intel Xeon机器上演示了高达2.08的加速比。在短期和长期运行的基准测试中,我们的方案是稳健的,从未导致放缓。事实上,使用四个处理器的总执行时间可以比最先进的解耦、并行(或异步)JIT编译平均减少11.5%。
Dynamic Binary Translation (DBT) is the key technology behind cross-platform virtualization and allows software compiled for one Instruction Set Architecture (ISA) to be executed on a processor supporting a different ISA. Under the hood, DBT is typically implemented using Just-In-Time (JIT) compilation of frequently executed program regions, also calledtraces. The main challenge is translating frequently executed program regions as fast as possible into highly efficient native code. As time for JIT compilation adds to the overall execution time, the JIT compiler is often decoupled and operates in a separate thread independent from the main simulation loop to reduce the overhead of JIT compilation. In this paper we presenttwoinnovative contributions. The first contribution is ageneralizedtrace compilation approach that considers all frequently executed paths in a program for JIT compilation, as opposed to previous approaches where trace compilation is restricted to paths through loops. The second contribution reduces JIT compilation cost by compiling several hot traces in a concurrent task farm. Altogether we combine generalized light-weight tracing, large translation units, parallel JIT compilation and dynamic work scheduling to ensure timely and efficient processing of hot traces. We have evaluated our industry-strength, LLVM-based parallel DBT implementing the ARCompact ISA against three benchmark suites (EEMBC, BioPerf and SPEC CPU2006) and demonstrate speedups of up to 2.08 on a standard quad-core Intel Xeon machine. Across short- and long-running benchmarks our scheme is robust and never results in a slowdown. In fact, using four processors total execution time can be reduced by on average 11.5% over state-of-the-art decoupled, parallel (orasynchronous) JIT compilation.
使编译“管道”显式化:使用跟踪树序列化进行动态编译
DOI: --
发表时间: 2007
期刊:
影响因子: --
作者:
A. Gal;Michael Bebenita;Mason Chang;M. Franz
通讯作者: M. Franz
动态语言基于跟踪的即时类型专业化
DOI: 10.1145/1542476.1542528
发表时间: 2009
影响因子: 19
作者:
A. Gal;Brendan Eich;Mike Shaver;David Anderson;David Mandelin;M. Haghighat;Blake Kaplan;Graydon Hoare;B. Zbarsky;Jason Orendorff;J. Ruderman;Edwin W. Smith;Rick Reitmaier;Michael Bebenita;Mason Chang;M. Franz
通讯作者: M. Franz
HotpathVM:适用于资源受限设备的有效 JIT 编译器
DOI: 10.1145/1134760.1134780
发表时间: 2006
期刊: ArXiv
影响因子: --
作者:
A. Gal;Christian W. Probst;M. Franz
通讯作者: M. Franz
在没有解释器的执行环境中基于跟踪的编译
DOI: --
发表时间: 2010
期刊: Principles and Practice of Programming in Java
影响因子: --
作者:
Michael Bebenita;Mason Chang;Gregor Wagner;A. Gal;Christian Wimmer;M. Franz
通讯作者: M. Franz
CIL字节码的并行动态编译器
DOI: --
发表时间: 2008
期刊: SIGP
影响因子: --
作者:
Simone Campanoni;G. Agosta;S. Crespi
通讯作者: S. Crespi