首页> 外文期刊>Software >Flow-sensitive runtime estimation: an enhanced hot spot detection heuristics for embedded Java just-in-time compilers
【24h】

Flow-sensitive runtime estimation: an enhanced hot spot detection heuristics for embedded Java just-in-time compilers

机译:流敏感的运行时估计:嵌入式Java实时编译器的增强的热点检测启发式

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

摘要

Java just-in-time compilers often compile only hot methods because the compilation overhead is a part of the running time. This requires precise and efficient hot spot detection, which includes distinguishing hot methods from cold ones, detecting them as early as possible, and paying a small detection overhead. Hot spot detection is especially important in embedded applications because they show more of a start-up phase behavior of a regular application where methods are not executed heavily, so the hot methods are not definite. Because a long-running method is likely to be a hot method, we can detect a hot method by measuring its running time during interpretation. However, precise measurement of the running time during execution is too expensive, especially in embedded systems, so many counter-based heuristics have been proposed to estimate it such as Oracle's HotSpot heuristic. One problem is that although the overhead of these heuristics is low, they do not estimate the running time precisely, which may lead to imprecise hot spot detection.This paper proposes a new hot spot detection heuristic called flow-sensitive runtime estimation, which can estimate the running time more precisely than others with a relatively low overhead. It only counts important bytecode instructions dynamically, but it can obtain the precise count of all interpreted bytecode instructions with a simple arithmetic calculation. We also propose a static analysis technique to predict those hot methods which spends a huge execution time once invoked, so as to compile them at their first invocation. Our experimental results show that these techniques can improve the performance by as much as an average of 7.4% compared with the HotSpot heuristic for the benchmarks when they run once, which is often regarded as showing the start-up phase behavior. Even for real embedded Java applications such as the digital TV Java Xlet applications, our techniques can improve the user response time by an average of 7.1%. Copyright (c) 2015 John Wiley & Sons, Ltd.
机译:Java即时编译器通常仅编译热方法,因为编译开销是运行时间的一部分。这需要精确而有效的热点检测,其中包括将热方法与冷方法区分开,尽早检测到它们,并付出少量的检测开销。热点检测在嵌入式应用程序中尤其重要,因为它们显示出常规应用程序的更多启动阶段行为,在常规应用程序中,方法执行不多,因此,不确定热点方法。因为长时间运行的方法很可能是热门方法,所以我们可以通过在解释过程中测量其运行时间来检测热门方法。但是,在执行过程中精确测量运行时间太昂贵了,尤其是在嵌入式系统中,因此已经提出了许多基于计数器的启发式算法来进行估算,例如Oracle的HotSpot启发式算法。一个问题是,尽管这些启发式算法的开销很低,但它们无法精确估计运行时间,这可能会导致不精确的热点检测。本文提出了一种新的热点检测启发式算法,称为流敏感运行时间估计,它可以估计运行时间比其他开销相对较低的时间更为精确。它仅动态地对重要的字节码指令进行计数,但是它可以通过简单的算术计算获得所有已解释字节码指令的精确计数。我们还提出了一种静态分析技术来预测那些热门方法,这些热门方法一旦被调用就会花费大量执行时间,以便在首次调用时对其进行编译。我们的实验结果表明,与基准测试一次运行的HotSpot启发式方法相比,这些技术可以将性能平均提高7.4%,而后者通常被视为显示了启动阶段的行为。即使对于真正的嵌入式Java应用程序,例如数字电视Java Xlet应用程序,我们的技术也可以将用户响应时间平均缩短7.1%。版权所有(c)2015 John Wiley&Sons,Ltd.

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号