首页> 外文会议>Proceedings of the 2011 ACM conference on programming language design and implementation. >Generalized Just-In-Time Trace Compilation using a Parallel Task Farm in a Dynamic Binary Translator
【24h】

Generalized Just-In-Time Trace Compilation using a Parallel Task Farm in a Dynamic Binary Translator

机译:使用动态二进制转换器中的并行任务场的广义即时跟踪编译

获取原文
获取原文并翻译 | 示例

摘要

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 called traces. 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 present two innovative contributions. The first contribution is a generalized trace 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 J it 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 (or asynchronous) Jit compilation.
机译:动态二进制转换(Dbt)是跨平台虚拟化背后的关键技术,它允许为一种指令集体系结构(Isa)编译的软件可以在支持不同Isa的处理器上执行。在后台,Dbt通常使用经常执行的程序区域(也称为跟踪)的即时(Jit)编译来实现。主要挑战是将频繁执行的程序区域尽快转换为高效的本机代码。随着Jit编译时间增加了整体执行时间,Jit编译器通常会脱钩,并在独立于主仿真循环的单独线程中运行,以减少Jit编译的开销。在本文中,我们提出了两个创新性的贡献。第一个贡献是一种通用的跟踪编译方法,该方法考虑了Jit编译程序中所有经常执行的路径,而以前的方法则将跟踪编译限制为通过循环的路径。第二个贡献是通过在并发任务场中编译多个热跟踪来降低J编译成本。我们将广义的轻量级跟踪,大型翻译单元,并行Jit编译和动态工作计划结合在一起,以确保及时有效地处理热点。我们已经针对三个基准套件(EEMBC,BioPerf和Spec CPU2006)评估了我们实现ARCompact Isa的行业实力,基于Llvm的并行Dbt,并证明了在标准四核Intel Xeon机器上的速度提高了2.08。在短期和长期运行的基准测试中,我们的方案都是可靠的,绝不会导致速度下降。实际上,与最新的解耦,并行(或异步)Jit编译相比,使用四个处理器的总执行时间平均可减少11.5%。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号